Files
shopship/config/urls.py
T
mobiniqow 831e656fa3 Fix OTP/SMS, ledger accounting, order tracking, and add reviews app
- Add MessageTemplate.runtime_field_labels so mobile's per-field
  execution-time labels are actually persisted (were silently dropped)
- Fix AdvanceOrderStageView reading the wrong extra-input key, and be
  honest about SMS send failures instead of always claiming success
- Add admin gift-gem SMS notification via Kavenegar
- Post real double-entry Transactions for plain (non-invoice) ledger
  entries so trial balance, the معین screen, and CSV/XLSX exports
  actually include everyday income/expense entries; backfill existing
  historical entries via data migration
- Rewrite CSV ledger export to produce an actual دفتر معین structure
  (per-account running balance) instead of a flat row dump
- Add invoice percent/promotional discounts, tax presets, ledger
  discount-percent handling, product SKU/category/expiry fields, and
  manual ledger-book archiving (replacing auto-archive on new book)
- Add reviews app (models, API, admin) for the comments/reviews feature
- Update tests for the above; fix two stale assertions left over from
  earlier work in this branch (معین sheet name, book auto-close)
2026-09-15 23:18:05 +03:30

29 lines
1.5 KiB
Python

from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path("admin/", admin.site.urls),
path("api/account/", include("apps.account.urls")),
path("api/banker/", include("apps.banker.urls")),
path("api/messaging/", include("apps.messaging.urls")),
path("api/bizapps/", include("apps.bizapps.urls")),
path("api/billing/", include("apps.billing.urls")),
path("api/notifications/", include("apps.notifications.urls")),
path("api/orders/", include("apps.orders.urls")),
path("api/telemetry/", include("apps.telemetry.urls")),
path("api/reviews/", include("apps.reviews.urls")),
# فایل‌های استاتیک قبلی landing/articles/*.html حذف شده‌اند — چون
# WhiteNoise میدل‌ور همیشه قبل از urls.py بررسی می‌شود و اگر آن فایل‌ها
# هنوز وجود داشتند، هیچ‌وقت به این view دینامیک نمی‌رسیدیم.
path("articles/", include("apps.landing.urls")),
]
# سرو مدیا فقط در DEBUG=True (توسعه‌ی لوکال) — در production باید
# Nginx/سرور وب مستقیم از MEDIA_ROOT سرو کند، نه خودِ جنگو. استاتیک نیازی
# به این‌جا ندارد، چون WhiteNoise middleware همیشه (چه DEBUG چه نه) سروش
# می‌کند.
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)