This commit is contained in:
gitea 2025-01-09 15:36:00 +00:00
parent f6284d6690
commit 48a9a8ffbb

View File

@ -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", {})