def get(self, request, *args, **kwargs): id = kwargs.get('id') user = request.user business = Business.objects.get_business_by_user(user=user) if id: if not check_permission(request=request, permission='view_invoice'): return HttpResponseRedirect(redirect_to=reverse('login')) invoice = Invoice.objects.get_by_id(id=id, business=business) if invoice in Invoice.objects.ERRORS: return HttpResponse(status=404) else: if request.is_ajax(): return render_to_response("base/invoice/invoice_detalles.html", RequestContext(request,{'invoice':invoice})) return render_to_response("base/invoice/invoice_detalles_html.html", RequestContext(request,{'invoice':invoice})) else: print(check_permission(request=request, permission='list_invoice')) if not check_permission(request=request, permission='list_invoice'): return HttpResponseRedirect(redirect_to=reverse('login')) invoices = Invoice.objects.get_by_business(business=business) if request.is_ajax(): return render_to_response("base/invoice/table_invoice.html",RequestContext(request, {'invoices':invoices})) return render_to_response("base/invoice/invoice_list.html",RequestContext(request, {'invoices':invoices}))
def get(self, request, *args, **kwargs): id = kwargs.get('id') id_invoice = kwargs.get('id_invoice') print(id) flag_proposal = id != None user = request.user business = Business.objects.get_business_by_user(user=user) model = '' tax_base = business.tax if flag_proposal: if not check_permission(request=request, permission='create_update_proposal'): return HttpResponseRedirect(redirect_to=reverse('login')) response = Proposal.objects.get_by_id(id, business=business) model = 'proposal' if response in Proposal.objects.ERRORS: return HttpResponse(status=404) else: if not check_permission(request=request, permission='create_update_invoice'): return HttpResponseRedirect(redirect_to=reverse('login')) response = Invoice.objects.get_by_id(id_invoice, business=business) model = 'invoice' if response in Invoice.objects.ERRORS: return HttpResponse(status=404) response = response.proposal form = ItemForm(initial={'tax':tax_base}) # if request.is_ajax(): # return render_to_response("base/invoice/includes/items.html", RequestContext(request, {'items':response.get_items()})) return render_to_response("base/invoice/wizard/item_add_step.html", RequestContext(request, {'proposal':response,'form':form, 'model':model}))
def get(self, request, *args, **kwargs): id = kwargs.get('id') user = request.user business = Business.objects.get_business_by_user(user=user) if id: if not check_permission(request=request, permission='view_proposal'): return HttpResponseRedirect(redirect_to=reverse('login')) proposal = Proposal.objects.get_by_id(id=id, business=business) if proposal in Proposal.objects.ERRORS: return HttpResponse(status=404) if request.is_ajax(): return render_to_response("base/invoice/proposal/proposal_detalles.html", RequestContext(request,{'proposal':proposal})) return render_to_response("base/invoice/proposal/proposal_detalles_html.html", RequestContext(request,{'proposal':proposal})) else: if not check_permission(request=request, permission='list_proposal'): return HttpResponseRedirect(redirect_to=reverse('login')) proposals = Proposal.objects.get_by_business(business=business) if request.is_ajax(): return render_to_response("base/invoice/table.html",RequestContext(request, {'proposals':proposals})) return render_to_response("base/invoice/proposal_list.html", RequestContext(request,{'proposals':proposals,'model':"Proposals", 'description':"Listado de propuestas"}))
def get(self, request, *args, **kwargs): if not check_permission(request=request, permission='create_update_proposal'): return HttpResponseRedirect(redirect_to=reverse('login')) user = request.user business = Business.objects.filter(owner=user).first() id = kwargs.get('id') editting = False if id: editting = True print(id) try: print("try") proposal = Proposal.objects.get_by_id(id=id, business=business) event = proposal.event except: print("except") return HttpResponse(status=404) form = ProposalEventForm(instance=event, initial={'business':business,'comment':proposal.client_message}) else: print("else") form = ProposalEventForm(initial={'business':business}) if request.is_ajax(): return render_to_response('base/invoice/wizard/event_step.html', RequestContext(request, {'form':form,'model':'proposal','editting':editting})) return render_to_response('base/invoice/wizard/wizard.html', RequestContext(request, { 'id':id,'model':'proposal','editting':editting }))
def get(self, request, *args, **kwargs): if not check_permission(request=request, permission='create_update_invoice'): return HttpResponseRedirect(redirect_to=reverse('login')) user = request.user business = Business.objects.filter(owner=user).first() id = kwargs.get('id') if id: try: invoice = Invoice.objects.get_by_id(id=id, business=business) event = invoice.proposal.event except: return HttpResponse(status=404) form = InvoiceEventForm(instance=event, initial={'due_date':invoice.due_date,'business':business,'comment':invoice.proposal.client_message}) if request.is_ajax(): return render_to_response('base/invoice/wizard/event_step.html', RequestContext(request, {'form':form,'model':'invoice','id':id, 'edit':True})) else: form = InvoiceEventForm(initial={'business':business}) if request.is_ajax(): return render_to_response('base/invoice/wizard/event_step.html', RequestContext(request, {'form':form,'model':'invoice','id':id})) return render_to_response('base/invoice/wizard/wizard.html', RequestContext(request, {'form':form, 'model':'invoice', 'id':id }))
def post(self, request, *args, **kwargs): if not check_permission(request=request, permission='create_update_proposal'): return HttpResponseRedirect(redirect_to=reverse('login')) user = request.user business = Business.objects.filter(owner=user).first() form = ProposalEventForm(request.POST, initial={'business':business}) errors = {} id = kwargs.get('id') proposal = None if id: proposal = Proposal.objects.get_by_id(id=id, business=business) if not proposal: return HttpResponse(status=404) if form.is_valid(): response = Event.objects.create_or_update_proposal_from_event(form.cleaned_data, proposal=proposal) if response in Event.objects.ERRORS: errors['server'] = 'Intente de nuevo' return render_to_response('base/invoice/wizard/event_step.html', RequestContext(request, {'form':form,'errors':errors}),status=400) else: return JsonResponse(status=200, data={'proposal_id':response.id}, safe=False) else: print(form.errors.as_json()) return render_to_response('base/invoice/wizard/event_step.html', RequestContext(request, {'form':form,'errors':errors}),status=400)
def post(self, request, *args, **kwargs): if not check_permission(request=request, permission='add_customer'): return HttpResponseRedirect(redirect_to=reverse('login')) form = CustomerForm(request.POST) errors = {} if form.is_valid(): user = request.user business = Business.objects.filter(owner=user).first() response = Customer.objects.create_or_update_customer( form.cleaned_data, business) if response in Customer.objects.ERRORS: if response == Customer.objects.EMAIL_ERROR: errors['unique_email'] = "Correo Repetido" return render_to_response("base/customer/form.html", RequestContext( request, { 'form': form, 'errors': errors }), status=400) # messages.success(request, 'Se ha creado satisfactoriamnte el cliente especificado') return JsonResponse(data={'id': response.id}, status=200) else: print("error") return render_to_response("base/customer/form.html", RequestContext(request, { 'form': form, 'errors': errors }), status=400)
def post(self, request, *args, **kwargs): if not check_permission(request=request, permission='edit_customer'): return HttpResponseRedirect(redirect_to=reverse('login')) id = kwargs.get('id') user = request.user business = Business.objects.filter(owner=user).first() customer = Customer.objects.get_one_by_business_and_id(business=business, id=id) if customer: form = CustomerForm(request.POST) errors = {} if form.is_valid(): response = Customer.objects.create_or_update_customer(form.cleaned_data,business, customer) if response in Customer.objects.ERRORS: if response == Customer.objects.EMAIL_ERROR: errors['unique_email'] = "Correo Repetido" return render_to_response("base/customer/form.html", RequestContext(request,{'form':form,'errors':errors})) #messages.success(request, 'Se ha creado satisfactoriamnte el cliente especificado') return HttpResponseRedirect(redirect_to=reverse('customers')) else: return render_to_response("base/customer/form.html", RequestContext(request,{'form':form,'errors':errors})) else: return HttpResponse(status=404)
def get(self, request, *args, **kwargs): pidb64 = kwargs.get('pidb64') tokenb64 = kwargs.get('token') id = kwargs.get('id') if id: if not check_permission(request=request, permission='deny_proposal'): return HttpResponseRedirect(redirect_to=reverse('login')) 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: return HttpResponse(status=404) response = proposal.deny_by_business(); if response in Proposal.ERRORS: return JsonResponse(data={'error':response},status=400) return JsonResponse(data={'id':response.id}) try: id = force_text(urlsafe_base64_decode(pidb64)) token = force_text(urlsafe_base64_decode(tokenb64)) response = Proposal.objects.deny_proposal(id=id, token=token) print(response) if response == Proposal.objects.ERROR_TOKEN: return render_to_response("base/invoice/proposal/failed.html") elif response == Proposal.objects.ERROR_EXPIRED: return render_to_response("base/invoice/proposal/failed.html") else: return render_to_response("base/invoice/proposal/denied_success.html") except Exception as e: print(e) return HttpResponse(status=400)
def post(self, request, *args, **kwargs): user = request.user business = Business.objects.filter(owner=user).first() customer = None id = kwargs.get('id') if id: customer = Customer.objects.get_one_by_business_and_id( business=business, id=id) # print(request.body) if not check_permission(request=request, permission='add_customer'): return HttpResponse(status=401) print(request.body) data = json.loads(request.body.decode()) print(data.get('birthday')) if data.get('birthday'): dt_value = DateTimeField().to_python(data.get('birthday')) dd_value = dt_value.date() dd_formatted = formats.date_format(dd_value, 'Y-m-d') data['birthday'] = dd_formatted if data.get('prefix'): data['prefix'] = data.get('prefix').get('id') if data.get('suffix'): data['suffix'] = data.get('suffix').get('id') # return HttpResponse() # state = N_State.objects.filter(id=data.get('state')).first() # if not state: # return JsonResponse(status=400, data=[{'state':[{'messasge':'Campo requerido'}]}], safe=False) form = CustomerForm(data) if form.is_valid(): print(form.cleaned_data) response = Customer.objects.create_or_update_customer( form.cleaned_data, business=business, customer=customer) if response in Customer.objects.ERRORS: if response == Customer.objects.EMAIL_ERROR: return JsonResponse(status=400, data=[{ 'state': [{ 'messasge': 'Correo Repetido' }] }], safe=False) return JsonResponse(status=400, data=[{ 'state': [{ 'messasge': 'Error al procesar los datos' }] }], safe=False) return JsonResponse(status=201, data=response.serialize()) else: return JsonResponse(form.errors.as_json(), status=400, safe=False)
def post(self, request, *args, **kwargs): if not check_permission(request=request, permission='remove_customer'): return HttpResponseRedirect(redirect_to=reverse('login')) id = kwargs.get('id') user = request.user business = Business.objects.filter(owner=user).first() Customer.objects.delete_by_business(id=id, business=business) # messages.success(request, 'Se ha eliminado satisfactoriamnte el cliente ') return HttpResponse(status=200)
def post(self, request, *args, **kwargs): if not check_permission(request=request, permission='update_profile'): return HttpResponseRedirect(redirect_to=reverse('login')) is_ajax = request.is_ajax() user = request.user business = Business.objects.filter(owner=user).first() logo_url = business.get_logo_url # need_payment = business.need_payment_order() # logo_url = business.logo.url[business.logo.url.find('/media/'+settings.PROFILE_DIR_NAME+'/'):] form = BusinessProfileForm(request.POST, request.FILES) errors = {} if form.is_valid(): response = Business.objects.update_business_data( business, form.cleaned_data, logo=request.FILES.get('logo')) if response in Business.objects.ERRORS: if response == Business.objects.EMAIL_ERROR: errors['email'] = "Correo Repetido" if is_ajax: return JsonResponse([errors, form.errors], status=400) print(errors) print(response) return render_to_response( "base/business/profile.html", RequestContext( request, { 'logo_url': logo_url, 'business': business, 'form': form, 'errors': errors })) else: logo_url = response.get_logo_url if is_ajax: return HttpResponse() return HttpResponseRedirect(redirect_to=reverse('dashboard')) #return render_to_response("base/business/profile.html", RequestContext(request, {'logo_url':logo_url,'business':business,'form':form})) else: if is_ajax: return JsonResponse(form.errors, status=400) return render_to_response( "base/business/profile.html", RequestContext( request, { 'logo_url': logo_url, 'business': business, 'form': form, 'errors': errors }))
def get(self, request, *args, **kwargs): if not check_permission(request=request, permission='update_subscription'): return HttpResponseRedirect(redirect_to=reverse('login')) business_id = kwargs.get('business_id') PUBLISHABLE_KEY = settings.STRIPE_PUBLISHABLE_KEY return render_to_response( 'base/stripe_account/reopen_subscribe.html', RequestContext(request, { 'PUBLISHABLE_KEY': PUBLISHABLE_KEY, 'business_id': business_id }))
def get(self, request, *args, **kwargs): if not check_permission(request=request, permission='edit_customer'): return HttpResponseRedirect(redirect_to=reverse('login')) id = kwargs.get('id') user = request.user business = Business.objects.filter(owner=user).first() customer = Customer.objects.get_one_by_business_and_id(business=business, id=id) if customer: form = CustomerForm(instance=customer, initial=self.set_data_from_customer(customer)) return render_to_response("base/customer/form.html", RequestContext(request,{'form':form})) else: return HttpResponse(status=404)
def post(self, request, *args, **kwargs): if not check_permission(request=request, permission='delete_proposal'): return HttpResponse(status=401) user = request.user business = Business.objects.filter(owner=user).first() data = json.loads(request.body.decode()) ids = [prop.get('id') for prop in data] try: deleted = Proposal.objects.bulk_delete(ids_list=ids, business=business) return JsonResponse(status=200, data={'deleted':deleted}) except Exception as e: print(e) return HttpResponse(status=400)
def post(self, request, *args, **kwargs): if not check_permission(request=request, permission='delete_proposal'): return HttpResponseRedirect(redirect_to=reverse('login')) id = kwargs.get('id') if id: user = request.user business = Business.objects.get_business_by_user(user=user) proposal = Proposal.objects.get_by_id(id=id, business=business) response = Proposal.objects.cancell_proposal(proposal) if response in Proposal.objects.ERRORS: return HttpResponse(status=400) return HttpResponse() return HttpResponse()
def post(self, request, *args, **kwargs): if not check_permission(request=request, permission='delete_invoice'): return HttpResponseRedirect(redirect_to=reverse('login')) id = kwargs.get('id') if id: user = request.user business = Business.objects.get_business_by_user(user=user) invoice = Invoice.objects.get_by_id(id=id, business=business) response = Invoice.objects.delete_invoice(invoice) if response in Invoice.objects.ERRORS: return HttpResponse(status=400) return HttpResponse() return HttpResponse()
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={})
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={})
def post(self, request, *args, **kwargs): if not check_permission(request=request, permission='update_subscription'): return HttpResponseRedirect(redirect_to=reverse('login')) PUBLISHABLE_KEY = settings.STRIPE_PUBLISHABLE_KEY business_id = kwargs.get('business_id') business = Business.objects.get_business_by_id(id=business_id) stripeToken = request.POST.get('stripeToken') response = None try: with transaction.atomic(): response = reopen_subscription(localcustomer=business.stripecustomer,newtoken=stripeToken) if response in ERRORS: raise RuntimeError() business.set_stripe_customer(customer=response) return render_to_response('base/stripe_account/reopen_subscribe.html', RequestContext(request, { 'error':response, 'succeed':True, 'PUBLISHABLE_KEY':PUBLISHABLE_KEY,'business_id':business_id})) except: return render_to_response('base/stripe_account/reopen_subscribe.html', RequestContext(request, {'error':response,'PUBLISHABLE_KEY':PUBLISHABLE_KEY,'business_id':business_id}))
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) proposal.event.schedule() 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={}) else: return JsonResponse(status=500, data={})
def post(self, request, *args, **kwargs): if not check_permission(request=request, permission='update_profile'): return HttpResponse(status=401) user = request.user business = Business.objects.get_business_by_user(user=user) data = json.loads(request.body.decode()) profile_data = self._extract_data(data=data) print('Es le usuario el que esta editado su profile:', user.email == profile_data.get('email')) # print(profile_data) form = BusinessProfileForm(profile_data) if form.is_valid(): data_to_save = form.cleaned_data response = Business.objects.update_business_data(business=business, data=data_to_save) if response in Business.objects.ERRORS: if response == Business.objects.EMAIL_ERROR: data = {'email':[{'code':'repeated', 'message':'Este correo ya esta en uso'}]} return JsonResponse(status=400, safe=False, data=json.JSONEncoder().encode(data)) return HttpResponse(status=200) else: return JsonResponse(status=400, safe=False, data=form.errors.as_json())
def get(self, request, *args, **kwargs): if not check_permission(request=request, permission='add_customer'): return HttpResponseRedirect(redirect_to=reverse('login')) form = CustomerForm() return render_to_response("base/customer/form.html", RequestContext(request, {'form':form}))