Esempio n. 1
0
    def get(self, request, args=None):
        if args == 'all':
            try:
                page = request.GET.get('page')
                user = request.GET.get('username').strip()
                department = request.GET.get('department').strip()
                valve = request.GET.get('valve')
            except KeyError as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)
            else:
                try:
                    start = int(page) * 10 - 10
                    end = int(page) * 10
                    if valve == 'true':
                        if department != '':
                            page_number = Account.objects.filter(username__contains=user,
                                                                 department__contains=department).count()
                            user = Account.objects.filter(username__contains=user, department__contains=department)[start:end]
                        else:
                            page_number = Account.objects.filter(username__contains=user).count()
                            user = Account.objects.filter(username__contains=user)[start:end]
                    else:
                        page_number = Account.objects.count()
                        user = Account.objects.all()[start:end]
                    serializers = UserINFO(user, many=True)
                    return Response({'page': page_number, 'data': serializers.data})
                except Exception as e:
                    CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                    return HttpResponse(e)

        elif args == 'permissions':
            user = set_auth_group(request.GET.get('user'))
            return Response(user)
Esempio n. 2
0
    def get(self, request, args=None):
        if args == 'all':
            try:
                page = request.GET.get('page')
            except KeyError as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)
            else:
                try:
                    page_number = Account.objects.count()
                    start = int(page) * 10 - 10
                    end = int(page) * 10
                    info = Account.objects.all()[start:end]
                    serializers = UserINFO(info, many=True)
                    return Response({
                        'page': page_number,
                        'data': serializers.data
                    })
                except Exception as e:
                    CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                    return HttpResponse(e)

        elif args == 'permissions':
            user = set_auth_group(request.GET.get('user'))
            return Response(user)
Esempio n. 3
0
    def put(self, request, args=None):

        if args == 'todolist':
            try:
                todo = Todolist.objects.filter(username=request.user).all()
                return Response([{'title': i.content} for i in todo])
            except Exception as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)

        elif args == 'deltodo':
            try:
                todo = request.data['todo']
            except KeyError as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)
            else:
                try:
                    Todolist.objects.filter(username=request.user, content=todo).delete()
                    return Response('')
                except Exception as e:
                    CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                    return HttpResponse(status=500)

        elif args == 'ownspace':
            info = Account.objects.filter(username=request.user).get()
            _serializers = UserINFO(info)
            permissions = set_auth_group(request.user)
            return Response({'userinfo': _serializers.data, 'permissons': permissions})

        elif args == 'statement':
            Account.objects.filter(username=request.user).update(last_name='pass')
            return Response('')
Esempio n. 4
0
 def post(self, request, args=None):
     try:
         _type = request.data['permissions_type'] + 'edit'
         permission = set_auth_group(request.user)
         return Response(permission[_type])
     except Exception as e:
         CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
         return HttpResponse(status=500)
Esempio n. 5
0
 def post(self, request, args=None):
     try:
         _type = request.data['permissions_type'] + 'edit'
         permission = set_auth_group(request.user)
         return Response(permission[_type])
     except Exception as e:
         CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
         return HttpResponse(status=500)
Esempio n. 6
0
 def get(self, request, args=None):
     try:
         _type = request.GET.get('permissions_type') + 'con'
         permission = set_auth_group(request.user)
         _c = [x for x in permission[_type]]
         return Response(_c)
     except Exception as e:
         CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
         return HttpResponse(status=500)
Esempio n. 7
0
 def get(self, request, args=None):
     try:
         _type = request.GET.get('permissions_type') + 'con'
         permission = set_auth_group(request.user)
         _c = [x for x in permission[_type]]
         return Response(_c)
     except Exception as e:
         CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
         return HttpResponse(status=500)
Esempio n. 8
0
    def get(self, request, args=None):
        if args == 'pie':
            try:
                alter = SqlOrder.objects.filter(type=0,
                                                username=request.user).count()
                sql = SqlOrder.objects.filter(type=1,
                                              username=request.user).count()
                return Response([alter, sql])
            except Exception as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)

        elif args == 'infocard':
            try:
                dic = SqlDictionary.objects.count()
                user = Account.objects.count()
                order = SqlOrder.objects.filter(username=request.user).count()
                link = DatabaseList.objects.count()
                return Response([dic, user, order, link])
            except Exception as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)

        elif args == 'messages':
            try:
                user = request.GET.get('username')
            except KeyError as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)
            else:
                try:
                    count = Usermessage.objects.filter(
                        state='unread',
                        to_user=user).aggregate(messagecount=Count('id'))
                    statement = Account.objects.filter(
                        username=request.user).first()
                    if statement.id == 1:
                        return Response({
                            'count': count,
                            'statement': statement.last_name
                        })
                    else:
                        return Response({'count': count, 'statement': '1'})
                except Exception as e:
                    CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                    return HttpResponse(status=500)

        elif args == 'menu':

            permissions = set_auth_group(request.user)
            return Response(json.dumps(permissions))
