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