コード例 #1
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def put(self, request):
     user = request.current_user
     if not user.is_admin:
         # 仅限超级用户修改
         return make_response(code=Msg.NO_DATA, status=403)
     serializer = MeInEditSerializer(data=request.data)
     if serializer.is_valid():
         data = serializer.validated_data
         id = data["id"]
         business_id = data.get("businessId", None)
         name = data.get("name", None)
         path = data.get("path", None)
         try:
             menu = Menu.objects.get(code=id)
             business = None
             if business_id:
                 business = Business.objects.get(code=business_id)
             menu.name = name if name else menu.name
             menu.path = path if path else menu
             menu.business = business if business else menu.business
             menu.visible = data.get("visible", menu.visible)
             menu.save()
             return make_response()
         except Menu.DoesNotExist:
             return make_response(code=Msg.MENU_NOT_EXIST, status=400)
         except Business.DoesNotExist:
             return make_response(code=Msg.BUSINESS_NOT_EXIST, status=400)
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #2
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def get(self, request):
     serializer = MeInSerializer(data=request.GET)
     if serializer.is_valid():
         data = serializer.validated_data
         page, count, id, name, path = \
             data["page"], data["count"], data.get(
                 "businessId"), data.get("name"), data.get("path")
         factory = query_dict(id, name, path)
         menu = Menu.objects.filter(**factory)
         total = menu.count()
         menu = menu.order_by("-create_time")[(page - 1) * count:page *
                                              count]
         return make_response(
             data={
                 "result": [{
                     "name": i.name,
                     "path": i.path,
                     "id": str(i.code),
                     "businessId": str(i.business.code),
                     "businessName": i.business.name,
                     "visible": i.visible
                 } for i in menu],
                 "total":
                 total
             })
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #3
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def post(self, request):
     user = request.current_user
     if not user.is_admin:
         # 仅限超级用户添加
         return make_response(code=Msg.NO_DATA, status=403)
     serializer = AddMeIntSerializer(data=request.data)
     if serializer.is_valid():
         data = serializer.validated_data
         try:
             biz = Business.objects.get(code=data["businessId"])
             menu = Menu(
                 name=data["name"],
                 path=data["path"],
                 creator=user,
                 business=biz,
                 code=str(uuid1()).replace("-", ""),
                 visible=data["visible"],
             )
             menu.save()
             return make_response()
         except Business.DoesNotExist:
             return make_response(code=Msg.BUSINESS_NOT_EXIST, status=400)
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #4
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def put(self, request):
     user = request.current_user
     if not user.is_admin:
         # 仅限超级用户修改
         return make_response(code=Msg.NO_DATA, status=403)
     serializer = EditIntSerializer(data=request.data)
     if serializer.is_valid():
         data = serializer.validated_data
         id = data["id"]
         business_id = data.get("businessId", None)
         try:
             interface = Interface.objects.get(code=id)
             name = data.get("name", interface.name)
             path = data.get("path", interface.path)
             method = data.get("method", interface.method)
             business = None
             if business_id:
                 business = Business.objects.get(code=business_id)
             interface.name = name
             interface.path = path
             interface.method = method
             interface.business = business if business else interface.business
             interface.visible = data.get("visible", interface.visible)
             interface.save()
             return make_response()
         except Interface.DoesNotExist:
             return make_response(code=Msg.INTERFACE_NOT_EXIST, status=400)
         except Business.DoesNotExist:
             return make_response(code=Msg.BUSINESS_NOT_EXIST, status=400)
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #5
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def put(self, request):
     serializer = MerSysSerializer(data=request.data)
     if serializer.is_valid():
         data = serializer.validated_data
         try:
             mer = Merchant.objects.get(code=data["id"])
             # 先清空当前用户的所有分配系统和域名
             mer.business.clear()
             Domain.objects.filter(merchant__code=data["id"]).delete()
             domains = []
             for i in data["system"]:
                 biz = Business.objects.get(code=i["businessId"])
                 mer.business.add(biz)
                 if Domain.objects.filter(domain=i["domain"]):
                     return make_response(code=Msg.DOMAIN_ALREADY_EXIST,
                                          status=400)
                 domains.append(
                     Domain(domain=i["domain"],
                            business=biz,
                            merchant=mer,
                            creator=request.current_user,
                            code=str(uuid1()).replace("-", "")))
             for i in domains:
                 i.save()
             mer.save()
             return make_response()
         except Merchant.DoesNotExist:
             return make_response(code=Msg.MERCHANT_NOT_EXIST, status=400)
         except Business.DoesNotExist:
             return make_response(code=Msg.BUSINESS_NOT_EXIST, status=400)
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #6
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def post(self, request):
     serializer = UserAdditionSerializer(data=request.data)
     if serializer.is_valid():
         data = serializer.validated_data
         try:
             merchant = Merchant.objects.get(code=data["merchantId"])
             mobile = data["mobile"]
             if User.objects.filter(mobile=mobile):
                 return make_response(code=Msg.MOBILE_USED, status=400)
             user = User(
                 mobile=mobile,
                 name=data.get("name"),
                 sex=data.get("sex"),
                 wechat=data.get("wechat"),
                 qq=data.get("qq"),
                 mail=data.get("mail"),
                 address=data.get("address"),
                 merchant=merchant,
                 code=str(uuid1()).replace("-", ""),
             )
             user.generate_password("123456")
             user.save()
             return make_response()
         except Merchant.DoesNotExist:
             return make_response(code=Msg.MERCHANT_NOT_EXIST, status=400)
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #7
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def get(self, request):
     serializer = BaseSerializer(data=request.GET)
     if serializer.is_valid():
         id = serializer.validated_data['id']
         user = request.current_user
         try:
             business = Business.objects.get(code=id)
             # 判断用户是否有访问此业务系统的权限
             if not user.is_admin and user.merchant not in business.merchant.all(
             ):
                 return make_response(code=Msg.NO_DATA, status=403)
             return make_response(
                 data={
                     "interface": [{
                         "id": str(i.code),
                         'name': i.name,
                     } for i in Interface.objects.filter(business=business,
                                                         visible=True)],
                     "menu": [{
                         "id": str(i.code),
                         "name": i.name,
                         "path": i.path
                     } for i in Menu.objects.filter(business=business,
                                                    visible=True)]
                 })
         except Business.DoesNotExist:
             return make_response(code=Msg.BUSINESS_NOT_EXIST, status=400)
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #8
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def post(self, request):
     serializer = AddRoleSerializer(data=request.data)
     if serializer.is_valid():
         user = request.current_user
         data = serializer.validated_data
         name = data["name"]
         business_id = data["businessId"]
         interface = data["interface"]
         menu = data["menu"]
         factor = {"business__code": business_id}
         if user.merchant:
             factor.update({"merchant__code": user.merchant.code})
         factor.update({"name": name})
         if Role.objects.filter(**factor):
             return make_response(code=Msg.ROLE_NAME_ALREADY_EXIST,
                                  status=400)
         try:
             biz = Business.objects.get(code=business_id)
             role = Role(name=name,
                         creator=user,
                         merchant=user.merchant,
                         business=biz,
                         code=str(uuid1()).replace("-", ""))
             role.save()
             return role_insert(role, interface, menu)
         except Business.DoesNotExist:
             return make_response(code=Msg.BUSINESS_NOT_EXIST, status=400)
     return make_response(code=Msg.PARAMS_ERROR, status=400)
