예제 #1
0
def role(request):
    response = Response.ResponseObj()
    if request.method == "GET":
        forms_obj = SelectForm(request.GET)
        if forms_obj.is_valid():

            current_page = forms_obj.cleaned_data['current_page']
            length = forms_obj.cleaned_data['length']
            print('forms_obj.cleaned_data -->', forms_obj.cleaned_data)

            order = request.GET.get('order', '-create_date')
            user_id = request.GET.get('user_id')
            userObjs = models.userprofile.objects.filter(id=user_id)

            field_dict = {
                'id': '',
                'name': '__contains',
                'create_date': '',
                'oper_user__username': '******',
            }
            q = conditionCom(request, field_dict)
            print('q -->', q)
            objs = models.role.objects.filter(q).order_by(order)
            count = objs.count()

            if length != 0:
                start_line = (current_page - 1) * length
                stop_line = start_line + length
                objs = objs[start_line:stop_line]

            ret_data = []
            for obj in objs:
                permissionsList = []
                if obj.permissions:
                    permissionsList = [
                        i['id'] for i in obj.permissions.values('id')
                    ]
                    # if len(permissionsList) > 0:
                    #     permissionsData = init_data(selected_list=permissionsList)

                if obj.oper_user:
                    oper_user_id = obj.oper_user_id
                    oper_user_username = obj.oper_user.username
                else:
                    oper_user_username = ''
                    oper_user_id = ''

                ret_data.append({
                    'id':
                    obj.id,
                    'name':
                    obj.name,  # 角色名称
                    'permissionsData':
                    permissionsList,  # 角色权限
                    'oper_user_id':
                    oper_user_id,  # 操作人ID
                    'oper_user__username':
                    oper_user_username,  # 操作人
                    'create_date':
                    obj.create_date.strftime('%Y-%m-%d %H:%M:%S'),
                })

            response.code = 200
            response.msg = '查询成功'
            response.data = {
                'ret_data': ret_data,
                'data_count': count,
            }
        else:
            response.code = 402
            response.msg = "请求异常"
            response.data = json.loads(forms_obj.errors.as_json())
    return JsonResponse(response.__dict__)
예제 #2
0
def permissions(request):
    response = Response.ResponseObj()
    if request.method == "GET":
        forms_obj = SelectForm(request.GET)
        if forms_obj.is_valid():

            current_page = forms_obj.cleaned_data['current_page']
            length = forms_obj.cleaned_data['length']
            print('forms_obj.cleaned_data -->', forms_obj.cleaned_data)
            order = request.GET.get('order', '-create_date')
            field_dict = {
                'id': '',
                'name': '__contains',
                'create_date': '',
                'oper_user__username': '******',
                'pid_id': '__isnull'
            }
            q = conditionCom(request, field_dict)
            print('q -->', q)

            objs = models.permissions.objects.select_related('pid').filter(
                q).order_by(order)
            count = objs.count()

            if length != 0:
                start_line = (current_page - 1) * length
                stop_line = start_line + length
                objs = objs[start_line:stop_line]

            ret_data = []
            for obj in objs:
                #  如果有oper_user字段 等于本身名字
                if obj.oper_user:
                    oper_user_id = obj.oper_user_id
                    oper_user_username = obj.oper_user.username
                else:
                    oper_user_username = ''
                    oper_user_id = ''

                pid_name = ''
                if obj.pid:
                    pid_name = obj.pid.name
                ret_data.append({
                    'id':
                    obj.id,
                    'name':
                    obj.name,  # 权限名字
                    'title':
                    obj.title,  # 权限路径
                    'pid_id':
                    obj.pid_id,  # 权限父级ID
                    'pid_name':
                    pid_name,  # 权限父级名称
                    'oper_user_id':
                    oper_user_id,  # 操作人ID
                    'oper_user__username':
                    oper_user_username,  # 操作人
                    'create_date':
                    obj.create_date.strftime('%Y-%m-%d %H:%M:%S'),
                })
            #  查询成功 返回200 状态码
            response.code = 200
            response.msg = '查询成功'
            response.data = {
                'ret_data': ret_data,
                'data_count': count,
            }
            response.note = {
                'ret_data': {
                    'id': '权限ID',
                    'name': '权限名字',
                    'title': '权限路径',
                    'pid_id': '权限父级ID',
                    'pid_name': '权限父级名称',
                    'oper_user_id': '操作人ID',
                    'oper_user__username': '******',
                    'create_date': '创建时间',
                },
                'data_count': '数据总数',
            }

        else:
            response.code = 301
            response.data = json.loads(forms_obj.errors.as_json())
    else:
        response.code = 402
        response.msg = "请求异常"
    return JsonResponse(response.__dict__)
