Merge branch 'main' of http://10.10.1.136:3000/ismail/haikal into frontend
This commit is contained in:
commit
75f5874814
@ -21,8 +21,8 @@ def is_negative(value):
|
|||||||
try:
|
try:
|
||||||
return float(value) < 0
|
return float(value) < 0
|
||||||
except (ValueError, TypeError):
|
except (ValueError, TypeError):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@register.filter
|
@register.filter
|
||||||
def get_percentage(value, total):
|
def get_percentage(value, total):
|
||||||
try:
|
try:
|
||||||
@ -498,7 +498,7 @@ def bill_item_formset_table(context, item_formset):
|
|||||||
form.fields["item_model"].queryset = form.fields["item_model"].queryset.exclude(
|
form.fields["item_model"].queryset = form.fields["item_model"].queryset.exclude(
|
||||||
item_role="product"
|
item_role="product"
|
||||||
)
|
)
|
||||||
for item in item_formset:
|
for item in item_formset:
|
||||||
if item:
|
if item:
|
||||||
print(item.fields["item_model"])
|
print(item.fields["item_model"])
|
||||||
item.initial["quantity"] = item.instance.po_quantity if item.instance.po_quantity else item.instance.quantity
|
item.initial["quantity"] = item.instance.po_quantity if item.instance.po_quantity else item.instance.quantity
|
||||||
@ -710,3 +710,13 @@ def invoice_item_formset_table(context, itemtxs_formset):
|
|||||||
"total_amount__sum": context["total_amount__sum"],
|
"total_amount__sum": context["total_amount__sum"],
|
||||||
"itemtxs_formset": itemtxs_formset,
|
"itemtxs_formset": itemtxs_formset,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@register.filter
|
||||||
|
def filter_by_status(queryset, status):
|
||||||
|
if status == "active":
|
||||||
|
return queryset.filter(active=True)
|
||||||
|
elif status == "locked":
|
||||||
|
return queryset.filter(locked=True)
|
||||||
|
else:
|
||||||
|
return queryset
|
||||||
|
|||||||
@ -4360,7 +4360,7 @@ class AccountListView(LoginRequiredMixin, PermissionRequiredMixin, ListView):
|
|||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
query = self.request.GET.get("q")
|
query = self.request.GET.get("q")
|
||||||
dealer = get_user_type(self.request)
|
dealer = get_user_type(self.request)
|
||||||
coa = ChartOfAccountModel.objects.get(entity=dealer.entity,pk=self.kwargs["coa_pk"]) or self.request.entity.get_default_coa()
|
coa = ChartOfAccountModel.objects.get(entity=dealer.entity,pk=self.kwargs["coa_pk"]) or self.request.entity.get_default_coa()
|
||||||
accounts = coa.get_coa_accounts()
|
accounts = coa.get_coa_accounts()
|
||||||
return apply_search_filters(accounts, query)
|
return apply_search_filters(accounts, query)
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
@ -4411,18 +4411,8 @@ class AccountCreateView(
|
|||||||
permission_required = ["django_ledger.add_accountmodel"]
|
permission_required = ["django_ledger.add_accountmodel"]
|
||||||
|
|
||||||
def form_valid(self, form):
|
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 = 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.entity_model = dealer.entity
|
||||||
form.instance.coa_model = coa
|
form.instance.coa_model = coa
|
||||||
form.instance.depth = 0
|
form.instance.depth = 0
|
||||||
@ -4450,13 +4440,13 @@ class AccountCreateView(
|
|||||||
def get_context_data(self,**kwargs):
|
def get_context_data(self,**kwargs):
|
||||||
context = super().get_context_data(**kwargs)
|
context = super().get_context_data(**kwargs)
|
||||||
context["url_kwargs"] = self.kwargs
|
context["url_kwargs"] = self.kwargs
|
||||||
coa_pk = context["url_kwargs"]["coa_pk"]
|
coa_pk = context["url_kwargs"]["coa_pk"]
|
||||||
try:
|
try:
|
||||||
context["coa_model"] = ChartOfAccountModel.objects.get(entity=self.request.entity,pk=coa_pk)
|
context["coa_model"] = ChartOfAccountModel.objects.get(entity=self.request.entity,pk=coa_pk)
|
||||||
except Exception:
|
except Exception:
|
||||||
context["coa_model"] = self.request.entity.get_default_coa()
|
context["coa_model"] = self.request.entity.get_default_coa()
|
||||||
return context
|
return context
|
||||||
|
|
||||||
class AccountDetailView(LoginRequiredMixin, PermissionRequiredMixin, DetailView):
|
class AccountDetailView(LoginRequiredMixin, PermissionRequiredMixin, DetailView):
|
||||||
"""
|
"""
|
||||||
Represents the detailed view for an account with additional context data related to account
|
Represents the detailed view for an account with additional context data related to account
|
||||||
@ -4555,11 +4545,11 @@ class AccountUpdateView(
|
|||||||
form.fields["_ref_node_id"].widget = HiddenInput()
|
form.fields["_ref_node_id"].widget = HiddenInput()
|
||||||
form.fields["_position"].widget = HiddenInput()
|
form.fields["_position"].widget = HiddenInput()
|
||||||
return form
|
return form
|
||||||
|
|
||||||
def form_valid(self, 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()
|
form.instance.coa_model = ChartOfAccountModel.objects.get(pk=self.kwargs['coa_pk']) or self.request.entity.get_default_coa()
|
||||||
return super().form_valid(form)
|
return super().form_valid(form)
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
return reverse_lazy(
|
return reverse_lazy(
|
||||||
"account_list", kwargs={"dealer_slug": self.kwargs["dealer_slug"],"coa_pk":self.kwargs["coa_pk"]}
|
"account_list", kwargs={"dealer_slug": self.kwargs["dealer_slug"],"coa_pk":self.kwargs["coa_pk"]}
|
||||||
@ -11454,7 +11444,7 @@ def staff_password_reset_view(request, dealer_slug, user_pk):
|
|||||||
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
form = forms.CustomSetPasswordForm(staff.user, request.POST)
|
form = forms.CustomSetPasswordForm(staff.user, request.POST)
|
||||||
|
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
print(form.cleaned_data['new_password1'])
|
print(form.cleaned_data['new_password1'])
|
||||||
print(form.cleaned_data['new_password2'])
|
print(form.cleaned_data['new_password2'])
|
||||||
@ -11703,7 +11693,7 @@ def ticket_update(request, ticket_id):
|
|||||||
# permission_required = 'django_ledger.view_chartofaccountmodel'
|
# permission_required = 'django_ledger.view_chartofaccountmodel'
|
||||||
class ChartOfAccountModelCreateView(ChartOfAccountModelCreateViewBase):
|
class ChartOfAccountModelCreateView(ChartOfAccountModelCreateViewBase):
|
||||||
template_name = 'chart_of_accounts/coa_create.html'
|
template_name = 'chart_of_accounts/coa_create.html'
|
||||||
permission_required = 'django_ledger.add_chartofaccountmodel'
|
permission_required = 'django_ledger.add_chartofaccountmodel'
|
||||||
class ChartOfAccountModelListView(ChartOfAccountModelListViewBase):
|
class ChartOfAccountModelListView(ChartOfAccountModelListViewBase):
|
||||||
template_name = 'chart_of_accounts/coa_list.html'
|
template_name = 'chart_of_accounts/coa_list.html'
|
||||||
permission_required = 'django_ledger.view_chartofaccountmodel'
|
permission_required = 'django_ledger.view_chartofaccountmodel'
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
{% load django_ledger %}
|
{% load django_ledger %}
|
||||||
|
{% load custom_filters %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% now "Y" as current_year %}
|
{% now "Y" as current_year %}
|
||||||
<div class="card shadow-sm border-0 mb-4">
|
<div class="card shadow-sm border-0 mb-4">
|
||||||
@ -47,15 +48,15 @@
|
|||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<div class="mb-2">
|
<div class="mb-2">
|
||||||
<span class="fw-bold"><i class="fas fa-list-alt me-1"></i> {% trans 'Total Accounts' %}:</span>
|
<span class="fw-bold"><i class="fas fa-list-alt me-1"></i> {% trans 'Total Accounts' %}:</span>
|
||||||
<span class="ms-2">{{ coa_model.accountmodel_total__count }}</span>
|
<span class="ms-2">{{ coa_model.accountmodel_set.all|length }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-2">
|
<div class="mb-2">
|
||||||
<span class="fw-bold text-info"><i class="fas fa-check-circle me-1"></i> {% trans 'Active Accounts' %}:</span>
|
<span class="fw-bold text-info"><i class="fas fa-check-circle me-1"></i> {% trans 'Active Accounts' %}:</span>
|
||||||
<span class="ms-2">{{ coa_model.accountmodel_active__count }}</span>
|
<span class="ms-2">{{ coa_model.accountmodel_set|filter_by_status:'active'|length }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-2">
|
<div class="mb-2">
|
||||||
<span class="fw-bold text-danger"><i class="fas fa-lock me-1"></i> {% trans 'Locked Accounts' %}:</span>
|
<span class="fw-bold text-danger"><i class="fas fa-lock me-1"></i> {% trans 'Locked Accounts' %}:</span>
|
||||||
<span class="ms-2">{{ coa_model.accountmodel_locked__count }}</span>
|
<span class="ms-2">{{ coa_model.accountmodel_set|filter_by_status:'locked'|length }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user