def search_is_system(request, is_system):
    token = request.META.get("HTTP_TOKEN")
    print(token)
    print(type(token))
    if not token or token == 'null':  # 没有传token, 返回系统的
        return Regular.objects.filter(is_system=1), True
    if is_system is None:  # 没有传参

        # 判断token的是否为超级管理员
        check_token = pd_super_adm_token(request)
        if check_token:
            return check_token, False

        return Regular.objects.all(), True

    is_system = int(is_system)
    if is_system == 1:
        return Regular.objects.filter(is_system=1), True
    elif is_system == 0:  # 浏览自己添加的信息
        # 判断token的可用性
        check_token = pd_token(request)
        if check_token:
            return check_token, False
        # 返回该用户的所有非系统regular
        return Regular.objects.filter(user_id=request.user, is_system=0), True
    elif is_system == 2:
        # 判断token的可用性
        check_token = pd_token(request)
        if check_token:
            return check_token, False
        # 返回该用户的所有系统以及个人非系统的regular
        return Regular.objects.filter(
            Q(user_id=request.user, is_system=0) | Q(is_system=1)), True

    return response_success_200(message="参数错误"), False
    def create(self, request, *args, **kwargs):
        check_token = pd_super_adm_token(request)
        if check_token:
            return check_token

        resp = super().create(request)
        return response_success_200(data=resp.data)
    def destroy(self, request, *args, **kwargs):
        check_token = pd_super_adm_token(request)
        if check_token:
            return check_token

        # 删除
        super().destroy(request, *args, **kwargs)
        return response_success_200(message="成功")
Beispiel #4
0
    def create_stu_adm(self, request, *args, **kwargs):
        check_token = pd_super_adm_token(request)
        if check_token:
            return check_token

        # 用户名
        user_name = request.data.get('user_name')
        # 手机号
        phone_number = request.data.get("phone_number")
        # 密码
        password = request.data.get("password")
        # 真实姓名
        name = request.data.get('name')
        # 真实姓名
        school_id = request.data.get('school_id')

        if check_user_name(user_name):
            message = "用户名已存在"
            return response_success_200(code=STATUS_USER_NAME_DUPLICATE,
                                        message=message)
        if check_phone_number(phone_number):
            message = "该手机号已被注册"
            return response_success_200(code=STATUS_PHONE_NUMBER_DUPLICATE,
                                        message=message)
        if not pd_phone_number(phone_number):
            message = "手机号格式错误"
            return response_success_200(code=STATUS_PHONE_NUMBER_DUPLICATE,
                                        message=message)

        # 创建用户详情 并获得他的id
        user_details_id = UserDetails.objects.create(name=name).id

        # 加密
        # request.data["password"] = my_encode(password)
        # request.data['user_details'] = user_details_id
        # request.data['role'] = -2
        # request.data['token'] = "-1"

        # serializer = self.get_serializer(data=request.data)
        # serializer.is_valid(raise_exception=True)
        # self.perform_create(serializer)
        # headers = self.get_success_headers(serializer.data)
        # return response_success_200(code=STATUS_200_SUCCESS, data=serializer.data, headers=headers)

        # 创建user
        user_id = User.objects.create(user_name=user_name,
                                      password=my_encode(password),
                                      phone_number=phone_number,
                                      role=-2,
                                      user_details_id=user_details_id,
                                      token=-1).id
        Schooladm.objects.create(
            school_id=school_id,
            user_id=user_id,
        )

        return response_success_200(message="成功!!!!")
    def partial_update(self, request, *args, **kwargs):
        check_token = pd_super_adm_token(request)
        if check_token:
            return check_token

        # 需要修改的
        pk = kwargs['pk']
        if not self.queryset.filter(pk=pk):
            return response_success_200(code=STATUS_404_NOT_FOUND, message="id未找到")
        resp = super().partial_update(request, *args, **kwargs)
        return response_success_200(data=resp.data)
    def destroy(self, request, *args, **kwargs):
        check_token = pd_super_adm_token(request)
        if check_token:
            return check_token
        # 需要修改的
        pk = kwargs['pk']
        if not self.queryset.filter(pk=pk):
            return response_success_200(code=STATUS_404_NOT_FOUND, message="id未找到")

        # 删除
        super().destroy(request, *args, **kwargs)
        return response_success_200(message="成功")
    def create(self, request, *args, **kwargs):
        check_token = pd_super_adm_token(request)
        if check_token:
            return check_token

        # 添加用户信息
        index = request.data.get('index')
        # 用户index否存在
        if self.queryset.filter(index=index):
            return response_error_400(message="index 已存在")

        resp = super().create(request)
        return response_success_200(data=resp.data)
Beispiel #8
0
 def destroy_all(self, request, *args, **kwargs):
     check_token = pd_super_adm_token(request)
     if check_token:
         return check_token
     # print(request.data)
     list = request.data.get("id_list")
     message = ""
     print(list)
     for i in list:
         if not School.objects.filter(pk=i):
             message += "学校i+未找到"
         else:
             School.objects.filter(pk=i).delete()
     return response_success_200(message="批量删除删除结束," + message)
    def partial_update(self, request, *args, **kwargs):
        check_token = pd_super_adm_token(request)
        if check_token:
            return check_token

        # 需要修改的
        pk = kwargs['pk']
        if not self.queryset.filter(pk=pk):
            return response_error_400(message="id未找到")
        # index
        index = request.data.get('index')
        if index:
            # 之前的index
            week = self.queryset.get(pk=pk)
            old_index = week.index
            if old_index != index and self.queryset.filter(index=index):
                return response_error_400(message="index已存在")

        resp = super().partial_update(request, *args, **kwargs)
        return response_success_200(data=resp.data)
Beispiel #10
0
    def search_school(self, request):
        check_token = pd_super_adm_token(request)
        if check_token:
            return check_token

        # 学校
        school_id = request.GET.get("school_id")
        schooladm = Schooladm.objects.filter(school_id=school_id)

        # 名字
        adm_name = request.GET.get("s_adm_name")
        if adm_name:
            schooladm = schooladm.filter(user__user_name=adm_name)

        # print(schooladm)
        # serializer = self.get_serializer(schooladm, many=True)
        # return response_success_200(data=serializer.data)

        page = self.paginate_queryset(schooladm)
        serializer = SchoolAdmSerializer(page,
                                         many=True,
                                         context=self.get_serializer_context())
        return self.get_paginated_response(serializer.data)