Example #1
0
def products(request):
    renderer = get_renderer()
    wrap_data = get_template_context_generator()
    data = wrap_data(request)
    data['products'] = Product.objects.all()
    response = renderer('store/products.html', data)
    return response
Example #2
0
def import_customers(request):
    renderer = get_renderer()
    wrap_data = get_template_context_generator()
    data = wrap_data(request)
    from htk.apps.customers.forms import OrganizationCustomersImportForm
    success = False
    if request.method == 'POST':
        data['was_submitted'] = True
        import_customers_form = OrganizationCustomersImportForm(
            request.POST, request.FILES)
        if import_customers_form.is_valid():
            customers = import_customers_form.save()
            data[
                'organization_customer'] = import_customers_form.organization_customer
            data['customers'] = customers
            success = True
        else:
            customers = None
    else:
        import_customers_form = OrganizationCustomersImportForm()

    data['import_customers_form'] = import_customers_form
    data['success'] = success
    template_name = htk_setting('HTK_CPQ_TEMPLATE_NAME_IMPORT_CUSTOMERS')
    response = renderer(template_name, data)
    return response
Example #3
0
def index(request):
    renderer = get_renderer()
    wrap_data = get_template_context_generator()
    data = wrap_data(request)
    data['product_collections'] = ProductCollection.objects.all()
    response = renderer('store/index.html', data)
    return response
Example #4
0
def products(request):
    renderer = get_renderer()
    wrap_data = get_template_context_generator()
    data = wrap_data(request)
    data['products'] = Product.objects.all()
    response = renderer('store/products.html', data)
    return response
Example #5
0
def index(request):
    renderer = get_renderer()
    wrap_data = get_template_context_generator()
    data = wrap_data(request)
    data['product_collections'] = ProductCollection.objects.all()
    response = renderer('store/index.html', data)
    return response
Example #6
0
def product(request, product_id, seo_title, **kwargs):
    renderer = get_renderer()
    wrap_data = get_template_context_generator()
    product = kwargs.pop('product')
    data = wrap_data(request)
    data['product'] = product
    response = renderer('store/product.html', data)
    return response
Example #7
0
def product_collection_view(request, collection_id, seo_title, **kwargs):
    renderer = get_renderer()
    wrap_data = get_template_context_generator()
    product_collection = kwargs.pop('productcollection')
    data = wrap_data(request)
    data['product_collection'] = product_collection
    response = renderer('store/collection.html', data)
    return response
Example #8
0
def product(request, product_id, seo_title, **kwargs):
    renderer = get_renderer()
    wrap_data = get_template_context_generator()
    product = kwargs.pop('product')
    data = wrap_data(request)
    data['product'] = product
    response = renderer('store/product.html', data)
    return response
Example #9
0
def product_collection_view(request, collection_id, seo_title, **kwargs):
    renderer = get_renderer()
    wrap_data = get_template_context_generator()
    product_collection = kwargs.pop('productcollection')
    data = wrap_data(request)
    data['product_collection'] = product_collection
    response = renderer('store/collection.html', data)
    return response
Example #10
0
def dashboard(request):
    renderer = get_renderer()
    wrap_data = get_template_context_generator()
    from htk.apps.cpq.utils.general import get_admin_urls
    from htk.apps.cpq.utils.general import get_reporting_urls
    from htk.apps.cpq.utils.general import get_tools_urls
    data = wrap_data(request)
    data['admin_urls'] = get_admin_urls()
    data['reporting_urls'] = get_reporting_urls()
    data['tools_urls'] = get_tools_urls()
    template_name = htk_setting('HTK_CPQ_TEMPLATE_NAME_DASHBOARD')
    response = renderer(request, template_name, data)
    return response
Example #11
0
def receivables(request, year=None):
    renderer = get_renderer()
    wrap_data = get_template_context_generator()
    data = wrap_data(request)
    from htk.apps.cpq.utils import get_invoice_years
    data['invoice_years'] = get_invoice_years()
    if year:
        from htk.apps.cpq.utils import get_receivables_by_year
        receivables = get_receivables_by_year(year)
        if receivables.exists():
            data['invoice_year'] = year
            data['receivables'] = receivables
            data['total'] = sum([invoice.get_total() for invoice in receivables])
    template_name = htk_setting('HTK_CPQ_TEMPLATE_NAME_RECEIVABLES')
    response = renderer(request, template_name, data=data)
    return response
Example #12
0
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
Example #13
0
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
Example #14
0
def import_customers(request):
    renderer = get_renderer()
    wrap_data = get_template_context_generator()
    data = wrap_data(request)
    from htk.apps.customers.forms import OrganizationCustomersImportForm
    success = False
    if request.method == 'POST':
        data['was_submitted'] = True
        import_customers_form = OrganizationCustomersImportForm(request.POST, request.FILES)
        if import_customers_form.is_valid():
            customers = import_customers_form.save()
            data['organization_customer'] = import_customers_form.organization_customer
            data['customers'] = customers
            success = True
        else:
            customers = None
    else:
        import_customers_form = OrganizationCustomersImportForm()

    data['import_customers_form'] = import_customers_form
    data['success'] = success
    template_name = htk_setting('HTK_CPQ_TEMPLATE_NAME_IMPORT_CUSTOMERS')
    response = renderer(request, template_name, data=data)
    return response