Esempio n. 9
0
 def post(self, request, args=None):
     try:
         conf = configparser.ConfigParser()
         conf.read('deploy.conf')
         ip = conf.get('mysql', 'address')
         user = conf.get('mysql', 'username')
         db = conf.get('mysql', 'db')
         password = conf.get('mysql', 'password')
     except KeyError:
         CUSTOM_ERROR.error('''The configuration file information is missing!''')
         return HttpResponse(status=500)
     else:
         try:
             _c = request.data['permissions_type'] + 'export'
             permissions = set_auth_group(request.user)
             if permissions[_c] == '0':
                 return Response(
                     {
                         'status': '该账户没有导出数据字典权限',
                         'url': ''
                     }
                 )
             data = json.loads(request.data['data'])
             connection_name = request.data['connection_name']
             basename = request.data['basename']
         except KeyError as e:
             CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
             return HttpResponse(status=500)
         else:
             try:
                 c = exportdocx.ToWord(
                     Host=ip,
                     User=user,
                     Password=password,
                     Database=db,
                     Charset='utf8')
                 a = c.exportTables(Conn=connection_name, Schemal=basename, TableList=data)
                 return Response(
                     {
                         'status': 'docx文档已生成',
                         'url': '%s_%s_Dictionary_%s.docx' % (connection_name, basename, a)
                     }
                 )
             except Exception as e:
                 CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                 return HttpResponse(status=500)
Esempio n. 10
0
 def post(self, request, args=None):
     try:
         conf = configparser.ConfigParser()
         conf.read('deploy.conf')
         ip = conf.get('mysql', 'address')
         user = conf.get('mysql', 'username')
         db = conf.get('mysql', 'db')
         password = conf.get('mysql', 'password')
     except KeyError:
         CUSTOM_ERROR.error(
             '''The configuration file information is missing!''')
         return HttpResponse(status=500)
     else:
         try:
             _c = request.data['permissions_type'] + 'export'
             permissions = set_auth_group(request.user)
             if permissions[_c] == '0':
                 return Response({'status': '该账户没有导出数据字典权限', 'url': ''})
             data = json.loads(request.data['data'])
             connection_name = request.data['connection_name']
             basename = request.data['basename']
         except KeyError as e:
             CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
             return HttpResponse(status=500)
         else:
             try:
                 c = exportdocx.ToWord(Host=ip,
                                       User=user,
                                       Password=password,
                                       Database=db,
                                       Charset='utf8')
                 a = c.exportTables(Conn=connection_name,
                                    Schemal=basename,
                                    TableList=data)
                 return Response({
                     'status':
                     'docx文档已生成',
                     'url':
                     '%s_%s_Dictionary_%s.docx' %
                     (connection_name, basename, a)
                 })
             except Exception as e:
                 CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                 return HttpResponse(status=500)
Esempio n. 11
0
    def get(self, request, args=None):
        if args == 'pie':
            try:
                alter = SqlOrder.objects.filter(type=0,
                                                username=request.user).count()
                sql = SqlOrder.objects.filter(type=1,
                                              username=request.user).count()
                return Response([alter, sql])
            except Exception as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)

        elif args == 'infocard':
            try:
                data = {
                    "createUser": Account.objects.count(),
                    "order":
                    SqlOrder.objects.filter(username=request.user).count(),
                    "link": DatabaseList.objects.count(),
                    "env": Env.objects.count(),
                    "service": Service.objects.count()
                }
                return Response(data)
            except Exception as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)

        elif args == 'messages':
            try:
                statement = Account.objects.filter(
                    username=request.user).first()
                if statement.id == 1:
                    return Response({'statement': statement.last_name})
                else:
                    return Response({'statement': 'pass'})
            except Exception as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)

        elif args == 'menu':

            permissions = set_auth_group(request.user)
            return Response(json.dumps(permissions))