예제 #3
0
def user(request):
    response = Response.ResponseObj()
    forms_obj = SelectForm(request.GET)
    if forms_obj.is_valid():
        current_page = forms_obj.cleaned_data['current_page']
        length = forms_obj.cleaned_data['length']
        order = request.GET.get('order', '-create_date')
        field_dict = {
            'id': '',
            'status': '',
            'role_id': '',
            'create_date': '',
            'oper_user__username': '******',
        }

        q = conditionCom(request, field_dict)

        objs = models.userprofile.objects.select_related('role').filter(q).order_by(order)

        count = objs.count()

        if length != 0:
            start_line = (current_page - 1) * length
            stop_line = start_line + length
            objs = objs[start_line: stop_line]

        # 返回的数据
        ret_data = []
        now = datetime.date.today()
        for obj in objs:
            last_login_time = ''
            if obj.last_login_time:
                last_login_time = obj.last_login_time.strftime('%Y-%m-%d %H:%M:%S')
            #  将查询出来的数据 加入列表
            ret_data.append({
                'id': obj.id,
                'username': obj.username,                           # 用户名称
                'role_id': obj.role_id,                             # 角色ID
                'role__name': obj.role.name,                        # 角色名称
                'oper_user__username':obj.oper_user.username,       # 操作人
                'oper_user_id': obj.oper_user_id,                   # 操作人ID
                'status': obj.status,                               # 用户状态ID
                'get_status_display': obj.get_status_display(),     # 用户状态 (审核, 未审核)
                # 'set_avator': obj.set_avator,                       # 头像
                'phone': obj.phone,                                 # 电话
                'last_login_time': last_login_time,                 # 最后一次登录时间
                'create_time': obj.create_date.strftime('%Y-%m-%d %H:%M:%S'),
            })

        #  查询成功 返回200 状态码
        response.code = 200
        response.msg = '查询成功'
        response.data = {
            'ret_data': ret_data,
            'data_count': count,
            'status':models.userprofile.status_choices
            }

    else:
        response.code = 301
        response.msg = json.loads(forms_obj.errors.as_json())

    return JsonResponse(response.__dict__)
