def enable_host(request): """ 启用host project_id 项目ID host_id 地址ID :return: """ project_id = request.POST.get('project_id') host_id = request.POST.get('host_id') if not project_id.isdecimal() or not host_id.isdecimal(): return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong()) obj = Project.objects.filter(id=project_id) if obj: obi = GlobalHost.objects.filter(id=host_id, project=project_id) if obi: obi.update(status=True) record = ProjectDynamic(project=Project.objects.get(id=project_id), type='启用', operationObject='HOST', user=User.objects.get(id=request.user.pk), description='启用HOST“%s”' % obi[0].name) record.save() return JsonResponse(code_msg=GlobalStatusCode.success()) else: return JsonResponse(code_msg=GlobalStatusCode.host_not_exist()) else: return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
def update_host(request): """ 修改host project_id 项目id host_id 地址ID name 地址名称 host 地址域名 description 描述 :return: """ project_id = request.POST.get('project_id') host_id = request.POST.get('host_id') if not host_id.isdecimal() or not project_id.isdecimal(): return JsonResponse(code_msg=GlobalStatusCode.parameter_wrong()) name = request.POST.get('name') host = request.POST.get('host') desc = request.POST.get('description') obj = Project.objects.filter(id=project_id) if obj: obi = GlobalHost.objects.filter(id=host_id, project=project_id) if obi: obm = GlobalHost.objects.filter(name=name).exclude(id=host_id) if len(obm) == 0: obi.update(project=Project.objects.get(id=project_id), name=name, host=host, description=desc) record = ProjectDynamic( project=Project.objects.get(id=project_id), type='修改', operationObject='HOST', user=User.objects.get(id=request.user.pk), description='修改HOST“%s”' % name) record.save() return JsonResponse(code_msg=GlobalStatusCode.success()) else: return JsonResponse( code_msg=GlobalStatusCode.name_repetition()) else: return JsonResponse(code_msg=GlobalStatusCode.host_not_exist()) else: return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
def post(self, request): """ 修改host域名 :param request: :return: """ data = JSONParser().parse(request) result = self.parameter_check(data) if result: return result try: Project.objects.get(id=data["project_id"]) except ObjectDoesNotExist: return JsonResponse(code_msg=GlobalStatusCode.project_not_exist()) try: obi = GlobalHost.objects.get(id=data["host_id"]) except ObjectDoesNotExist: return JsonResponse(code_msg=GlobalStatusCode.host_not_exist()) if GlobalHost.objects.filter(name=data["name"], project=data["project_id"]): return JsonResponse(code_msg=GlobalStatusCode.name_repetition()) else: serializer = GlobalHostSerializer(data=data) with transaction.atomic(): if serializer.is_valid(): # 外键project_id serializer.update(instance=obi, validated_data=data) # 记录动态 record_dynamic(project=data["project_id"], _type="修改", operationObject="域名", user=request.user.pk, data=data["name"]) return JsonResponse(code_msg=GlobalStatusCode.success()) return JsonResponse(code_msg=GlobalStatusCode.fail())