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 @@
- {% blocktrans with object.completed as completed %} - Payment completed on: {{ completed }} - {% endblocktrans %} -
- {% else %} - {% if object.is_ready_for_payment %} - {% block payment_method %} -- Here should go bindings to your payment. We recommend using django-getpaid for payment processing. - Use a fake payment below to simulate paying for an order: +
+ {% blocktrans with object.completed as completed %} + Payment completed on: {{ completed|date:"F j, Y" }} + {% endblocktrans %}
- Pay using - FakePayments™ ; - {# An example code snippet for accepting payments using django-getpaid #} - {# #} - {% endblock %} +- {% blocktrans %} - This order is expired. It will accept an incoming payment made earlier, but new payment cannot be - initialized. Please make a new order if necessary. - {% endblocktrans %} -
+ {% if object.is_ready_for_payment %} ++ You can use a fake payment below to simulate paying for this order. +
+ + + Pay using FakePayments™ + + {% else %} ++ {% blocktrans %} + This order is expired. New payments cannot be initialized. Please make a new order if necessary. + {% endblocktrans %} +
+- {% blocktrans %} - This order could not be processed as it is not valid. Please contact with customer service. - {% endblocktrans %} -
- {% endif %} - {% endblock %} + + {% if object.status == object.STATUS.NOT_VALID %} ++ {% blocktrans %} + This order could not be processed as it is not valid. Please contact customer service. + {% endblocktrans %} +
+