コード例 #9
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def get(self, request):
     user = request.current_user
     appid = request.META.get("HTTP_APPID", None)
     try:
         biz = Business.objects.get(appid=appid)
         roles = user.roles.all()
         menus = [i.menu.all() for i in roles]
         menus = [j for i in menus for j in i]
         if user.is_admin:
             menus = Menu.objects.all()
         return make_response(
             data={
                 "name":
                 user.name,
                 "merchantId":
                 str(user.merchant.code) if user.merchant else None,
                 "merchantName":
                 user.merchant.name if user.merchant else None,
                 "menu": [{
                     "id": str(i.code),
                     "name": i.name,
                     "path": i.path
                 } for i in menus],
                 "businessName":
                 biz.name,
                 "businessId":
                 str(biz.code)
             })
     except Business.DoesNotExist:
         return make_response(code=Msg.BUSINESS_NOT_EXIST, status=400)
コード例 #10
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
def upload_file(request):
    """
    图片上传
    :param request:
    :return:
    """
    if request.method == "POST":
        try:
            image = request.FILES.get("image")
            if not image:
                return make_response(code=Msg.NO_DATA, status=400)
            name = str(uuid1()).replace("-", "")
            filename = "images/{}.jpg".format(name)

            with open(settings.MEDIA_ROOT + "/" + filename, "wb+") as f:
                for chunk in image.chunks():
                    f.write(chunk)
            return make_response(
                data={
                    "url":
                    "//" + request.META["HTTP_HOST"] + settings.MEDIA_URL +
                    filename
                })
        except Exception as e:
            logging.warning(str(e))
            return make_response(code=Msg.UPLOAD_IMG_FAILED)
    return make_response(status=405)
