Exemple #1
0
def check_booking_activity(sender, **kwargs):
    event = kwargs.get('event')
    print(event.may_create_proposal())
    if event.may_create_proposal():
        try:
            with transaction.atomic():
                proposal = Proposal.objects.create_proposal_from_external_source(
                    event=event)
                if proposal in Proposal.objects.ERRORS:
                    raise RuntimeError()
                all_requests = event.get_requests()
                proposal.create_items_from_requests(all_requests)
                if event.may_send_proposal():
                    task_send_proposal(proposal=proposal)
                    task_send_booking_nt_to_business(event=event)
        except Exception as e:
            print(e)
            pass
Exemple #2
0
def finish_send_proposal(request, *args, **kwargs):
   user = request.user
   business = Business.objects.get_business_by_user(user=user)

   proposal = Proposal.objects.get_by_id(id=kwargs.get('id_proposal'), business=business)

   response = task_send_proposal(proposal)

   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('proposal_list'))
Exemple #3
0
    def post(self, request, *arg, **kwargs):
        if not check_permission(request=request, permission='mail_proposal'):
                return HttpResponseRedirect(redirect_to=reverse('login'))
        id = kwargs.get('id')
        user = request.user
        business = Business.objects.get_business_by_user(user=user)

        proposal = Proposal.objects.get_by_id(id=id, business=business)

        if proposal in Proposal.objects.ERRORS or not proposal.may_send_email():
            return HttpResponse(status=404)

        response = task_send_proposal(proposal)

        if response == OK:
            return JsonResponse(status=200, data={})
        else:
            return JsonResponse(status=500, data={})
Exemple #4
0
    def post(self, request, *arg, **kwargs):
        if not check_permission(request=request, permission='mail_proposal'):
                return HttpResponse(status=401)
        id = kwargs.get('id')

        user = request.user
        business = Business.objects.get_business_by_user(user=user)

        proposal = Proposal.objects.get_by_id(id=id, business=business)
        proposal.event.accepted()
        if proposal in Proposal.objects.ERRORS or not proposal.may_send_email():
            return HttpResponse(status=404)

        old_status = proposal.status
        proposal.prepare_to_send()
        response = task_send_proposal(proposal, old_status=old_status)

        if response == OK:
            return JsonResponse(status=200, data=proposal.serialize(), safe=False)
        else:
            return JsonResponse(status=500, data={})