diff --git a/inventory/views.py b/inventory/views.py index df316832..533d1a81 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -24,7 +24,11 @@ from django_ledger.forms.invoice import ( from django_ledger.forms.account import AccountModelCreateForm, AccountModelUpdateForm from django_ledger.forms.estimate import EstimateModelCreateForm from django_ledger.forms.invoice import InvoiceModelCreateForm -from django_ledger.forms.item import ServiceCreateForm,ExpenseItemCreateForm,ExpenseItemUpdateForm +from django_ledger.forms.item import ( + ServiceCreateForm, + ExpenseItemCreateForm, + ExpenseItemUpdateForm, +) from django_ledger.forms.journal_entry import JournalEntryModelCreateForm from django_ledger.io import roles from django.contrib.admin.models import LogEntry @@ -1951,7 +1955,7 @@ class EstimatePreviewView(LoginRequiredMixin, DetailView): data = get_financial_values(estimate) kwargs["vat_amount"] = data["vat_amount"] - kwargs["total"] = data["grand_total"] + data["vat_amount"] + kwargs["total"] = data["grand_total"] kwargs["discount_amount"] = data["discount_amount"] kwargs["vat"] = data["vat"] kwargs["car_and_item_info"] = data["car_and_item_info"] @@ -2077,12 +2081,12 @@ class PaidInvoiceModelUpdateFormView(LoginRequiredMixin, UpdateView): return reverse_lazy("invoice_detail", kwargs={"pk": self.object.pk}) def form_valid(self, form): - invoice = form.save() - + invoice = form.save() + if invoice.get_amount_open() > 0: messages.error(self.request, "Invoice is not fully paid") return redirect("invoice_detail", pk=invoice.pk) - else: + else: invoice.post_ledger() invoice.save() return super().form_valid(form) @@ -2187,7 +2191,7 @@ class InvoicePreviewView(LoginRequiredMixin, DetailView): data = get_financial_values(invoice) kwargs["vat_amount"] = data["vat_amount"] - kwargs["total"] = data["grand_total"] + data["vat_amount"] + kwargs["total"] = data["grand_total"] kwargs["discount_amount"] = data["discount_amount"] kwargs["vat"] = data["vat"] kwargs["car_and_item_info"] = data["car_and_item_info"] @@ -2226,7 +2230,7 @@ def PaymentCreateView(request, pk=None): try: ledger = LedgerModel.objects.filter( name=str(invoice.pk), entity=entity - ).first() + ).first() journal = JournalEntryModel.objects.create( posted=False, description=f"Payment for Invoice {invoice.invoice_number}", @@ -2476,38 +2480,38 @@ class ItemExpenseCreateView(CreateView): template_name = "items/expenses/expense_create.html" success_url = reverse_lazy("item_expense_list") - def get_form_kwargs(self): + def get_form_kwargs(self): dealer = get_user_type(self.request.user.dealer) kwargs = super().get_form_kwargs() kwargs["entity_slug"] = dealer.entity.slug - kwargs["user_model"] = dealer.entity.admin + kwargs["user_model"] = dealer.entity.admin return kwargs - def form_valid(self, form): - dealer = get_user_type(self.request.user.dealer) + dealer = get_user_type(self.request.user.dealer) form.instance.entity = dealer.entity return super().form_valid(form) + class ItemExpenseUpdateView(UpdateView): model = ItemModel form_class = ExpenseItemUpdateForm template_name = "items/expenses/expense_update.html" success_url = reverse_lazy("item_expense_list") - def get_form_kwargs(self): + def get_form_kwargs(self): dealer = get_user_type(self.request.user.dealer) kwargs = super().get_form_kwargs() kwargs["entity_slug"] = dealer.entity.slug - kwargs["user_model"] = dealer.entity.admin + kwargs["user_model"] = dealer.entity.admin return kwargs - def form_valid(self, form): - dealer = get_user_type(self.request.user.dealer) + dealer = get_user_type(self.request.user.dealer) form.instance.entity = dealer.entity return super().form_valid(form) - + + class ItemExpenseListView(ListView): model = ItemModel template_name = "items/expenses/expenses_list.html" @@ -2518,6 +2522,7 @@ class ItemExpenseListView(ListView): items = dealer.entity.get_items_expenses() return items + class SubscriptionPlans(ListView): model = models.SubscriptionPlan template_name = "subscriptions/subscription_plan.html" @@ -2577,8 +2582,6 @@ def send_email_view(request, pk): ) - - # errors def custom_page_not_found_view(request, exception): return render(request, "errors/404.html", {}) @@ -2594,6 +2597,3 @@ def custom_permission_denied_view(request, exception=None): def custom_bad_request_view(request, exception=None): return render(request, "errors/400.html", {}) - - -