コード例 #11
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def get(self, request):
     serializer = BizSerializer(data=request.GET)
     if serializer.is_valid():
         data = serializer.validated_data
         page = data["page"]
         count = data["count"]
         name = data.get("name")
         user = request.current_user
         factory = {}
         if name:
             factory.update({"name__contains": name})
         if not user.is_admin:
             factory.update({"merchant__code": user.merchant.code})
         business = Business.objects.filter(
             **factory).order_by("-create_time")
         total = business.count()
         business = business[(page - 1) * count:page * count]
         return make_response(
             data={
                 "result": [{
                     "id": str(i.code),
                     "name": i.name,
                     "appid": i.appid,
                     "status": i.status
                 } for i in business],
                 "total":
                 total
             })
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #12
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def put(self, request):
     serializer = BizEditSerializer(data=request.data)
     if serializer.is_valid():
         data = serializer.validated_data
         id = data["id"]
         name = data.get("name", None)
         appid = data.get("appid", None)
         try:
             business = Business.objects.get(code=id)
             if appid and business.appid:
                 # 如果该业务系统的 appid 已经存在
                 return make_response(code=Msg.APPID_ALREADY_EXIST,
                                      status=400)
             # 业务系统不允许重名
             if name:
                 # 查询一下这个 name 存不存在
                 biz = Business.objects.filter(name=name)
                 if biz and biz[0].name != business.name:
                     return make_response(
                         code=Msg.BUSINESS_NAME_ALREADY_EXIST, status=400)
             business.name = name if name else business.name
             business.appid = str(uuid4()).replace(
                 "-", "") if appid else business.appid
             business.save()
             return make_response()
         except Business.DoesNotExist:
             return make_response(code=Msg.BUSINESS_NOT_EXIST, status=400)
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #13
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def get(self, request):
     serializer = AuthSerializer(data=request.GET)
     if serializer.is_valid():
         data = serializer.validated_data
         page = data["page"]
         count = data["count"]
         name = data.get("name")
         user = request.current_user
         # superuser 用户查询所有的用户
         factory = {"active": True, "is_admin": False}
         if name:
             factory.update({"name__contains": name})
         if not user.is_admin:
             # 商户用户只能看到除自己以外的用户
             factory.update({"merchant__code": user.merchant.code})
         users = User.objects.filter(~Q(code=user.code),
                                     **factory).order_by("-create_time")
         total = users.count()
         users = users[(page - 1) * count:page * count]
         data = []
         for i in users:
             res = {
                 "id": str(i.code),
                 "name": i.name,
                 "mobile": i.mobile,
                 "merchantName": i.merchant.name if i.merchant else None,
                 "merchantId": str(i.merchant.code) if i.merchant else None
             }
             businesses = {}
             roles = i.roles.all()
             for role in roles:
                 # 获取角色对应的业务 id 和业务名
                 business_id = role.business.code
                 business_name = role.business.name
                 if business_id in businesses:
                     businesses[business_id][1].append({
                         "id": str(role.code),
                         "name": role.name
                     })
                 else:
                     businesses[business_id] = [
                         business_name,
                         [{
                             "id": str(role.code),
                             "name": role.name
                         }]
                     ]
             res.update({
                 "businesses": [{
                     "id": str(k),
                     "name": v[0],
                     "roles": v[1]
                 } for k, v in businesses.items()]
             })
             data.append(res)
         return make_response(data={"result": data, "total": total})
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #14
0
 def put(self, request):
      serializer = ResetPasswordSerializer(data=request.data)
      if serializer.is_valid():
          data = serializer.validated_data
          try:
              manager = Manager.objects.get(code=data["manager_code"])
              manager.generate_password("123456")
              manager.save()
              return make_response()
          except Manager.DoesNotExist:
              return make_response(code=Msg.MANAGER_NOT_EXISTS, status=400)
      return make_response(code=Msg.PARAMS_ERROR, msg=serializer.errors, status=400)
