Exemplo n.º 1
0
    def update(self, request, *args, **kwargs):
        """ 修改资产的数据 """
        id = self.kwargs.get("pk", None)
        print(request.data)
        asset = Assets.objects.filter(id=id).first()
        if asset:
            try:
                asset.ip = request.data.get("ip")
                asset.asset_type = request.data.get("asset_type")
                asset.status = request.data.get("status")
                asset.system = request.data.get("system")
                asset.remark = request.data.get("remark")
                asset.sshuser = request.data.get("sshuser")
                asset.verify_type = int(request.data.get("verify_type"))
                asset.sshpwd = request.data.get("sshpwd")
                asset.key = request.data.get("sshkey")
                asset.sshport = request.data.get("sshport")
                asset.mysql_user = request.data.get("mysql_user")
                asset.mysql_pwd = request.data.get("mysql_pwd")
                asset.mysql_port = request.data.get("mysql_port")
                asset.ftp_port = request.data.get("ftp_port")
                # 关联
                id = request.data.get("host_machine")
                if id:
                    asset.host_machine = Assets.objects.filter(id=id).first()
                else:
                    asset.host_machine = None
                opsid = request.data.get("opsuser")
                if opsid:
                    asset.opsuser = User.objects.filter(id=opsid).first()
                else:
                    asset.opsuser = None
                userid = request.data.get("user")
                if userid:
                    asset.user = User.objects.filter(id=userid).first()
                else:
                    asset.user = None

                idc_id = request.data.get("idc")
                if idc_id:
                    asset.idc = IDC.objects.filter(id=idc_id).first()
                else:
                    asset.idc = None
                asset.save()
            except IntegrityError as e:
                raise CodeError(str(e))
            else:
                # 注册 tag
                tags = request.data.get("tags")
                if tags:
                    tags = tags.split(",")

                    asset.tags.set(tags)
                    asset.save()
                code = 0
                msg = "success"
        else:
            raise CodeError("未找到!")
        return Response("添加成功")
Exemplo n.º 2
0
Arquivo: role.py Projeto: vanwt/cmdb
 def update(self, request, *args, **kwargs):
     id = self.kwargs.get("id", None)
     role = get_object_or_404(Role, id=id)
     title = request.data.get("title", None)
     status = request.data.get("status", True)
     if title:
         if title != role.title:
             role.title = title
         elif status != role.status:
             role.status = status
         else:
             raise CodeError("没有变化!")
         role.save()
         return Response({"message": "成功"})
     raise CodeError("缺少参数!")
Exemplo n.º 3
0
 def create(self, request, *args, **kwargs):
     title = request.data.get("title", None)
     status = request.data.get("status", True)
     url = request.data.get("url", None)
     method = request.data.get("method", None)
     if title and url and method:
         try:
             p = UrlPermission(title=title,
                               status=status,
                               method=method,
                               url=url)
             p.save()
         except Exception as e:
             raise CodeError(str(e))
         return Response({"message": "成功"})
     raise CodeError("验证失败")
Exemplo n.º 4
0
    def update(self, request, *args, **kwargs):
        id = self.kwargs.get("id", None)
        m_obj = get_object_or_404(Menu, id=id)
        title = request.data.get("title", None)
        url = request.data.get("url", None)
        path = request.data.get("path", None)
        name = request.data.get("name", None)
        icon = request.data.get("icon", None)
        status = request.data.get("status", True)
        is_parent = request.data.get("is_parent", True)
        if status == "true":
            status = True
        else:
            status = False

        if is_parent == "true":
            is_parent = True
        else:
            is_parent = False
        parent = request.data.get("parent", None)
        p = Menu.objects.filter(id=parent).first()
        if title and url and path and name:
            try:
                m_obj.title = title
                m_obj.url = url
                m_obj.path = path
                m_obj.status = status
                m_obj.icon = icon
                m_obj.is_parent = is_parent
                m_obj.parent = p
                m_obj.save()
            except Exception as e:
                raise CodeError(str(e))
        return Response({"message": "修改成功"})
Exemplo n.º 5
0
Arquivo: role.py Projeto: vanwt/cmdb
 def create(self, request, *args, **kwargs):
     title = request.data.get("title", None)
     status = request.data.get("status", True)
     if title:
         role = Role(title=title, status=status)
         role.save()
     else:
         raise CodeError("错误的参数")
     return Response({"message": "成功"})
