Exemplo n.º 1
0
class BaseMenuTable(tables.Table):
    check_all = columns.TemplateColumn("""
        {% load reverse_tags %}
        <input class="menu-item" data-id="{{ record|mongo_id }}" type="checkbox" />
        """,
                                       orderable=False,
                                       verbose_name="")
    value = columns.Column(verbose_name=_("Value"))
    event_code = columns.Column(verbose_name=_("Project"))
    menu_type = columns.Column(verbose_name=_("ListType"))
    menu_status = columns.Column(verbose_name=_("Status"))
    menu_desc = TruncateColumn(verbose_name=_("Note"))
    end_time = columns.DateTimeColumn(format="Y-m-d H:i:s",
                                      verbose_name=_("EndTime"))
    create_time = columns.DateTimeColumn(format="Y-m-d H:i:s",
                                         verbose_name=_("UpdateTime"))
    creator = columns.Column(verbose_name=_("Operator"))

    def __init__(self, *args, **kwargs):
        super(BaseMenuTable, self).__init__(*args, **kwargs)
        self.deletable = True

    @staticmethod
    def render_menu_type(value):
        return MENU_TYPE_NAME_MAP.get(value, value)

    @staticmethod
    def render_event_code(value):
        db = get_mongo_client()
        res = db.menu_event.find_one({'event_code': value})
        if not res:
            return value
        return res.get('event_name', value)
Exemplo n.º 2
0
class BaseMenuTable(tables.Table):
    check_all = columns.TemplateColumn("""
        {% load reverse_tags %}
        <input class="menu-item" data-id="{{ record|mongo_id }}" type="checkbox" \>
        """,
                                       orderable=False,
                                       verbose_name="")
    value = columns.Column(verbose_name=_(u"值"))
    event_code = columns.Column(verbose_name=_(u"项目"))
    menu_type = columns.Column(verbose_name=_(u"名单类型"))
    menu_status = columns.Column(verbose_name=_(u"状态"))
    menu_desc = TruncateColumn(verbose_name=_(u"备注"))
    end_time = columns.DateTimeColumn(format="Y-m-d H:i:s",
                                      verbose_name=_(u"结束时间"))
    create_time = columns.DateTimeColumn(format="Y-m-d H:i:s",
                                         verbose_name=_(u"更新时间"))
    creator = columns.Column(verbose_name=_(u"操作人"))

    def __init__(self, *args, **kwargs):
        super(BaseMenuTable, self).__init__(*args, **kwargs)
        self.deletable = True

    def render_menu_type(self, value):
        return MENU_TYPE_NAME_MAP.get(value, value)

    def render_event_code(self, value):
        db = get_mongo_client()
        res = db.menu_event.find_one({'event_code': value})
        if not res:
            return value
        return res.get('event_name', value)
Exemplo n.º 3
0
class RulesTable(tables.Table):
    id = columns.Column(verbose_name=_(u"规则ID"), orderable=False)
    title = columns.Column(verbose_name=_(u"规则名称"), orderable=False)
    status = columns.Column(verbose_name=_(u"状态"), orderable=False)
    update_time = columns.Column(verbose_name=_(u"更新时间"), orderable=False)
    user = columns.Column(verbose_name=_(u"更新人"), orderable=False)
    action = columns.TemplateColumn("""
    <span class="action-button">
        <a class="rules-on" data-uri="{% url 'rule:change' %}" data-id="{{ record.uuid }}" data-title="{{ record.title }}" data-status="{{ record.status }}">启用</a>
    </span>
    <span class="action-button">
        <a class="rules-off" data-uri="{% url 'rule:change' %}" data-id="{{ record.uuid }}" data-title="{{ record.title }}" data-status="{{ record.status }}">停用</a>
    </span>
    <span class="action-button">
        <a class="rules-detail" data-uri="{% url 'rule:detail' %}" data-id="{{ record.uuid }}" >详情</a>
    </span>
    <span class="action-button">
        <a class="rules-edit" data-uri="{% url 'rule:edit' %}" data-id="{{ record.uuid }}" >编辑</a>
    </span>
    """,
                                    orderable=False,
                                    verbose_name=_(u"操作"))

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}

    def render_update_time(self, value):
        return datetime.fromtimestamp(int(value))

    def render_status(self, value):
        return u"启用" if value == 'on' else u"停用"