コード例 #15
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def get(self, request):
     serializer = QueryMerSerializer(data=request.GET)
     if serializer.is_valid():
         data = serializer.validated_data
         page, count, name, production = \
             data["page"], data["count"], data.get(
                 "name", None), data.get("production", None)
         factor = {"name__contains": name} if name else {}
         factor.update(
             {"production__contains": production} if production else {})
         merchant = Merchant.objects.filter(
             **factor).order_by("-create_time")
         total = merchant.count()
         return make_response(
             data={
                 "result": [{
                     "id":
                     str(i.code),
                     "name":
                     i.name,
                     "production":
                     i.production,
                     "logo":
                     i.logo,
                     "ibaLoanName":
                     i.iba_loan_name,
                     "ibaLoanNo":
                     i.iba_loan_no,
                     "ibaCollectionName":
                     i.iba_collection_name,
                     "ibaCollectionNo":
                     i.iba_collection_no,
                     "ibaPreDepositName":
                     i.iba_pre_deposit_name,
                     "ibaPreDepositNo":
                     i.iba_pre_deposit_no,
                     "orgNo":
                     i.org_no,
                     "domains": [{
                         "businessId": str(j.business.code),
                         "businessName": str(j.business.name),
                         "domain": j.domain,
                         "domainId": str(j.code)
                     } for j in i.domains.all()]
                 } for i in merchant[(page - 1) * count:page * count]],
                 "total":
                 total
             })
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #16
0
ファイル: util.py プロジェクト: GSIL-Monitor/xxw
def role_insert(role, interface, menu):
    try:
        for i in interface:
            inter = Interface.objects.get(code=i)
            role.interface.add(inter)
        for i in menu:
            me = Menu.objects.get(code=i)
            role.menu.add(me)
        role.save()
        return make_response()
    except Interface.DoesNotExist:
        return make_response(code=Msg.INTERFACE_NOT_EXIST, status=400)
    except Menu.DoesNotExist:
        return make_response(code=Msg.MENU_NOT_EXIST, status=400)
コード例 #17
0
ファイル: util.py プロジェクト: GSIL-Monitor/xxw
 def decorator(*args, **kwargs):
     token = args[1].META.get("HTTP_JWT", None)
     if token is None:
         return make_response(code=Msg.NO_DATA, status=401)
     manager = manager_token_verify(token)
     if manager == "EXPIRED":
         return make_response(code=Msg.TOKEN_EXPIRATION, status=401)
     elif manager == "INVALID":
         return make_response(code=Msg.INVALID_TOKEN, status=401)
     elif manager == "NOT_EXIST":
         return make_response(code=Msg.MANAGER_NOT_EXISTS, status=401)
     # 为 request 修改默认 user 属性
     args[1].current_user = manager
     return func(*args, **kwargs)
