diff --git a/inventory/override.py b/inventory/override.py index 37c59825..5fc195f3 100644 --- a/inventory/override.py +++ b/inventory/override.py @@ -1129,7 +1129,6 @@ class ChartOfAccountModelCreateView(ChartOfAccountModelModelBaseViewMixIn, Creat }, ) - class ChartOfAccountModelUpdateView(ChartOfAccountModelModelBaseViewMixIn, UpdateView): context_object_name = "coa_model" slug_url_kwarg = "coa_slug" diff --git a/inventory/views.py b/inventory/views.py index bad2e90c..630f1c64 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -4360,7 +4360,8 @@ class AccountListView(LoginRequiredMixin, PermissionRequiredMixin, ListView): def get_queryset(self): query = self.request.GET.get("q") dealer = get_user_type(self.request) - accounts = dealer.entity.get_all_accounts() + coa = ChartOfAccountModel.objects.get(entity=dealer.entity,pk=self.kwargs["coa_pk"]) or self.request.entity.get_default_coa() + accounts = coa.get_coa_accounts() return apply_search_filters(accounts, query) def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) @@ -4410,9 +4411,20 @@ class AccountCreateView( permission_required = ["django_ledger.add_accountmodel"] def form_valid(self, form): - dealer = get_user_type(self.request) + dealer = get_user_type(self.request) + instance = form.save(commit=False) + coa = ChartOfAccountModel.objects.get(entity=dealer.entity,pk=self.kwargs["coa_pk"]) or self.request.entity.get_default_coa() + # coa.insert_account(account_model=instance) + account = coa.entity.create_account( + coa_model=coa, + code=instance.code, + name=instance.name, + role=instance.role, + balance_type=_(instance.balance_type), + active=True, + ) form.instance.entity_model = dealer.entity - form.instance.coa_model = dealer.entity.get_default_coa() + form.instance.coa_model = coa form.instance.depth = 0 form.instance.path = form.instance.code return super().form_valid(form) @@ -4420,13 +4432,15 @@ class AccountCreateView( def get_form_kwargs(self): dealer = get_user_type(self.request) kwargs = super().get_form_kwargs() - kwargs["coa_model"] = dealer.entity.get_default_coa() + coa = ChartOfAccountModel.objects.get(entity=dealer.entity,pk=self.kwargs["coa_pk"]) or self.request.entity.get_default_coa() + kwargs["coa_model"] = coa return kwargs def get_form(self, form_class=None): form = super().get_form(form_class) entity = get_user_type(self.request).entity - form.initial["coa_model"] = entity.get_default_coa() + coa = ChartOfAccountModel.objects.get(entity=entity,pk=self.kwargs["coa_pk"]) or self.request.entity.get_default_coa() + form.initial["coa_model"] = coa return form def get_success_url(self): @@ -4436,12 +4450,13 @@ class AccountCreateView( def get_context_data(self,**kwargs): context = super().get_context_data(**kwargs) context["url_kwargs"] = self.kwargs - coa_pk = context["url_kwargs"]["coa_pk"] + coa_pk = context["url_kwargs"]["coa_pk"] try: - kwargs["coa_model"] = ChartOfAccountModel.objects.get(pk=coa_pk) or self.request.entity.get_default_coa() + context["coa_model"] = ChartOfAccountModel.objects.get(entity=self.request.entity,pk=coa_pk) except Exception: - kwargs["coa_model"] = self.request.entity.get_default_coa() + context["coa_model"] = self.request.entity.get_default_coa() return context + class AccountDetailView(LoginRequiredMixin, PermissionRequiredMixin, DetailView): """ Represents the detailed view for an account with additional context data related to account @@ -4540,7 +4555,11 @@ class AccountUpdateView( form.fields["_ref_node_id"].widget = HiddenInput() form.fields["_position"].widget = HiddenInput() return form - + + def form_valid(self, form): + form.instance.coa_model = ChartOfAccountModel.objects.get(pk=self.kwargs['coa_pk']) or self.request.entity.get_default_coa() + return super().form_valid(form) + def get_success_url(self): return reverse_lazy( "account_list", kwargs={"dealer_slug": self.kwargs["dealer_slug"],"coa_pk":self.kwargs["coa_pk"]} @@ -4551,9 +4570,9 @@ class AccountUpdateView( context["url_kwargs"] = self.kwargs coa_pk = context["url_kwargs"]["coa_pk"] try: - kwargs["coa_model"] = ChartOfAccountModel.objects.get(pk=coa_pk) or self.request.entity.get_default_coa() + context["coa_model"] = ChartOfAccountModel.objects.get(pk=coa_pk) or self.request.entity.get_default_coa() except Exception: - kwargs["coa_model"] = self.request.entity.get_default_coa() + context["coa_model"] = self.request.entity.get_default_coa() return context @login_required @permission_required("django_ledger.delete_accountmodel") @@ -11421,7 +11440,10 @@ def staff_password_reset_view(request, dealer_slug, user_pk): if request.method == 'POST': form = forms.CustomSetPasswordForm(staff.user, request.POST) + if form.is_valid(): + print(form.cleaned_data['new_password1']) + print(form.cleaned_data['new_password2']) form.save() messages.success(request, _('Your password has been set. You may go ahead and log in now.')) return redirect('user_detail',dealer_slug=dealer_slug,slug=staff.slug) @@ -11662,12 +11684,12 @@ def ticket_update(request, ticket_id): }) -class ChartOfAccountModelListView(ChartOfAccountModelListViewBase): - template_name = 'chart_of_accounts/coa_list.html' - permission_required = 'django_ledger.view_chartofaccountmodel' +# class ChartOfAccountModelListView(ChartOfAccountModelListViewBase): +# template_name = 'chart_of_accounts/coa_list.html' +# permission_required = 'django_ledger.view_chartofaccountmodel' class ChartOfAccountModelCreateView(ChartOfAccountModelCreateViewBase): template_name = 'chart_of_accounts/coa_create.html' - permission_required = 'django_ledger.add_chartofaccountmodel' + permission_required = 'django_ledger.add_chartofaccountmodel' class ChartOfAccountModelListView(ChartOfAccountModelListViewBase): template_name = 'chart_of_accounts/coa_list.html' permission_required = 'django_ledger.view_chartofaccountmodel' diff --git a/templates/chart_of_accounts/coa_create.html b/templates/chart_of_accounts/coa_create.html index 67f52a2a..c7c57ac6 100644 --- a/templates/chart_of_accounts/coa_create.html +++ b/templates/chart_of_accounts/coa_create.html @@ -12,7 +12,7 @@

{% trans 'Create Chart of Accounts' %} - +

diff --git a/templates/ledger/coa_accounts/account_form.html b/templates/ledger/coa_accounts/account_form.html index d892a2f4..d61e5ff5 100644 --- a/templates/ledger/coa_accounts/account_form.html +++ b/templates/ledger/coa_accounts/account_form.html @@ -20,7 +20,7 @@ {% else %} {% trans "Add New Account" %} - {% endif %} + {% endif %}
diff --git a/templates/plans/order_detail.html b/templates/plans/order_detail.html index afec3856..1fed37be 100644 --- a/templates/plans/order_detail.html +++ b/templates/plans/order_detail.html @@ -1,79 +1,108 @@ {% extends "base.html" %} {% load i18n %} -{% block title %} - {% trans 'Order Details' %} -{% endblock %} +{% block title %}{% trans 'Order Details' %}{% endblock %} {% block head %} {% endblock %} {% block body %} -

- {% blocktrans with object.id as order_id and object.get_status_display as order_status %}Order #{{ order_id }} - (status: {{ order_status }}){% endblocktrans %} -

- {# You should provide displaying django messages in this template #} - {% with object as order %} - {% include "plans/order_detail_table.html" %} - {% endwith %} +
+
+

+ {% blocktrans with object.id as order_id %}Order #{{ order_id }}{% endblocktrans %} +

+ + + {{ object.get_status_display }} + +
+ + {# Order Summary Section #} +
+
+

{% trans "Order Summary" %}

+ {% with object as order %} + {% include "plans/order_detail_table.html" %} + {% endwith %} +
+
+ + {# Printable Documents Section #} {% if object.get_all_invoices.count %} -

{% trans "Printable documents" %}

-
+{% endblock %} \ No newline at end of file