Exemplo n.º 4
0
Arquivo: tables.py Projeto: onisama/-
class UserPermissionTable(tables.Table):
    fullname = columns.Column(verbose_name=_('姓名'), orderable=False)
    pk = columns.Column(verbose_name=_('email'), orderable=False)
    is_superuser = columns.BooleanColumn(null=False,
                                         verbose_name=_('超级管理员'),
                                         orderable=False)
    entity_id = columns.Column(verbose_name=_('初次登录时间'))
    remark = columns.Column(verbose_name=_('备注'), orderable=False)

    @classmethod
    def render_fullname(cls, record):
        url = reverse('permissions:user_update')
        html = '<a href="{}?entity_id={}">{}</a>'.format(url, record.get(
            'entity_id', ''), record.get('fullname', record['pk']))
        return format_html(html)

    @classmethod
    def render_entity_id(cls, value):
        create_time = ObjectId(value).generation_time
        # utc to local time
        create_time += datetime.timedelta(hours=8)
        return create_time.strftime('%Y-%m-%d %H:%M:%S')

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}
Exemplo n.º 5
0
class ConfigSourceTable(tables.Table):
    name_key = columns.Column(verbose_name=_(u"配置名称key"), orderable=False)
    name_show = columns.Column(verbose_name=_(u"配置名称"), orderable=False)
    content = columns.Column(verbose_name=_(u"配置内容"), orderable=False)
    action = columns.TemplateColumn("""
        {% load reverse_tags %}
        <a class="source-destroy" data-uri="{% url 'config:source_destroy' %}"
           data-name_key="{{ record.name_key }}">删除
        </a>
        """,
                                    orderable=False,
                                    verbose_name=_(u"操作"))

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}
Exemplo n.º 6
0
class AbstractJobTable(tables.Table):
    next_time = columns.Column(
        orderable=False, verbose_name=_("Next run"))


    def render_next_time(self, value, record):
        return utils.get_next_time(record)
Exemplo n.º 7
0
class SelectFileTable(FileTable):
    selection = columns.Column(verbose_name="Selection", empty_values=())

    def render_selection(self, value, record):
        return format_html(
            '<input type="radio" name="entry_path" value="{0}" required id="id_entry_path">',
            record['file_table_file'])
Exemplo n.º 8
0
class ScheduleTable(tables.Table):
    course_name = columns.Column(verbose_name="Course")
    actions = columns.TemplateColumn(template_name="schedules/buttons.html", orderable=False)
    class Meta:
        model = Schedule
        template_name = 'django_tables2/bootstrap.html'
        fields = ('id', 'course_name', 'location', 'start_date', 'end_date', 'time', 'hours', 'instructor', 'actions')
Exemplo n.º 9
0
class EventTable(tables.Table):
    event_name = columns.Column(verbose_name=_(u"项目名称"))
    action = columns.TemplateColumn("""
    <a class="event-destroy" data-uri="{% url 'menus:event_destroy' %}" data-id="{{ record.event_code }}">删除</a>
    """, orderable=False, verbose_name=_(u"操作"))

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}
Exemplo n.º 10
0
class HitLogDetailTable(tables.Table):
    time = columns.Column(verbose_name=_(u'触碰时间'))
    rule_id = columns.Column(verbose_name=_(u'规则名称'), orderable=False)
    group_name = columns.Column(verbose_name=_(u'策略原子组名称'), orderable=False)
    user_id = columns.Column(verbose_name=_(u'用户ID'), orderable=False)
    control = columns.Column(verbose_name=_(u'管控原子'), orderable=False)
    req_body = columns.Column(verbose_name=_(u'请求体'), orderable=False)
    hit_number = columns.Column(verbose_name=_(u'是否首次命中'), orderable=False)

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}

    def before_render(self, request):
        self.rules = Rules(load_all=True)

    def render_time(self, value):
        return value.strftime('%Y-%m-%d %H:%M:%S')

    def render_rule_id(self, value):
        return self.rules.get_rule_name(str(value))

    def render_control(self, value):
        return CONTROL_MAP.get(value, value)

    def render_hit_number(self, value):
        return u'-' if value == 0 else u'是' if value == 1 else u'否'

    def render_passed_users(self, value):
        return u'-' if value == 0 else value