コード例 #18
0
 def put(self, request):
      serializer = ForgetPasswordSerializer(data=request.data)
      if serializer.is_valid():
          data = serializer.validated_data
          verify_code = data["verify_code"]
          phone = data["phone"]
          try:
              manager = Manager.objects.get(phone=phone)
              #调短信验证               
              if verify_code =="0":
                  return make_response()
          except Manager.DoesNotExist:
              return make_response(code=Msg.MANAGER_NOT_EXISTS, status=400)
      return make_response(code=Msg.PARAMS_ERROR, msg=serializer.errors, status=400)
コード例 #19
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def put(self, request):
     serializer = UserActivationSerializer(data=request.data)
     if serializer.is_valid():
         data = serializer.validated_data
         try:
             user = User.objects.get(code=data["id"])
             user.active = data["status"]
             user.save()
             return make_response()
         except User.DoesNotExist:
             return make_response(code=Msg.USER_NOT_EXISTS, status=400)
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #20
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def delete(self, request):
     serializer = BaseSerializer(data=request.GET)
     if serializer.is_valid():
         id = serializer.validated_data["id"]
         try:
             role = Role.objects.get(code=id)
             # 删除角色
             # 判断用户是否有此角色
             role.delete()
             return make_response()
         except Role.DoesNotExist:
             return make_response(code=Msg.PARAMS_ERROR)
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #21
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def delete(self, request):
     user = request.current_user
     if not user.is_admin:
         return make_response(code=Msg.NO_DATA, status=403)
     serializer = BaseSerializer(data=request.GET)
     if serializer.is_valid():
         try:
             menu = Menu.objects.get(code=serializer.validated_data["id"])
             menu.delete()
             return make_response()
         except Menu.DoesNotExist:
             return make_response(code=Msg.MENU_NOT_EXIST, status=400)
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #22
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def get(self, request):
     serializer = AllMerRole(data=request.GET)
     if serializer.is_valid():
         user = request.current_user
         merchant_code = serializer.validated_data["merchantId"]
         business = Business.objects.filter(merchant__code=merchant_code)
         data = {}
         if user.is_admin:
             for i in business:
                 data[(str(i.code), i.name)] = []
                 for j in i.roles.all():
                     data[(str(i.code), i.name)].append({
                         "id": str(j.code),
                         "name": j.name
                     })
         else:
             for i in business:
                 data[(str(i.code), i.name)] = []
                 for j in i.roles.all():
                     if j.merchant:
                         data[(str(i.code), i.name)].append({
                             "id":
                             str(j.code),
                             "name":
                             j.name
                         })
         return make_response(
             data={
                 "business": [{
                     "id": k[0],
                     "name": k[1],
                     "roles": v
                 } for k, v in data.items()]
             })
コード例 #23
0
 def put(self, request):
     serializer = ManagerEditSerializer(data=request.data)
     if serializer.is_valid():
         data = serializer.validated_data
         try:
             manager = Manager.objects.get(code=data["manager_code"])
             manager.name=data.get("name",manager.name)
             manager.sex=data.get("sex",manager.sex)
             manager.address=data.get("address",manager.address)
             manager.id_img=data.get("id_img",manager.id_img)
             manager.head_img=data.get("head_img",manager.head_img)
             manager.save()
             return make_response()
         except Manager.DoesNotExist:    
             return make_response(code=Msg.MANAGER_NOT_EXISTS, status=400)
     return make_response(code=Msg.PARAMS_ERROR, msg=serializer.errors, status=400)
コード例 #24
0
 def get(self, request):
     manager = request.current_user             
     contractlist = Contract.objects.filter(manager=manager)
     sum =0
     for i in contractlist:
         sum+=i.commission
     return make_response(data={"result" : sum })
