Merge branch 'main' of http://10.10.1.136:3000/ismail/haikal into frontend

This commit is contained in:
Faheedkhan 2025-07-01 17:09:12 +03:00
commit 6030267f61
5 changed files with 35 additions and 32 deletions

View File

@ -84,3 +84,8 @@ class AuthorizedEntityMixin:
user_model=dealer.entity.admin,
authorized_superuser=self.get_superuser_authorization(),
)
def get_queryset(self):
dealer = get_object_or_404(models.Dealer,slug=self.kwargs["dealer_slug"])
self.queryset = EntityModel.objects.for_user(
user_model=dealer.entity.admin).select_related('default_coa')
return super().get_queryset()

View File

@ -48,11 +48,13 @@ def attr(field, args):
"ledger/reports/components/period_navigator.html", takes_context=True
)
def period_navigation(context, base_url: str):
print(context, base_url)
kwargs = dict()
dealer_slug = context["view"].kwargs["dealer_slug"]
entity_slug = context["view"].kwargs["entity_slug"]
kwargs["dealer_slug"] = dealer_slug
kwargs["entity_slug"] = entity_slug
if context["view"].kwargs.get("ledger_pk"):
kwargs["ledger_pk"] = context["view"].kwargs.get("ledger_pk")
@ -86,6 +88,7 @@ def period_navigation(context, base_url: str):
dt = get_localdate()
KWARGS_CURRENT_MONTH = {
"dealer_slug": context["view"].kwargs["dealer_slug"],
"entity_slug": context["view"].kwargs["entity_slug"],
"year": dt.year,
"month": dt.month,
@ -100,7 +103,7 @@ def period_navigation(context, base_url: str):
if "coa_slug" in kwargs:
KWARGS_CURRENT_MONTH["coa_slug"] = kwargs["coa_slug"]
ctx["current_month_url"] = reverse(f"{base_url}-month", kwargs=KWARGS_CURRENT_MONTH)
ctx["current_month_url"] = reverse(f"{base_url}-month" ,kwargs=KWARGS_CURRENT_MONTH)
quarter_urls = list()
ctx["quarter"] = context.get("quarter")

View File

@ -940,54 +940,54 @@ urlpatterns = [
# BALANCE SHEET Reports...
# Entities...
path(
"entity/<slug:entity_slug>/balance-sheet/",
"<slug:dealer_slug>/entity/<slug:entity_slug>/balance-sheet/",
views.BaseBalanceSheetRedirectView.as_view(),
name="entity-bs",
),
path(
"entity/<slug:entity_slug>/balance-sheet/year/<int:year>/",
"<slug:dealer_slug>/entity/<slug:entity_slug>/balance-sheet/year/<int:year>/",
views.FiscalYearBalanceSheetViewBase.as_view(),
name="entity-bs-year",
),
path(
"entity/<slug:entity_slug>/balance-sheet/quarter/<int:year>/<int:quarter>/",
"<slug:dealer_slug>/entity/<slug:entity_slug>/balance-sheet/quarter/<int:year>/<int:quarter>/",
views.QuarterlyBalanceSheetView.as_view(),
name="entity-bs-quarter",
),
path(
"entity/<slug:entity_slug>/balance-sheet/month/<int:year>/<int:month>/",
"<slug:dealer_slug>/entity/<slug:entity_slug>/balance-sheet/month/<int:year>/<int:month>/",
views.MonthlyBalanceSheetView.as_view(),
name="entity-bs-month",
),
path(
"entity/<slug:entity_slug>/balance-sheet/date/<int:year>/<int:month>/<int:day>/",
"<slug:dealer_slug>/entity/<slug:entity_slug>/balance-sheet/date/<int:year>/<int:month>/<int:day>/",
views.DateBalanceSheetView.as_view(),
name="entity-bs-date",
),
# INCOME STATEMENT Reports ----
# Entity .....
path(
"entity/<slug:entity_slug>/income-statement/",
"<slug:dealer_slug>/entity/<slug:entity_slug>/income-statement/",
views.BaseIncomeStatementRedirectViewBase.as_view(),
name="entity-ic",
),
path(
"entity/<slug:entity_slug>/income-statement/year/<int:year>/",
"<slug:dealer_slug>/entity/<slug:entity_slug>/income-statement/year/<int:year>/",
views.FiscalYearIncomeStatementViewBase.as_view(),
name="entity-ic-year",
),
path(
"entity/<slug:entity_slug>/income-statement/quarter/<int:year>/<int:quarter>/",
"<slug:dealer_slug>/entity/<slug:entity_slug>/income-statement/quarter/<int:year>/<int:quarter>/",
views.QuarterlyIncomeStatementView.as_view(),
name="entity-ic-quarter",
),
path(
"entity/<slug:entity_slug>/income-statement/month/<int:year>/<int:month>/",
"<slug:dealer_slug>/entity/<slug:entity_slug>/income-statement/month/<int:year>/<int:month>/",
views.MonthlyIncomeStatementView.as_view(),
name="entity-ic-month",
),
path(
"entity/<slug:entity_slug>/income-statement/date/<int:year>/<int:month>/<int:day>/",
"<slug:dealer_slug>/entity/<slug:entity_slug>/income-statement/date/<int:year>/<int:month>/<int:day>/",
views.MonthlyIncomeStatementView.as_view(),
name="entity-ic-date",
),
@ -1004,17 +1004,17 @@ urlpatterns = [
name="entity-cf-year",
),
path(
"entity/<slug:entity_slug>/cash-flow-statement/quarter/<int:year>/<int:quarter>/",
"<slug:dealer_slug>/entity/<slug:entity_slug>/cash-flow-statement/quarter/<int:year>/<int:quarter>/",
views.QuarterlyCashFlowStatementView.as_view(),
name="entity-cf-quarter",
),
path(
"entity/<slug:entity_slug>/cash-flow-statement/month/<int:year>/<int:month>/",
"<slug:dealer_slug>/entity/<slug:entity_slug>/cash-flow-statement/month/<int:year>/<int:month>/",
views.MonthlyCashFlowStatementView.as_view(),
name="entity-cf-month",
),
path(
"entity/<slug:entity_slug>/cash-flow-statement/date/<int:year>/<int:month>/<int:day>/",
"<slug:dealer_slug>/entity/<slug:entity_slug>/cash-flow-statement/date/<int:year>/<int:month>/<int:day>/",
views.DateCashFlowStatementView.as_view(),
name="entity-cf-date",
),

View File

@ -7428,9 +7428,10 @@ class BaseBalanceSheetRedirectView(RedirectView):
def get_redirect_url(self, *args, **kwargs):
year = get_localdate().year
dealer = get_object_or_404(models.Dealer, slug=self.kwargs["dealer_slug"])
return reverse(
"entity-bs-year",
kwargs={"entity_slug": self.kwargs["entity_slug"], "year": year},
kwargs={"dealer_slug": self.kwargs["dealer_slug"],"entity_slug": self.kwargs["entity_slug"], "year": year},
)
def get_login_url(self):
@ -7438,7 +7439,7 @@ class BaseBalanceSheetRedirectView(RedirectView):
class FiscalYearBalanceSheetViewBase(
FiscalYearBalanceSheetView
AuthorizedEntityMixin,FiscalYearBalanceSheetView
):
"""
Defines a base view for the fiscal year balance sheet.
@ -7541,7 +7542,7 @@ class DateBalanceSheetView(
class BaseIncomeStatementRedirectViewBase(
BaseIncomeStatementRedirectView
AuthorizedEntityMixin,BaseIncomeStatementRedirectView
):
"""
The BaseIncomeStatementRedirectViewBase class provides functionality for handling
@ -7560,9 +7561,9 @@ class BaseIncomeStatementRedirectViewBase(
def get_redirect_url(self, *args, **kwargs):
year = get_localdate().year
dealer = get_user_type(self.request)
dealer = get_object_or_404(models.Dealer, slug=kwargs["dealer_slug"])
return reverse(
"entity-ic-year", kwargs={"entity_slug": dealer.entity.slug, "year": year}
"entity-ic-year", kwargs={"dealer_slug": dealer.slug,"entity_slug": dealer.entity.slug, "year": year}
)
def get_login_url(self):
@ -7570,7 +7571,7 @@ class BaseIncomeStatementRedirectViewBase(
class FiscalYearIncomeStatementViewBase(
FiscalYearIncomeStatementView
AuthorizedEntityMixin,FiscalYearIncomeStatementView
):
"""
Represents a base view for fiscal year income statement.
@ -7690,8 +7691,8 @@ class BaseCashFlowStatementRedirectViewBase(
"""
def get_redirect_url(self, *args, **kwargs):
dealer = get_object_or_404(models.Dealer, slug=self.kwargs["dealer_slug"])
year = get_localdate().year
dealer = get_object_or_404(models.Dealer, slug=self.kwargs["dealer_slug"])
return reverse(
"entity-cf-year", kwargs={"dealer_slug": dealer.slug,"entity_slug": dealer.entity.slug, "year": year}
)
@ -7727,8 +7728,6 @@ class FiscalYearCashFlowStatementViewBase(
class QuarterlyCashFlowStatementView(
FiscalYearCashFlowStatementViewBase, QuarterlyReportMixIn,
):

View File

@ -306,10 +306,8 @@
<i class="fa-solid fa-sack-dollar"></i><span class="nav-link-text">{% trans 'Cash Flow'|capfirst %}</span>
</div>
</a>
{% if request.user.is_authenticated and request.is_dealer %}
<a class="nav-link" href="{% url 'entity-ic' request.user.dealer.entity.slug %}">
{% elif request.user.is_authenticated and request.is_staff %}
<a class="nav-link" href="{% url 'entity-ic' request.user.staffmember.staff.dealer.entity.slug %}">
{% if request.user.is_authenticated %}
<a class="nav-link" href="{% url 'entity-ic' request.dealer.slug request.dealer.entity.slug %}">
{% else %}
<a class="nav-link" href="#">
{% endif %}
@ -317,10 +315,8 @@
<i class="fa-solid fa-sheet-plastic"></i><span class="nav-link-text">{% trans 'Income Statement'|capfirst %}</span>
</div>
</a>
{% if request.user.is_authenticated and request.is_dealer %}
<a class="nav-link" href="{% url 'entity-bs' request.user.dealer.entity.slug %}">
{% elif request.user.is_authenticated and request.is_staff %}
<a class="nav-link" href="{% url 'entity-bs' request.user.staffmember.staff.dealer.entity.slug %}">
{% if request.user.is_authenticated %}
<a class="nav-link" href="{% url 'entity-bs' request.dealer.slug request.dealer.entity.slug %}">
{% else %}
<a class="nav-link" href="#">
{% endif %}