def cpq_view( request, cpq_code, cpq_type, # CPQType.INVOICE or CPQType.QUOTE data=None, template_name='htk/fragments/cpq/invoice.html', renderer=_r ): if data is None: data = wrap_data(request) from htk.apps.cpq.enums import CPQType from htk.apps.cpq.utils import resolve_cpq_code cpq_obj = resolve_cpq_code(cpq_code, cpq_type=cpq_type) if cpq_obj is None: raise Http404 else: pass if cpq_type == CPQType.INVOICE: data_key = 'invoice' elif cpq_type == CPQType.QUOTE: data_key = 'quote' else: raise Http404 data[data_key] = cpq_obj if request.GET.get('pdf'): response = render_to_pdf_response(template_name, data) else: response = renderer(template_name, data) return response
def cpq_view(request, cpq_code, cpq_type, template_name): """Renders an invoice, quote, or group quote `cpq_type` CPQType.INVOICE or CPQType.QUOTE or CPQType.GROUP_QUOTE """ renderer = get_renderer() wrap_data = get_template_context_generator() data = wrap_data(request) from htk.apps.cpq.utils import resolve_cpq_code cpq_obj = resolve_cpq_code(cpq_code, cpq_type=cpq_type) if cpq_obj is None: raise Http404 else: pass if cpq_type in (CPQType.INVOICE, CPQType.QUOTE, CPQType.GROUP_QUOTE): cpq_obj_key = cpq_type.name.lower() else: raise Http404 cpq_full_url = cpq_obj.get_full_url(base_uri=data['request']['base_uri']) if htk_setting('HTK_CPQ_PAY_ONLINE'): live_mode = htk_setting('HTK_STRIPE_LIVE_MODE') data['stripe_key'] = get_stripe_public_key(live_mode=live_mode) data['cpq_payment_uri'] = cpq_obj.get_payment_uri() data['cpq_obj'] = cpq_obj data['cpq_url'] = cpq_full_url # deprecated data['cpq_type'] = cpq_obj_key data[cpq_obj_key] = cpq_obj data['%s_url' % cpq_obj_key] = cpq_full_url if request.GET.get('pdf'): data['pdf_filename'] = '%s.pdf' % cpq_obj_key from htk.utils.pdf_utils import render_to_pdf_response response = render_to_pdf_response(template_name, data, show_content_in_browser=False) else: response = renderer(template_name, data) return response
def cpq_view(request, cpq_code, cpq_type, template_name): """Renders an invoice, quote, or group quote `cpq_type` CPQType.INVOICE or CPQType.QUOTE or CPQType.GROUP_QUOTE """ renderer = get_renderer() wrap_data = get_template_context_generator() data = wrap_data(request) from htk.apps.cpq.utils import resolve_cpq_code cpq_obj = resolve_cpq_code(cpq_code, cpq_type=cpq_type) if cpq_obj is None: raise Http404 else: pass if cpq_type in (CPQType.INVOICE, CPQType.QUOTE, CPQType.GROUP_QUOTE): cpq_obj_key = cpq_type.name.lower() else: raise Http404 cpq_full_url = cpq_obj.get_full_url(base_uri=data['request']['base_uri']) if htk_setting('HTK_CPQ_PAY_ONLINE'): live_mode = htk_setting('HTK_STRIPE_LIVE_MODE') data['stripe_key'] = get_stripe_public_key(live_mode=live_mode) data['cpq_payment_uri'] = cpq_obj.get_payment_uri() data['cpq_obj'] = cpq_obj data['cpq_url'] = cpq_full_url # deprecated data['cpq_type'] = cpq_obj_key data[cpq_obj_key] = cpq_obj data['%s_url' % cpq_obj_key] = cpq_full_url if request.GET.get('pdf'): data['pdf_filename'] = '%s.pdf' % cpq_obj_key from htk.utils.pdf_utils import render_to_pdf_response response = render_to_pdf_response(template_name, data, show_content_in_browser=False) else: response = renderer(request, template_name, data) return response
def invoice( request, invoice_code, data=None, template_name='htk/fragments/invoices/invoice.html', renderer=_r ): if data is None: data = wrap_data(request) from htk.apps.invoices.utils import resolve_invoice_code invoice = resolve_invoice_code(invoice_code) if invoice is None: raise Http404 else: pass data['invoice'] = invoice if request.GET.get('pdf'): response = render_to_pdf_response(template_name, data) else: response = renderer(template_name, data) return response