Esempio n. 1
0
    def put(self,request,model_login,*args,**kwargs):
        try:
            model_product = ModelProduct.objects.update(
                request,
                model_login)

        except Exception as error:
            BusinessExceptionLog(request,model_login,
                message=error,
                trace=traceback.format_exc())

            return JsonResponse({'message': str(error)}, status=400)

        result = {
            'product_id': model_product.product_id,
            'name': model_product.name,
            'description': model_product.description,
            'code': model_product.code,
            'compound': model_product.compound,
            'unit_weight': model_product.unit_weight,
            'weight': model_product.weight,
            'width': model_product.width,
            'length': model_product.length,
            'height': model_product.height,
            'origin': model_product.origin,
            'gtin': model_product.gtin,
            'quantity': model_product.quantity,
            'published': model_product.published,
        }

        return JsonResponse(result,status=200)
Esempio n. 2
0
    def delete(self,request,model_login,*args,**kwargs):
        try:
            model_address = ModelAddress.objects.delete(request,model_login)

        except Exception as error:
            BusinessExceptionLog(request,model_login,
                message=error,
                trace=traceback.format_exc())

            return JsonResponse({'message': str(error)}, status=400)

        result = {
            'result': True
        }

        return JsonResponse(result,status=200)
Esempio n. 3
0
    def post(self, request, *args, **kwargs):
        try:
            business_auth = BusinessAuth(request)

            model_login = business_auth.auth()

        except Exception as error:
            BusinessExceptionLog(request,
                                 None,
                                 message=error,
                                 trace=traceback.format_exc())

            return JsonResponse({'message': str(error)}, status=400)

        result = {
            'token': model_login.token,
            'date_expired': model_login.date_expired,
        }

        return JsonResponse(result, status=200)
Esempio n. 4
0
    def put(self,request,model_login,*args,**kwargs):
        try:
            model_address = ModelAddress.objects.update(request,model_login)

        except Exception as error:
            BusinessExceptionLog(request,model_login,
                message=error,
                trace=traceback.format_exc())

            return JsonResponse({'message': str(error)}, status=400)

        result = {
            'address_id': model_address.address_id,
            'person_id': model_address.person.person_id,
            'state': model_address.state,
            'city': model_address.city,
            'number': model_address.number,
            'complement': model_address.complement,
            'invoice': model_address.invoice,
            'delivery': model_address.delivery,
        }

        return JsonResponse(result,status=200)
Esempio n. 5
0
    def get(self,request,model_login,*args,**kwargs):
        page = request.GET.get('page',None)
        limit = request.GET.get('limit',None)
        name = request.GET.get('name',None)
        product_id = request.GET.get('product_id',None)

        if product_id:
            try:
                model_product = ModelProduct.objects.get(
                    product_id=product_id)

            except Exception as error:
                BusinessExceptionLog(request,model_login,
                    message=error,
                    trace=traceback.format_exc())

                return JsonResponse({'message': 'Nenhum registro encontrado para este product_id[87]'}, status=400)

            result = {
                'product_id': model_product.product_id,
                'name': model_product.name,
                'description': model_product.description,
                'code': model_product.code,
                'compound': model_product.compound,
                'unit_weight': model_product.unit_weight,
                'weight': model_product.weight,
                'width': model_product.width,
                'length': model_product.length,
                'height': model_product.height,
                'origin': model_product.origin,
                'gtin': model_product.gtin,
                'quantity': model_product.quantity,
                'published': model_product.published,
            }

            return JsonResponse(result, safe=False,status=200)

        if page and re.match(r'^[0-9]+$', str(page)) and int(page) >= 1:
            page = int(page)

        else:
            page = 1

        if limit and re.match(r'^[0-9]+$', str(limit)) and int(limit) >= 1:
            limit = int(limit)

        else:
            limit = ApiConfig.query_row_limit

        try:
            model_product = ModelProduct.objects.filter()

            if name:
                model_product = model_product.filter(name__contains=name)

        except Exception as error:
            BusinessExceptionLog(request,model_login,
                message=error,
                trace=traceback.format_exc())

            return JsonResponse({'message': 'Erro na consulta de produto[88]'}, status=400)

        paginator = Paginator(model_product, limit)

        try:
            product = paginator.page(page)
            product_total = model_product.count()
            product_has_next = product.has_next()
            product_has_previous = product.has_previous()

            product_data = product.object_list
            product_data = list(product_data.values(
                'product_id','name','description','code','compound','unit_weight',
                'weight','width','length','height','origin','gtin','published','quantity'))

        except Exception as error:
            BusinessExceptionLog(request,model_login,
                message=error,
                trace=traceback.format_exc())

            return JsonResponse({'message': 'Nenhum registro encontrado![80]'}, status=400)

        result = {
            'total': product_total,
            'limit': limit,
            'count': paginator.count,
            'num_pages': paginator.num_pages,
            'has_next': product_has_next,
            'has_previous': product_has_previous,
            'data': product_data,
        }

        return JsonResponse(result,status=200)