예제 #4
0
def external_query_article(request, oper_type):
    response = Response.ResponseObj()
    if request.method == "GET":

        # 查询公开文章
        if oper_type == 'article':
            forms_obj = SelectForm(request.GET)
            if forms_obj.is_valid():
                current_page = forms_obj.cleaned_data['current_page']
                length = forms_obj.cleaned_data['length']

                order = request.GET.get('order', '-create_date')
                field_dict = {
                    'id': '',
                    'title': '__contains',
                    'create_date': '__contains',
                    'article_source': '',
                    # 'oper_user__username': '******',
                }
                q = conditionCom(request, field_dict)

                objs = models.article.objects.filter(
                    q, toward_whether=1).order_by(order).exclude(is_delete=1)
                count = objs.count()

                if length != 0:
                    start_line = (current_page - 1) * length
                    stop_line = start_line + length
                    objs = objs[start_line:stop_line]

                ret_data = []
                id = request.GET.get('id')
                for obj in objs:
                    classfiy_id = obj.classfiy_id
                    classfiy_name = obj.classfiy.classify_name
                    result_data = {
                        'id':
                        obj.id,
                        'title':
                        obj.title,  # 文章标题
                        'summary':
                        obj.summary,  # 文章摘要
                        'article_cover':
                        obj.article_cover,  # 文章封面图
                        'edit_name':
                        obj.edit_name,  # 作者别名
                        'article_source_id':
                        obj.article_source,  # 文章来源ID
                        'article_source':
                        obj.get_article_source_display(),  # 文章来源
                        # 'stop_upload': obj.stop_upload,                                 # 是否停止发布
                        'classfiy_id':
                        classfiy_id,  # 分类ID
                        'classfiy_name':
                        classfiy_name,  # 分类名称
                        'article_word_count':
                        obj.article_word_count,  # 文章字数
                        'create_date':
                        obj.create_date.strftime(
                            '%Y-%m-%d %H:%M:%S'),  # 文章创建时间
                    }

                    if id:
                        result_data['content'] = obj.content  # 文章内容
                        class_list = []
                        class_list = query_classification_supervisor(
                            classfiy_id, class_list)

                        result_data['classfiy_list'] = class_list  # 分类所有等级

                    ret_data.append(result_data)

                article_source = []
                for i in models.article.article_source_choices:
                    article_source.append({'id': i[0], 'name': i[1]})

                #  查询成功 返回200 状态码
                response.code = 200
                response.msg = '查询成功'
                response.data = {
                    'ret_data': ret_data,
                    'data_count': count,
                    'article_source': article_source  # 文章来源
                }

            else:
                response.code = 301
                response.data = json.loads(forms_obj.errors.as_json())

        else:
            response.code = 402
            response.msg = "请求异常"

    else:
        response.code = 402
        response.msg = "请求异常"
    return JsonResponse(response.__dict__)
예제 #5
0
def classfiy(request):
    response = Response.ResponseObj()
    if request.method == "GET":
        forms_obj = SelectForm(request.GET)
        if forms_obj.is_valid():

            current_page = forms_obj.cleaned_data['current_page']
            length = forms_obj.cleaned_data['length']

            order = request.GET.get('order', '-create_date')
            user_id = request.GET.get('user_id')

            field_dict = {
                'id': '',
                'level': '',
                'classify_name': '__contains',
                'parent_class_id': '',
                'oper_user_id': '',
            }
            q = conditionCom(request, field_dict)
            print('q -->', q)

            objs = models.classfiy.objects.filter(q, oper_user__isnull=False)
            count = objs.count()

            if length != 0:
                start_line = (current_page - 1) * length
                stop_line = start_line + length
                objs = objs[start_line:stop_line]

            # 返回的数据
            ret_data = []
            for obj in objs:

                parent_id = ''
                parent_name = ''
                class_list = []
                if obj.parent_class:
                    parent_id = obj.parent_class_id
                    parent_name = obj.parent_class.classify_name

                    class_list = query_classification_supervisor(
                        parent_id, class_list)

                ret_data.append({
                    'id':
                    obj.id,
                    'name':
                    obj.classify_name,  # 分类名称
                    'parent_id':
                    parent_id,  # 父级ID
                    'parent_name':
                    parent_name,  # 父级分类名称
                    'level':
                    obj.level,  # 父级分类名称
                    'oper_user_id':
                    obj.oper_user_id,  # 操作人ID
                    'oper_user__username':
                    obj.oper_user.username,  # 操作人
                    'class_list':
                    class_list,  # 所有分类
                    'create_date':
                    obj.create_date.strftime('%Y-%m-%d %H:%M:%S'),
                })

            #  查询成功 返回200 状态码
            response.code = 200
            response.msg = '查询成功'
            response.data = {
                'ret_data': ret_data,
                'data_count': count,
            }

        else:
            response.code = 402
            response.msg = "请求异常"
            response.data = json.loads(forms_obj.errors.as_json())

    return JsonResponse(response.__dict__)