Пример #1
0
 def put(self, request, pk):
     """DocumentDetailAPIView put
     Description:
         update document information
     """
     req_inf = RequestInfo()
     document_cls = self.get_object(pk)
     if isinstance(document_cls, Document):
         serializer = DocumentInfoSerializer(document_cls,
                                             data=request.data)
         if serializer.is_valid():
             try:
                 serializer.save()
                 log = Log.objects.create(
                     action=Log.NOTIFICATION_TYPE.get_value(
                         'update_document'),
                     user=request.user,
                     description='Modificacion de documento {} - {}'.format(
                         serializer.instance.id, serializer.instance.name))
                 log.save()
                 return req_inf.status_200()
             except Exception as e:
                 return req_inf.status_400(e.args[0])
         return req_inf.status_400(serializer.errors)
     else:
         return req_inf.status_404(document_cls)
Пример #2
0
 def delete(self, request, pk=None):
     """DocumentDetailAPIView delete
     Description:
         Delete Documents
     Args:
         :param name: (str) the name of the document
     """
     req_inf = RequestInfo()
     name = request.query_params.get('name', None)
     if name is not None:
         try:
             document = Document.objects.get(slug=name)
             document.document.delete()
             last_id = document.id
             last_name = document.name
             document.delete()
             log = Log.objects.create(
                 action=Log.NOTIFICATION_TYPE.get_value('delete_document'),
                 user=request.user,
                 description='Eliminacion de documento {}- {}'.format(
                     las_id, last_name))
             log.save()
             return req_inf.status_200()
         except Exception as e:
             return req_inf.status_400(e.args[0])
     else:
         return req_inf.status_400('Nombre de documento requerido')
Пример #3
0
 def post(self, request):
     """DocumentAPIView post
     Description:
         Create Documents
     Args:
         :param name: (str) the name of the document
         :param document: (file) document file
         :param folder: (id) folder id
     """
     req_inf = RequestInfo()
     serializer = DocumentInfoSerializer(data=request.data)
     if serializer.is_valid():
         try:
             serializer.save()
             log = Log.objects.create(
                 action=Log.NOTIFICATION_TYPE.get_value('create_document'),
                 user=request.user,
                 description='Creacion de Documento {} - {}'.format(
                     serializer.instance.id, serializer.instance.name))
             log.save()
             return req_inf.status_200()
         except Exception as e:
             return req_inf.status_400(e.args[0])
     else:
         return req_inf.status_400(serializer.errors)
Пример #4
0
 def delete(self, request, pk=None):
     """FolderClientAPIView delete
     Description:
         delete folder
     Args:
         :param name: (str) folder name
     """
     req_inf = RequestInfo()
     name = request.query_params.get('name', None)
     if name is not None:
         try:
             folder = FolderClient.objects.get(slug=name)
             documents = Document.objects.filter(folder=folder)
             last_id = folder.id
             last_name = folder.name
             for doc in documents:
                 doc.document.delete()
                 doc.delete()
             folder.delete()
             log = Log.objects.create(
                 action=Log.NOTIFICATION_TYPE.get_value('update_client'),
                 user=request.user,
                 description='Modificacion de cliente {} - {}'.format(
                     last_id, last_name))
             log.save()
             return req_inf.status_200()
         except Exception as e:
             return req_inf.status_400(e.args[0])
     else:
         return req_inf.status_400('Nombre de folder requerido')
Пример #5
0
 def put(self, request, pk):
     """UserClientDetailAPIView put
     Description:
         update client information
     """
     import pudb
     pudb.set_trace()
     req_inf = RequestInfo()
     user_client = self.get_object(pk)
     if isinstance(user_client, UserClient):
         serializer = ClientSerializer(user_client, data=request.data)
         if serializer.is_valid():
             try:
                 serializer.save()
                 log = Log.objects.create(
                     action=Log.NOTIFICATION_TYPE.get_value(
                         'update_client'),
                     user=request.user,
                     description='Modificacion de cliente {} - {}'.format(
                         serializer.instance.id, serializer.instance.name))
                 log.save()
                 return req_inf.status_200()
             except Exception as e:
                 return req_inf.status_400(e.args[0])
         return req_inf.status_400(serializer.errors)
     else:
         return req_inf.status_404(user_client)