Esempio n. 6
0
    def get(self, request, model_login, *args, **kwargs):
        page = request.GET.get('page', None)
        limit = request.GET.get('limit', None)
        order_id = request.GET.get('order_id', None)
        person_id = request.GET.get('person_id', None)
        product_id = request.GET.get('product_id', None)

        if order_id:
            try:
                model_order = ModelOrder.objects.get(order_id=order_id)

            except Exception as error:
                raise Exception(
                    'Nenhum registro de pessoa encontrado com este ID')

            try:

                model_address = ModelAddress.objects.filter(
                    person_id=model_person.person_id)

            except Exception as error:
                BusinessExceptionLog(request,
                                     model_login,
                                     message=error,
                                     trace=traceback.format_exc())

                return JsonResponse({'message': str(error)}, status=400)

            result = {
                'person_id':
                model_person.person_id,
                'parent_id':
                model_person.parent_id,
                'name':
                model_person.name,
                'cpf':
                model_person.cpf,
                'cnpj':
                model_person.cnpj,
                'email':
                model_person.email,
                'phone1':
                model_person.phone1,
                'phone2':
                model_person.phone2,
                'address':
                list(
                    model_address.values('address_id', 'state', 'city',
                                         'number', 'complement', 'invoice',
                                         'delivery', 'date_create')),
            }

            return JsonResponse(result, status=200)

        if page and re.match(r'^[0-9]+$', str(page)) and int(page) >= 1:
            page = int(page)

        else:
            page = 1

        if limit and re.match(r'^[0-9]+$', str(limit)) and int(limit) >= 1:
            limit = int(limit)

        else:
            limit = ApiConfig.query_row_limit

        try:
            model_person = ModelPerson.objects.filter(login__profile_id__in=[
                ModelLogin.PROFILE_DIRECTOR,
                ModelLogin.PROFILE_CLIENT,
            ]).order_by('-person_id')

            if name:
                model_person = model_person.filter(name__contains=name)

        except Exception as error:
            BusinessExceptionLog(request,
                                 model_login,
                                 message=error,
                                 trace=traceback.format_exc())

            return JsonResponse({'message': str(error)}, status=400)

        paginator = Paginator(model_person, limit)

        try:
            person = paginator.page(page)
            person_total = model_person.count()
            person_has_next = person.has_next()
            person_has_previous = person.has_previous()

            person_data = person.object_list
            person_data = list(
                person_data.values('person_id', 'name', 'cpf', 'cnpj', 'email',
                                   'phone1', 'phone2'))

        except Exception as error:
            BusinessExceptionLog(request,
                                 model_login,
                                 message=error,
                                 trace=traceback.format_exc())

            return JsonResponse({'message': 'Erro na consulta de pessoa!'},
                                status=400)

        result = {
            'total': person_total,
            'limit': limit,
            'count': paginator.count,
            'num_pages': paginator.num_pages,
            'has_next': person_has_next,
            'has_previous': person_has_previous,
            'data': person_data,
        }

        return JsonResponse(result, status=200)
Esempio n. 7
0
    def get(self,request,model_login,*args,**kwargs):
        page = request.GET.get('page',None)
        limit = request.GET.get('limit',None)
        address_id = request.GET.get('address_id',None)
        person_id = request.GET.get('person_id',None)
        state = request.GET.get('state',None)
        city = request.GET.get('city',None)
        number = request.GET.get('number',None)
        complement = request.GET.get('complement',None)
        invoice = request.GET.get('invoice',None)
        delivery = request.GET.get('delivery',None)

        if address_id:
            try:
                model_address = ModelAddress.objects.get(
                    address_id=address_id,)

            except Exception as error:
                BusinessExceptionLog(request,model_login,
                    message=error,
                    trace=traceback.format_exc())

                return JsonResponse({'message': 'Registro de endereço não encontrado![78]'}, status=400)

            result = {
                'address_id': model_address.address_id,
                'person_id': model_address.person_id,
                'state': model_address.state,
                'city': model_address.city,
                'number': model_address.number,
                'complement': model_address.complement,
                'invoice': model_address.invoice,
                'delivery': model_address.delivery,
            }

            return JsonResponse(result,status=200)

        if page and re.match(r'^[0-9]+$', str(page)) and int(page) >= 1:
            page = int(page)

        else:
            page = 1

        if limit and re.match(r'^[0-9]+$', str(limit)) and int(limit) >= 1:
            limit = int(limit)

        else:
            limit = ApiConfig.query_row_limit

        if invoice and invoice not in ['0','1'] or delivery and delivery not in ['0','1']:
            error = Exception('Valor incorreto![55]')

            BusinessExceptionLog(request,model_login,
                message=error,
                trace=traceback.format_exc())

            return JsonResponse({'message': str(error)}, status=400)

        if invoice == '0':
            invoice = False

        elif invoice == '1':
            invoice = True

        if delivery == '0':
            delivery = False

        elif delivery == '1':
            delivery = True

        try:
            model_address = ModelAddress.objects.filter()

            if person_id:
                model_address = model_address.filter(person_id=person_id)

            if city:
                model_address = model_address.filter(city__contains=city)

            if state:
                model_address = model_address.filter(state__contains=state)

            if number:
                model_address = model_address.filter(number__contains=number)

            if complement:
                model_address = model_address.filter(complement__contains=complement)

            if invoice:
                model_address = model_address.filter(invoice=invoice)

            if delivery:
                model_address = model_address.filter(delivery=delivery)

        except Exception as error:
            BusinessExceptionLog(request,model_login,
                message=error,
                trace=traceback.format_exc())

            return JsonResponse({'message': 'Registros de endereço não encontrado![79]'}, status=400)

        paginator = Paginator(model_address, limit)

        try:
            address = paginator.page(page)
            address_total = model_address.count()
            address_has_next = address.has_next()
            address_has_previous = address.has_previous()

            address_data = address.object_list
            address_data = list(address_data.values(
                'address_id','person_id','state','city','number',
                'complement','invoice','delivery'))

        except Exception as error:
            BusinessExceptionLog(request,model_login,
                message=error,
                trace=traceback.format_exc())

            return JsonResponse({'message': 'Nenhum registro encontrado![80]'}, status=400)

        result = {
            'total': address_total,
            'limit': limit,
            'count': paginator.count,
            'num_pages': paginator.num_pages,
            'has_next': address_has_next,
            'has_previous': address_has_previous,
            'data': address_data,
        }

        return JsonResponse(result,status=200)