Exemplo n.º 11
0
class DockerImagesTable(dt.Table):
    id = columns.Column()
    tags = dt.Column()
    comment = dt.Column()

    def render_id(self, value):
        return format_html(
            '<input type="radio" name="environment_image" value="{0}" required id="id_environment_image_0">',
            value)
Exemplo n.º 12
0
Arquivo: tables.py Projeto: onisama/-
class UriGroupPermissionTable(tables.Table):
    desc = columns.Column(verbose_name=_('uri组名称'))
    pk = columns.Column(verbose_name=_('唯一标识'))
    uris = columns.Column(verbose_name=_('uri列表'))
    entity_id = columns.Column(verbose_name=_('创建时间'))
    action = columns.TemplateColumn(str('x'), orderable=False,
                                    verbose_name=_('操作'))

    @classmethod
    def render_action(cls, record):
        url = reverse('permissions:uri_group_update')
        html = (
            '''
            <a href="{1}?entity_id={0}"
               style="margin-right: 10px">变更权限
            </a>
            <a data-entity_id={0}
               class="perms-uri-group-delete">删除
            </a>
            '''
        ).format(record.get('entity_id', ''), url)
        return format_html(html)

    @classmethod
    def render_desc(cls, value, record):
        url = reverse('permissions:uri_group_update')
        html = '<a href="{}?entity_id={}">{}</a>'.format(
            url, record.get('entity_id', ''), value,
        )
        return format_html(html)

    @classmethod
    def render_uris(cls, record):
        html = (
            '<pre>{}</pre>'.format('\n'.join(record['uris']))
        )
        return format_html(html)

    @classmethod
    def render_entity_id(cls, value):
        return UserPermissionTable.render_entity_id(value)

    class Meta:
        attrs = {'class': 'table table-hover'}
Exemplo n.º 13
0
class MenuStrategyTable(tables.Table):
    strategy_name = columns.Column(verbose_name=_(u"策略名称"), orderable=False)
    strategy_desc = columns.Column(verbose_name=_(u"策略描述"), orderable=False)
    dimension = columns.Column(verbose_name=_(u"维度"), orderable=False)
    menu_op = columns.Column(verbose_name=_(u"操作码"), orderable=False)
    event = columns.Column(verbose_name=_(u"项目"), orderable=False)
    menu_type = columns.Column(verbose_name=_(u"名单类型"), orderable=False)
    action = columns.TemplateColumn("""
    <a class="strategy-destroy" data-uri="{% url 'strategy:menu_strategy_destroy' %}" data-id="{{ record.uuid }}">删除</a>
    """,
                                    orderable=False,
                                    verbose_name=_(u"操作"))

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}

    def render_menu_type(self, value):
        return TYPE_MAP_MENU.get(value, value)

    def render_menu_op(self, value):
        return OP_MAP_MENU.get(value, value)

    def render_dimension(self, value):
        return DIM_MAP_MENU.get(value, value)

    def render_event(self, value):
        db = get_mongo_client()
        res = db['menu_event'].find_one({'event_code': value}) or {}
        return res.get('event_name', value)
Exemplo n.º 14
0
class FreqStrategyTable(tables.Table):
    strategy_name = columns.Column(verbose_name=_(u"策略名称"), orderable=False)
    strategy_desc = columns.Column(verbose_name=_(u"策略描述"), orderable=False)
    strategy_source = columns.Column(verbose_name=_(u"数据源"), orderable=False)
    strategy_body = columns.Column(verbose_name=_(u"主体名称"), orderable=False)
    strategy_time = columns.Column(verbose_name=_(u"时段(单位:秒)"),
                                   orderable=False)
    strategy_limit = columns.Column(verbose_name=_(u"最大值"), orderable=False)

    action = columns.TemplateColumn("""
    <a class="strategy-destroy" data-uri="{% url 'strategy:freq_strategy_destroy' %}" data-id="{{ record.uuid }}">删除</a>
    """,
                                    orderable=False,
                                    verbose_name=_(u"操作"))

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}

    def render_strategy_source(self, value):
        client = get_redis_client()
        data = client.hget("CONFIG_SOURCE_MAP", value)
        if data:
            try:
                name = json.loads(data).get('name_show', '')
            except ValueError:
                return value
            if name:
                return u"{0}({1})".format(name, value)
        return value