Exemplo n.º 6
0
    def put(self, request, **kwargs):
        id = self.kwargs.get("key")
        user = get_object_or_404(User, id=id)
        selected = request.data.get("selected")
        try:
            user.roles.set(selected)
        except Exception as e:
            raise CodeError("修改失败:" + str(e))

        return Response({"message": "success!"})
Exemplo n.º 7
0
Arquivo: role.py Projeto: vanwt/cmdb
 def post(self, request, **kwargs):
     id = self.kwargs.get("id", None)
     pids = request.data.get("ids", None)
     role = get_object_or_404(Role, id=id)
     try:
         role.permission.set(pids)
         role.save()
     except Exception as e:
         raise CodeError("出错" + str(e))
     return Response({"message": "success"})
Exemplo n.º 8
0
Arquivo: role.py Projeto: vanwt/cmdb
    def get(self, request, **kwargs):
        id = self.kwargs.get("id", None)
        role = Role.objects.filter(id=id).first()
        role_menus = []
        if role:
            role_id = [p.id for p in role.menu.all()]
        else:
            raise CodeError("未找到!")

        for menu in Menu.objects.all():
            d = {
                "value": menu.id,
                "title": "%s : %s" % (menu.title, menu.path),
            }
            role_menus.append(d)
        return Response({"menus": role_menus, "checked": role_id})
Exemplo n.º 9
0
    def create(self, request, *args, **kwargs):
        """
        创建资产
        """
        asset = Assets()
        try:
            asset.ip = request.data.get("ip")
            asset.asset_type = request.data.get("asset_type")
            asset.status = request.data.get("status")
            asset.system = request.data.get("system")
            asset.remark = request.data.get("remark")
            asset.sshuser = request.data.get("sshuser")
            asset.verify_type = int(request.data.get("verify_type"))
            asset.sshpwd = request.data.get("sshpwd")
            asset.sshport = request.data.get("sshport")
            asset.mysql_user = request.data.get("mysql_user")
            asset.mysql_pwd = request.data.get("mysql_pwd")
            asset.mysql_port = request.data.get("mysql_port")
            asset.ftp_port = request.data.get("ftp_port")
            # 关联
            id = request.data.get("host_machine")
            if id:
                asset.host_machine = Assets.objects.filter(id=id).first()

            opsid = request.data.get("opsuser")
            if opsid:
                asset.opsuser = User.objects.filter(id=opsid).first()

            userid = request.data.get("user")
            if userid:
                asset.user = User.objects.filter(id=userid).first()

            idc_id = request.data.get("idc")
            if idc_id:
                asset.idc = IDC.objects.filter(id=idc_id).first()
            asset.save()
        except IntegrityError as e:
            raise CodeError("重复添加")
        else:
            # 注册 tag
            tags = request.data.get("tag")
            if tags:
                tags = tags.split(",")

                asset.tags.set(tags)
                asset.save()
        return Response("添加成功")
Exemplo n.º 10
0
Arquivo: role.py Projeto: vanwt/cmdb
    def get(self, request, **kwargs):
        """ 返回值 已选权限/全部权限"""
        id = self.kwargs.get("id", None)
        role = Role.objects.filter(id=id).first()
        role_permissions = []
        if role:
            role_id = [p.id for p in role.permission.all()]
        else:
            raise CodeError("未找到!")

        for permission in UrlPermission.objects.all():
            d = {
                "value": permission.id,
                "title": "%s %s:%s" % (permission.title, permission.url, permission.method),
            }
            role_permissions.append(d)
        return Response({"permissions": role_permissions, "checked": role_id})
Exemplo n.º 11
0
    def update(self, request, *args, **kwargs):
        id = self.kwargs.get("id", None)
        p_obj = get_object_or_404(UrlPermission, id=id)

        title = request.data.get("title", None)
        url = request.data.get("url", None)
        method = request.data.get("method", None)
        status = request.data.get("status", True)
        if p_obj and title and url and method:
            try:
                p_obj.title = title
                p_obj.url = url
                p_obj.method = method
                p_obj.status = status
                p_obj.save()
            except Exception as e:
                raise CodeError(str(e))
        return Response({"message": "修改成功"})