コード例 #25
0
 def put (self, request):
     """
     修改信息
     """
     print(request.data)
     serializer = ManagerInfoSerializer(data=request.data)
     if serializer.is_valid():
         data = serializer.validated_data
         print(data.get("address"))
         manager =request.current_user
         manager.address = data.get("address", manager.address)
         manager.id_img = data.get("id_img", manager.id_img)
         manager.head_img = data.get("head_img", manager.head_img)
         manager.save()
         return make_response()
     return make_response(code=Msg.PARAMS_ERROR, msg = serializer.errors ,status=400 )
コード例 #26
0
 def put(self, request):
     serializer = ModifyPasswordSerializer(data=request.data)
     if serializer.is_valid():
         data = serializer.validated_data
         old_password = data["oldPassword"]
         new_password = data["newPassword"]
         manager = request.current_user            
         if manager.verify_password(old_password):
             manager.generate_password(new_password)
             manager.save()
             token = request.META.get("HTTP_JWT", None)
             redis_conn.delete(token)                    
             return make_response()
         return make_response(code=Msg.OLD_PASSWORD_ERROR, status=400)
             
     return make_response(code=Msg.PARAMS_ERROR, msg=serializer.errors, status=400)
コード例 #27
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def put(self, request):
     serializer = AcBizSerializer(data=request.data)
     if serializer.is_valid():
         data = serializer.validated_data
         id = data["id"]
         status = data["status"]
         try:
             business = Business.objects.get(code=id)
             business.status = status
             business.save()
             return make_response()
         except Business.DoesNotExist:
             return make_response(code=Msg.BUSINESS_NOT_EXIST, status=400)
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #28
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def get(self, request):
     serializer = InquireSreializer(data=request.GET)
     if serializer.is_valid():
         user = request.current_user
         merchant_id = user.merchant.code if user.merchant else None
         data = serializer.validated_data
         page, count, id, name = data["page"], data["count"], data.get(
             "businessId", None), data.get("name", None)
         # 超级用户获取所有的 role, 而其余用户获取当前业务系统的 role
         factory = {}
         if id:
             factory.update({"business__code": id})
         if name:
             factory.update({"name__contains": name})
         if not user.is_admin:
             factory.update({"merchant__code": merchant_id})
         roles = Role.objects.filter(**factory).order_by("-create_time")
         total = roles.count()
         roles = roles[(page - 1) * count:page * count]
         return make_response(
             data={
                 "result": [{
                     "id":
                     str(i.code),
                     "name":
                     i.name,
                     "businessId":
                     str(i.business.code),
                     "businessName":
                     i.business.name,
                     "creator":
                     i.creator.name,
                     "interface": [{
                         "id": str(j.code),
                         "path": j.path
                     } for j in i.interface.all()],
                     "menu": [{
                         "id": str(j.code),
                         "path": j.path
                     } for j in i.menu.all()]
                 } for i in roles],
                 "total":
                 total
             })
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #29
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def delete(self, request):
     user = request.current_user
     if not user.is_admin:
         # 仅限超级用户删除
         return make_response(code=Msg.NO_DATA, status=403)
     serializer = BaseSerializer(data=request.GET)
     if serializer.is_valid():
         try:
             interface = Interface.objects.get(
                 code=serializer.validated_data["id"])
             interface.delete()
             return make_response()
         except Interface.DoesNotExist:
             return make_response(code=Msg.INTERFACE_NOT_EXIST, status=400)
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)
コード例 #30
0
ファイル: views.py プロジェクト: GSIL-Monitor/xxw
 def put(self, request):
     serializer = EditMerDomain(data=request.data)
     if serializer.is_valid():
         data = serializer.validated_data
         if Domain.objects.filter(~Q(code=data["id"]),
                                  domain=data["domain"]):
             return make_response(code=Msg.DOMAIN_ALREADY_EXIST, status=400)
         try:
             do = Domain.objects.get(code=data["id"])
             do.domain = data["domain"]
             do.save()
             return make_response()
         except Domain.DoesNotExist:
             return make_response(code=Msg.DOMAIN_NOT_EXIST, status=400)
     return make_response(code=Msg.PARAMS_ERROR,
                          msg=serializer.errors,
                          status=400)