Exemplo n.º 15
0
class BoolStrategyTable(tables.Table):
    strategy_name = columns.Column(verbose_name=_(u"策略名称"), orderable=False)
    strategy_desc = columns.Column(verbose_name=_(u"策略描述"), orderable=False)
    strategy_var = columns.Column(verbose_name=_(u"内置变量"), orderable=False)
    strategy_op = columns.Column(verbose_name=_(u"操作码"), orderable=False)
    strategy_func = columns.Column(verbose_name=_(u"内置函数"), orderable=False)
    strategy_threshold = columns.Column(verbose_name=_(u"阈值"), orderable=False)
    action = columns.TemplateColumn("""
    <a class="strategy-destroy" data-uri="{% url 'strategy:bool_strategy_destroy' %}" data-id="{{ record.uuid }}">删除</a>
    """,
                                    orderable=False,
                                    verbose_name=_(u"操作"))

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}

    def render_strategy_var(self, value):
        name = VAR_MAP.get(value, "")
        if name:
            return u"{0}({1})".format(name, value)
        return value

    def render_strategy_op(self, value):
        name = OP_MAP.get(value, "")
        if name:
            return u"{0}({1})".format(name, value)
        return value

    def render_strategy_func(self, value):
        name = FUNC_MAP.get(value, "")
        if name:
            return u"{0}({1})".format(name, value)
        return value
Exemplo n.º 16
0
class UserStrategyTable(tables.Table):
    strategy_name = columns.Column(verbose_name=_("PolicyName"),
                                   orderable=False)
    strategy_desc = columns.Column(verbose_name=_("PolicyDescription"),
                                   orderable=False)
    strategy_source = columns.Column(verbose_name=_("DataSources"),
                                     orderable=False)
    strategy_body = columns.Column(verbose_name=_("BodyName"), orderable=False)
    strategy_day = columns.Column(verbose_name=_("Nature Day (In Individual)"),
                                  orderable=False)
    strategy_limit = columns.Column(verbose_name=_("Maximum"), orderable=False)

    action = columns.TemplateColumn("""
        <a class="strategy-destroy" 
        data-uri="{% url 'strategy:user_strategy_destroy' %}" 
        data-id="{{ record.uuid }}">delete</a>
        """,
                                    orderable=False,
                                    verbose_name=_("Confirm"))

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}

    @staticmethod
    def render_strategy_source(value):
        client = get_redis_client()
        data = client.hget("CONFIG_SOURCE_MAP", value)
        if data:
            try:
                name = json.loads(data).get('name_show', '')
            except ValueError:
                return value
            if name:
                return "{0}({1})".format(name, value)
        return value
Exemplo n.º 17
0
class GroupPermissionTable(tables.Table):
    desc = columns.Column(verbose_name=_('Sub_Group_Name'))
    pk = columns.Column(verbose_name=_('Unique_Identification'))
    entity_id = columns.Column(verbose_name=_('Creation_Time'))
    action = columns.TemplateColumn(str('x'), orderable=False,
                                    verbose_name=_('Confirm'))

    @classmethod
    def render_action(cls, record):
        url = reverse('permissions:group_update')
        myca = _("Change Authority")
        mydel = _("delete")
        html = (
            '''
            <a href="{1}?entity_id={0}"
               style="margin-right: 10px">Change Authority
            </a>
            
            <a data-entity_id={0}
               class="perms-group-delete">delete
            </a>
            '''
        ).format(record.get('entity_id', ''), url)
        return format_html(html)

    @classmethod
    def render_desc(cls, value, record):
        url = reverse('permissions:group_update')
        html = '<a href="{}?entity_id={}">{}</a>'.format(
            url, record.get('entity_id', ''), value,
        )
        return format_html(html)

    @classmethod
    def render_entity_id(cls, value):
        return UserPermissionTable.render_entity_id(value)

    class Meta:
        attrs = {'class': 'table table-hover'}