Пример #6
0
 def patch(self, request):
     """Address API PATCH
     Args:
         country: (str)
         region: (str)
         town: (str)
         neighborhood: (str)
         zip_code: (str)
         street: (str)
         street_number: (str)
         suite_number: (str)
         address_id: (int)
     Description:
         update directions
     """
     user = get_jwt_user(request)
     data = request.data
     req_inf = RequestInfo()
     try:
         if user is not None:
             client = Client.objects.get(user=user)
             address = Address.objects.get(id=data.get('address_id'))
             if 'country' in data:
                 address.country = data.get('country')
             if 'region' in data:
                 address.region = data.get('region')
             if 'town' in data:
                 address.town = data.get('town')
             if 'neighborhood' in data:
                 address.neighborhood = data.get('neighborhood')
             if 'zip_code' in data:
                 address.zip_code = data.get('zip_code')
             if 'street' in data:
                 address.street = data.get('street')
             if 'street_number' in data:
                 address.street_number = data.get('street_number')
             if 'suite_number' in data:
                 address.suite_number = data.get('suite_number')
             address.save()
             return req_inf.status_200('address updated')
         else:
             return req_inf.status_401('token invalido')
     except ObjectDoesNotExist as e:
         return req_inf.status_404(e.args[0])
     except Exception as e:
         return req_inf.status_400(e.args[0])
Пример #7
0
 def put(self, request, pk=None):
     """FolderClientAPIView put
     Description:
         update client information
     """
     req_inf = RequestInfo()
     folder_client = self.get_object(pk)
     if isinstance(folder_client, FolderClient):
         serializer = FolderSerializer(folder_client, data=request.data)
         if serializer.is_valid():
             serializer.save()
             log = Log.objects.create(
                 action=Log.NOTIFICATION_TYPE.get_value('update_folder'),
                 user=request.user,
                 description='Modificacion de folder {} - {}'.format(
                     serializer.instance.id, serializer.instance.name))
             log.save()
             return req_inf.status_200()
         return req_inf.status_400(serializer.errors)
     else:
         return req_inf.status_404(folder_client)
Пример #8
0
 def post(self, request):
     """User API POST
     Args:
         username: (str)
         first_name: (str)
         last_name: (str)
         email: (str)
         password: (str)
     Description:
         create user view
     """
     data = request.data
     username = data.get('username')
     first_name = data.get('first_name', None)
     last_name = data.get('last_name', None)
     email = data.get('email')
     password = data.get('password')
     req_inf = RequestInfo()
     user = None
     try:
         user = User.objects.get(email=email)
     except ObjectDoesNotExist as e:
         pass
     if user is not None:
         return req_inf.status_400('email already exists')
     try:
         user_cls = Client.create(
             username,
             first_name,
             last_name,
             email,
             None,
             password
         )
         user_cls.save()
         return req_inf.status_200()
     except ObjectDoesNotExist as e:
         return req_inf.status_404(e.args[0])
     except Exception as e:
         return req_inf.status_400(e.args[0])
Пример #9
0
 def delete(self, request):
     """Address API PATCH
     Args:
         address_id: (int)
     Description:
         delete directions
     """
     user = get_jwt_user(request)
     data = request.data
     req_inf = RequestInfo()
     try:
         if user is not None:
             client = Client.objects.get(user=user)
             address = Address.objects.get(id=data.get('address_id'))
             address.delete()
             return req_inf.status_200('address deleted')
         else:
             return req_inf.status_401('token invalido')
     except ObjectDoesNotExist as e:
         return req_inf.status_404(e.args[0])
     except Exception as e:
         return req_inf.status_400(e.args[0])
Пример #10
0
 def post(self, request):
     """Address API GET
     Args:
         country: (str)
         region: (str)
         town: (str)
         neighborhood: (str)
         zip_code: (str)
         street: (str)
         street_number: (str)
         suite_number: (str)
     Description:
         create directions
     """
     user = get_jwt_user(request)
     data = request.data
     req_inf = RequestInfo()
     try:
         if user is not None:
             client = Client.objects.get(user=user)
             address = Address.create(
                 data.get('country'),
                 data.get('region'),
                 data.get('town'),
                 data.get('neighborhood'),
                 data.get('zip_code'),
                 data.get('street'),
                 data.get('street_number'),
                 data.get('suite_number')
             )
             client.addresses.add(address)
             client.save()
             return req_inf.status_200('address created')
         else:
             return req_inf.status_401('token invalido')
     except ObjectDoesNotExist as e:
         return req_inf.status_404(e.args[0])
     except Exception as e:
         return req_inf.status_400(e.args[0])
Пример #11
0
 def post(self, request):
     """UserClientAPIView post
     Description:
         Create clients
     Args:
         :param name: (str) the name of the client
     """
     req_inf = RequestInfo()
     serializer = ClientSerializer(data=request.data)
     if serializer.is_valid():
         try:
             serializer.save()
             log = Log.objects.create(
                 action=Log.NOTIFICATION_TYPE.get_value('create_client'),
                 user=request.user,
                 description='Creacion de cliente {} - {}'.format(
                     serializer.instance.id, serializer.instance.name))
             log.save()
             return req_inf.status_200()
         except Exception as e:
             return req_inf.status(e.args[0])
     else:
         return req_inf.status_400(serializer.errors)