Esempio n. 12
0
    def get(self, request, args=None):
        if args == 'all':
            try:
                page = request.GET.get('page')
            except KeyError as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)
            else:
                try:
                    page_number = Account.objects.count()
                    start = int(page) * 10 - 10
                    end = int(page) * 10
                    info = Account.objects.all()[start:end]
                    serializers = UserINFO(info, many=True)
                    return Response({'page': page_number, 'data': serializers.data})
                except Exception as e:
                    CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                    return HttpResponse(e)

        elif args == 'permissions':
            user = set_auth_group(request.GET.get('user'))
            return Response(user)
Esempio n. 13
0
    def put(self, request, args=None):

        if args == 'todolist':
            try:
                todo = Todolist.objects.filter(username=request.user).all()
                return Response([{'title': i.content} for i in todo])
            except Exception as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)

        elif args == 'deltodo':
            try:
                todo = request.data['todo']
            except KeyError as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)
            else:
                try:
                    Todolist.objects.filter(username=request.user,
                                            content=todo).delete()
                    return Response('')
                except Exception as e:
                    CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                    return HttpResponse(status=500)

        elif args == 'ownspace':
            info = Account.objects.filter(username=request.user).get()
            _serializers = UserINFO(info)
            permissions = set_auth_group(request.user)
            return Response({
                'userinfo': _serializers.data,
                'permissons': permissions
            })

        elif args == 'statement':
            Account.objects.filter(username=request.user).update(
                last_name='pass')
            return Response('')
Esempio n. 14
0
    def get(self, request, args=None):
        if args == 'pie':
            try:
                alter = SqlOrder.objects.filter(type=0, username=request.user).count()
                sql = SqlOrder.objects.filter(type=1, username=request.user).count()
                return Response([alter, sql])
            except Exception as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)

        elif args == 'infocard':
            try:
                dic = SqlDictionary.objects.count()
                user = Account.objects.count()
                order = SqlOrder.objects.filter(username=request.user).count()
                link = DatabaseList.objects.count()
                return Response([dic, user, order, link])
            except Exception as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)

        elif args == 'messages':
            try:
                statement = Account.objects.filter(username=request.user).first()
                if statement.id == 1:
                    return Response({'statement': statement.last_name})
                else:
                    return Response({'statement': 'pass'})
            except Exception as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)

        elif args == 'menu':

            permissions = set_auth_group(request.user)
            return Response(json.dumps(permissions))