Exemplo n.º 18
0
class UserTable(django_tables2.Table):
    """User table to showcase django tables 2."""

    export_formats = ('csv', 'json', 'latex', 'ods', 'tsv', 'xls', 'xlsx', 'yml')
    {%- raw %}
    username = columns.TemplateColumn(
        """<a href="{% url 'accounts:user-detail' username=value %}">{{value}}</a>"""
    )
    {% endraw %}
    first_name_is_long = columns.Column(
        verbose_name='First name is long',
        accessor='username',
        orderable=False,
        exclude_from_export=True
    )

    class Meta:
        model = User
        template_name = 'django_tables2/bootstrap.html'
        fields = ['username', 'email', 'first_name', 'last_name', 'first_name_is_long']

    @staticmethod
    def render_first_name_is_long(value) -> str:
        """Checks if the user's name is longer than 10 characters and returns html."""

        if len(value) > 10:
            uri = static('feather/alert-triangle.svg')
            {% raw %}
            element = f"""
                <div>
                    <img src="{uri}" alt="warning">
                </div>
            """
            {%- endraw %}
        else:
            element = ''

        return format_html(element)
Exemplo n.º 19
0
class HitLogDetailTable(tables.Table):
    time = columns.Column(verbose_name=_('Hit_time'))
    rule_id = columns.Column(verbose_name=_('RuleName'), orderable=False)
    group_name = columns.Column(verbose_name=_('PolicyGroupNameCall'),
                                orderable=False)
    user_id = columns.Column(verbose_name=_('UserID'), orderable=False)
    control = columns.Column(verbose_name=_('Projectmanagement'),
                             orderable=False)
    req_body = columns.Column(verbose_name=_('RequestBody'), orderable=False)
    hit_number = columns.Column(
        verbose_name=_('Whether to hit for the first time'), orderable=False)

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}

    def __init__(self, *args, **kwargs):
        self.rules = Rules(load_all=True)

    def before_render(self, request):
        pass

    @staticmethod
    def render_time(value):
        return value.strftime('%Y-%m-%d %H:%M:%S')

    def render_rule_id(self, value):
        return self.rules.get_rule_name(str(value))

    @staticmethod
    def render_control(value):
        return CONTROL_MAP.get(value, value)

    @staticmethod
    def render_hit_number(value):
        return '-' if value == 0 else _('is') if value == 1 else _('Whether')

    @staticmethod
    def render_passed_users(value):
        return '-' if value == 0 else value
Exemplo n.º 20
0
class BoolStrategyTable(tables.Table):
    strategy_name = columns.Column(verbose_name=_("PolicyName"),
                                   orderable=False)
    strategy_desc = columns.Column(verbose_name=_("PolicyDescription"),
                                   orderable=False)
    strategy_var = columns.Column(verbose_name=_("Built_In_Variables"),
                                  orderable=False)
    strategy_op = columns.Column(verbose_name=_("ActionCode"), orderable=False)
    strategy_func = columns.Column(verbose_name=_("Built_In_Functions"),
                                   orderable=False)
    strategy_threshold = columns.Column(verbose_name=_("Thresholds"),
                                        orderable=False)
    action = columns.TemplateColumn("""
    <a class="strategy-destroy" data-uri="{% url 'strategy:bool_strategy_destroy' %}" data-id="{{ record.uuid }}">delete</a>
    """,
                                    orderable=False,
                                    verbose_name=_("Confirm"))

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}

    @staticmethod
    def render_strategy_var(value):
        name = VAR_MAP.get(value, "")
        if name:
            return "{0}({1})".format(name, value)
        return value

    @staticmethod
    def render_strategy_op(value):
        name = OP_MAP.get(value, "")
        if name:
            return "{0}({1})".format(name, value)
        return value

    @staticmethod
    def render_strategy_func(value):
        name = FUNC_MAP.get(value, "")
        if name:
            return "{0}({1})".format(name, value)
        return value
Exemplo n.º 21
0
class MenuStrategyTable(tables.Table):
    strategy_name = columns.Column(verbose_name=_("PolicyName"),
                                   orderable=False)
    strategy_desc = columns.Column(verbose_name=_("PolicyDescription"),
                                   orderable=False)
    dimension = columns.Column(verbose_name=_("Dimensions"), orderable=False)
    menu_op = columns.Column(verbose_name=_("ActionCode"), orderable=False)
    event = columns.Column(verbose_name=_("Project"), orderable=False)
    menu_type = columns.Column(verbose_name=_("ListType"), orderable=False)
    action = columns.TemplateColumn("""
    <a class="strategy-destroy" 
       data-uri="{% url 'strategy:menu_strategy_destroy' %}" 
       data-id="{{ record.uuid }}">delete</a>
    """,
                                    orderable=False,
                                    verbose_name=_("Confirm"))

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}

    @staticmethod
    def render_menu_type(value):
        return TYPE_MAP_MENU.get(value, value)

    @staticmethod
    def render_menu_op(value):
        return OP_MAP_MENU.get(value, value)

    @staticmethod
    def render_dimension(value):
        return DIM_MAP_MENU.get(value, value)

    @staticmethod
    def render_event(value):
        db = get_mongo_client()
        res = db['menu_event'].find_one({'event_code': value}) or {}
        return res.get('event_name', value)
