예제 #1
0
def home(request):
    if request.user.is_authenticated:
        context = gui.get_init_context(request)
        context['content_links'] = gui.get_content_links(request)
        return render(request, "billing/home.html", context)
    else:
        return redirect('login')
예제 #2
0
def customer_offers(request, customer_id):
    context = gui.get_init_context(request)
    context['cart_items'] = models.Order.get_customer_orders(request,
                                                             customer_id,
                                                             info=True)

    if request.POST:
        context['offer_item_forms'], submited_frm = gui.get_forms_list(
            request, models.BundleAssetPrice.get_available_bundles(request),
            forms.OrderItemForm)

        if submited_frm:
            if submited_frm.is_valid():
                models.Order.save_order_item(request, customer_id,
                                             submited_frm)

            context['cart_items'] = models.Order.get_customer_orders(
                request, customer_id, info=True)
            context['main_offers_form'] = forms.OffersForm()
        else:
            context['main_offers_form'] = forms.OffersForm(
                request.POST,
                request=request,
                orders=models.Order.get_customer_orders(request, customer_id))
            if context['main_offers_form'].is_valid():
                return redirect('customer_cart', customer_id=customer_id)
    else:
        context['offer_item_forms'], submited_frm = gui.get_forms_list(
            request, models.BundleAssetPrice.get_available_bundles(request),
            forms.OrderItemForm)
        context['main_offers_form'] = forms.OffersForm()

    return render(request, "billing/offers.html", context)
예제 #3
0
def invoices(request):
    context = gui.get_init_context(request)

    gv_name, rows, headers, actions = \
     models.Invoice.get_invoices_for_greed(request, {})

    context['dg_data'] = gui.setup_dataview(gv_name, rows, headers, actions)

    return render(request, "billing/datagrid_with_actions.html", context)
예제 #4
0
def customer_assets(request, customer_id):
    context = gui.get_init_context(request)

    gv_name, rows, headers, actions = \
     models.CustomerAsset.\
     format_customer_assets_for_greed(request, {'customer__id': customer_id})

    context['dg_data'] = gui.setup_dataview(gv_name, rows, headers, actions)

    return render(request, "billing/datagrid_with_actions.html", context)
예제 #5
0
def kpo(request):
    context = gui.get_init_context(request)
    years = models.Invoice.get_all_years()

    if request.POST:
        context['main_form'] = forms.KPOForm(request.POST,
                                             request=request,
                                             years=years)
        if context['main_form'].is_valid():
            return redirect('download_kpo',
                            year=context['main_form'].cleaned_data['year'])
    else:
        context['main_form'] = forms.KPOForm(request=request, years=years)

    return render(request, "billing/main_form.html", context)
예제 #6
0
def customers(request):
    context = gui.get_init_context(request)

    context['filter_form'] = forms.SearchCustomersForm(request.GET,
                                                       request=request)
    if context['filter_form'].is_valid():
        gv_name, rows, headers, actions = \
         models.Customer.\
         format_customer_company_for_greed(
          request,
          context['filter_form'].querry_filter
         )

        context['dg_data'] = gui.setup_dataview(gv_name, rows, headers,
                                                actions)

    return render(request, "billing/datagrid_with_actions.html", context)
예제 #7
0
def customer_cart(request, customer_id):
    context = gui.get_init_context(request)
    orders = models.Order.get_customer_orders(request, customer_id)
    if request.POST:
        context['main_form'] = forms.PaymentForm(request.POST,
                                                 request=request,
                                                 customer_id=customer_id,
                                                 orders=orders)

        if context['main_form'].is_valid():
            models.Payment.save_payment_and_orders(request, customer_id,
                                                   context['main_form'],
                                                   orders)
            return redirect('customer_assets', customer_id=customer_id)

    else:
        context['main_form'] = forms.PaymentForm(request=request,
                                                 customer_id=customer_id,
                                                 orders=orders)

    return render(request, "billing/main_form.html", context)
예제 #8
0
def login(request):
    if request.user.is_authenticated:
        return redirect('home')

    context = gui.get_init_context(request)
    if request.POST:
        context['main_form'] = forms.LoginForm(request.POST, request=request)

        if context['main_form'].is_valid():
            user = authenticate(username=request.POST['username'],
                                password=request.POST['password'])
            if user:
                django_login(request, user)
                return redirect('home')

            else:
                context['main_form'].add_error(None, "Incorect credentials")

    else:
        context['main_form'] = forms.LoginForm()

    return render(request, "billing/main_form.html", context)
예제 #9
0
def about(request):
    context = gui.get_init_context(request)
    return render(request, "billing/about_page.html", context)