Ejemplo n.º 1
0
def proposal_accepted_send_invoice_email(sender, **kwargs):
    proposal = kwargs.get('proposal')
    invoice = Invoice.objects.get_by_proposal(proposal=proposal)
    if invoice:
        old_status = invoice.status
        if old_status.id != N_Invoice_Status.PENDING:
            invoice.status = N_Invoice_Status.objects.get(
                pk=N_Invoice_Status.PENDING)
            invoice.save()
        task_send_invoice(invoice=invoice, old_status=old_status)
Ejemplo n.º 2
0
def finish_send_invoice(request, *args, **kwargs):
   user = request.user
   business = Business.objects.get_business_by_user(user=user)

   invoice = Invoice.objects.get_by_id(id=kwargs.get('id_invoice'), business=business)

   response = task_send_invoice(invoice=invoice)

   if response == OK:
       messages.success(request, "El correo ha sido enviado satisfactoriamente")
   else:
       messages.error(request, "Lo sentimos, ocurrio un error al enviar su correo. Intente de nuevo")

   return HttpResponseRedirect(redirect_to=reverse('invoice_list'))
Ejemplo n.º 3
0
    def post(self, request, *arg, **kwargs):
        if not check_permission(request=request, permission='mail_invoice'):
           return HttpResponseRedirect(redirect_to=reverse('login'))
        id = kwargs.get('id')
        user = request.user
        business = Business.objects.get_business_by_user(user=user)

        invoice = Invoice.objects.get_by_id(id=id, business=business)
        if invoice in Invoice.objects.ERRORS or not invoice.may_send_email():
            return HttpResponse(status=404)

        response = task_send_invoice(invoice)

        if response == OK:
            return JsonResponse(status=200, data={})
        else:
            return JsonResponse(status=500, data={})
Ejemplo n.º 4
0
    def post(self, request, *arg, **kwargs):
        if not check_permission(request=request, permission='mail_invoice'):
           return HttpResponse(status=401)
        id = kwargs.get('id')
        user = request.user
        business = Business.objects.get_business_by_user(user=user)

        invoice = Invoice.objects.get_by_id(id=id, business=business)
        if invoice in Invoice.objects.ERRORS or not invoice.may_send_email():
            return HttpResponse(status=404)

        old_status = invoice.status
        invoice.prepare_to_send()

        response = task_send_invoice(invoice, old_status=old_status)

        if response == OK:
            return JsonResponse(status=200, data=invoice.proposal.serialize(Proposal.default_fields+['invoice']), safe=False)
        else:
            return JsonResponse(status=500, data={})
Ejemplo n.º 5
0
def proposal_accepted_send_invoice_email(sender, **kwargs):
    proposal = kwargs.get('proposal')
    invoice = Invoice.objects.get_by_proposal(proposal=proposal)
    if invoice:
        task_send_invoice(invoice=invoice)