Exemplo n.º 22
0
class AuditLogTable(tables.Table):
    username = columns.Column(verbose_name=_(u"用户名"), orderable=False)
    email = columns.Column(verbose_name=_(u"邮箱"), orderable=False)
    role = columns.Column(verbose_name=_(u"角色"), empty_values=(),
                          orderable=False)
    path = columns.Column(verbose_name=_(u"请求地址"), orderable=False)
    operation = columns.Column(verbose_name=_(u"操作类型"), empty_values=(),
                               orderable=False)
    method = columns.Column(verbose_name=_(u"请求方式"), orderable=False)
    status = columns.Column(verbose_name=_(u"响应码"), orderable=False)
    req_body = columns.TemplateColumn("""
    <div style="max-width: 600px;">
        {% if record.req_body|length > 128 %}
            <a data-toggle="modal" data-target="#req_body_{{ record.id }}">
                查看
            </a>
            <div class="modal inmodal" id="req_body_{{ record.id }}" tabindex="-1" role="dialog"  aria-hidden="true">
                <div class="modal-dialog">
                    <div class="modal-content animated fadeIn">
                        <div class="modal-header">
                            <h2>请求参数</h2>
                        </div>
                        <div class="modal-body">
                        {{ record.req_body }}
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-white" data-dismiss="modal">关闭</button>
                        </div>
                    </div>
                </div>
            </div>
        {% else %}
            {{ record.req_body }}
        {% endif %}
    </div>
    """, orderable=False, verbose_name=_(u"请求参数"))
    time = columns.DateTimeColumn(verbose_name=_(u"请求时间"),
                                  format="Y-m-d H:i:s")

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}

    def before_render(self, request):
        pk_user_map = {}
        for d in UserPermission.objects.all_fields():
            pk = d.get('pk')
            if pk:
                pk_user_map[pk] = d
        self.pk_user_map = pk_user_map

        group_name_desc_map = {}
        for d in GroupPermission.objects.all_fields():
            name = d.get('name')
            if name:
                group_name_desc_map[name] = d.get('desc', '')
        self.group_name_desc_map = group_name_desc_map

        uri_descs_map = defaultdict(list)
        for d in UriGroupPermission.objects.all_fields():
            uris = d.get('uris', [])
            for uri in uris:
                desc = d.get('desc', '')
                uri_descs_map[uri].append(desc)

        uri_desc_map = {}
        for uri, descs in uri_descs_map.items():
            rw = None
            r = None
            for desc in descs:
                if desc.endswith(u'-读写'):
                    rw = desc
                if desc.endswith(u'-读'):
                    r = desc
            if rw and r:
                uri_desc_map[uri] = r
            elif rw and not r:
                uri_desc_map[uri] = rw.rstrip(u'-读写') + u'-写'
            else:
                uri_desc_map[uri] = descs[0]

        self.uri_desc_map = uri_desc_map

    def render_role(self, value, record):
        user = self.pk_user_map.get(record.email)
        if not user:
            return u'未知'

        if user.get('is_superuser'):
            return u'超级管理员'

        groups = user.get('groups', [])
        descs = [self.group_name_desc_map.get(name, '') for name in groups]
        return ', '.join(descs)

    def render_operation(self, value, record):
        return self.uri_desc_map.get(record.path, '')
Exemplo n.º 23
0
class UseridTable(BaseMenuTable):
    value = columns.Column(verbose_name=_(u"用户ID"))

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}
Exemplo n.º 24
0
class PayTable(BaseMenuTable):
    value = columns.Column(verbose_name=_("Payment account number"))

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}
Exemplo n.º 25
0
class PhoneTable(BaseMenuTable):
    value = columns.Column(verbose_name=_(u"手机号"))

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}
Exemplo n.º 26
0
class IPTable(BaseMenuTable):
    value = columns.Column(verbose_name=_("IP_Address"))

    class Meta:
        attrs = {'class': 'table table-striped table-hover'}