Esempio n. 15
0
    def put(self, request, args=None):

        if args == 'connection':
            try:
                assigned = set_auth_group(request.user)
                un_init = util.init_conf()
                custom_com = ast.literal_eval(un_init['other'])
                if request.data['permissions_type'] == 'user' or request.data[
                        'permissions_type'] == 'own_space':
                    info = DatabaseList.objects.all()
                    con_name = Area(info, many=True).data
                    dic = SqlDictionary.objects.all().values('Name')
                    dic.query.distinct = ['Name']

                elif request.data['permissions_type'] == 'query':
                    con_name = []
                    permission_spec = grained.objects.filter(
                        username=request.user).first()
                    if permission_spec.permissions['query'] == '1':
                        for i in permission_spec.permissions['querycon']:
                            con_instance = DatabaseList.objects.filter(
                                connection_name=i).first()
                            if con_instance:
                                con_name.append({
                                    'id':
                                    con_instance.id,
                                    'connection_name':
                                    con_instance.connection_name,
                                    'ip':
                                    con_instance.ip,
                                    'computer_room':
                                    con_instance.computer_room
                                })
                    assigned = set_auth_group(request.user)
                    return Response({
                        'assigend': assigned['person'],
                        'connection': con_name,
                        'custom': custom_com['con_room']
                    })
                else:
                    con_name = []
                    _type = request.data['permissions_type'] + 'con'
                    permission_spec = grained.objects.filter(
                        username=request.user).first()
                    for i in permission_spec.permissions[_type]:
                        con_instance = DatabaseList.objects.filter(
                            connection_name=i).first()
                        if con_instance:
                            con_name.append({
                                'id':
                                con_instance.id,
                                'connection_name':
                                con_instance.connection_name,
                                'ip':
                                con_instance.ip,
                                'computer_room':
                                con_instance.computer_room
                            })
                    dic = ''
                info = Account.objects.filter(group='admin').all()
                serializers = UserINFO(info, many=True)
                return Response({
                    'connection': con_name,
                    'person': serializers.data,
                    'dic': dic,
                    'assigend': assigned['person'],
                    'custom': custom_com['con_room'],
                    'multi': custom_com['multi']
                })
            except Exception as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)

        elif args == "basename":
            try:
                con_id = request.data['id']
            except KeyError as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                return HttpResponse(status=500)
            else:
                _connection = DatabaseList.objects.filter(id=con_id).first()
                try:
                    with con_database.SQLgo(ip=_connection.ip,
                                            user=_connection.username,
                                            password=_connection.password,
                                            port=_connection.port) as f:
                        res = f.baseItems(sql='show databases')
                        return Response(res)
                except Exception as e:
                    CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                    return HttpResponse(status=500)

        elif args == 'tablename':
            try:
                data = json.loads(request.data['data'])
                basename = data['basename']
                con_id = request.data['id']
            except KeyError as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
            else:
                _connection = DatabaseList.objects.filter(id=con_id).first()
                try:
                    with con_database.SQLgo(ip=_connection.ip,
                                            user=_connection.username,
                                            password=_connection.password,
                                            port=_connection.port,
                                            db=basename) as f:
                        res = f.baseItems(sql='show tables')
                        return Response(res)
                except Exception as e:
                    CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                    return HttpResponse(status=500)

        elif args == 'field':
            try:
                connection_info = json.loads(request.data['connection_info'])
                table = connection_info['tablename']
                basename = connection_info['basename']
                con_id = request.data['id']
            except KeyError as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
            else:
                try:
                    _connection = DatabaseList.objects.filter(
                        id=con_id).first()
                    with con_database.SQLgo(ip=_connection.ip,
                                            user=_connection.username,
                                            password=_connection.password,
                                            port=_connection.port,
                                            db=basename) as f:
                        res = f.gen_alter(table_name=table)
                        return Response(res)
                except Exception as e:
                    CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                    return HttpResponse(status=500)

        elif args == 'indexdata':
            try:
                login = json.loads(request.data['login'])
                table = request.data['table']
                basename = login['basename']
                con_id = request.data['id']
            except KeyError as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
            else:
                try:
                    _connection = DatabaseList.objects.filter(
                        id=con_id).first()
                    with con_database.SQLgo(ip=_connection.ip,
                                            user=_connection.username,
                                            password=_connection.password,
                                            port=_connection.port,
                                            db=basename) as f:
                        res = f.index(table_name=table)
                        return Response(res)
                except Exception as e:
                    CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                    return HttpResponse(e)
Esempio n. 16
0
    def put(self, request, args=None):

        if args == 'connection':
            try:
                assigned = set_auth_group(request.user)

                un_init = util.init_conf()

                custom_com = ast.literal_eval(un_init['other'])
                print("user:"******"basename":
            try:
                con_id = request.data['id']
            except KeyError as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')

                return HttpResponse(status=500)
            else:
                _connection = DatabaseList.objects.filter(id=con_id).first()
                try:
                    with con_database.SQLgo(ip=_connection.ip,
                                            user=_connection.username,
                                            password=_connection.password,
                                            port=_connection.port) as f:
                        res = f.baseItems(sql='show databases')
                        exclude_db = serachsql.exclued_db_list()
                        for db in exclude_db:
                            if db in res:
                                res.remove(db)
                        return Response(res)
                except Exception as e:
                    CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                    return HttpResponse(status=500)

        elif args == 'tablename':
            try:
                data = json.loads(request.data['data'])
                basename = data['basename']
                con_id = request.data['id']
            except KeyError as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
            else:
                _connection = DatabaseList.objects.filter(id=con_id).first()
                try:
                    with con_database.SQLgo(ip=_connection.ip,
                                            user=_connection.username,
                                            password=_connection.password,
                                            port=_connection.port,
                                            db=basename) as f:
                        res = f.baseItems(sql='show tables')
                        return Response(res)
                except Exception as e:
                    CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                    return HttpResponse(status=500)

        elif args == 'field':
            try:
                connection_info = json.loads(request.data['connection_info'])
                table = connection_info['tablename']
                basename = connection_info['basename']
                con_id = request.data['id']
            except KeyError as e:
                CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
            else:
                try:
                    _connection = DatabaseList.objects.filter(
                        id=con_id).first()
                    with con_database.SQLgo(ip=_connection.ip,
                                            user=_connection.username,
                                            password=_connection.password,
                                            port=_connection.port,
                                            db=basename) as f:
                        field = f.gen_alter(table_name=table)
                        idx = f.index(table_name=table)
                        return Response({'idx': idx, 'field': field})

                except Exception as e:
                    CUSTOM_ERROR.error(f'{e.__class__.__name__}: {e}')
                    return HttpResponse(status=500)