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)
This commit is contained in:
@@ -58,6 +58,7 @@ LOCAL_APPS = [
|
||||
"apps.landing",
|
||||
"apps.orders",
|
||||
"apps.telemetry",
|
||||
"apps.reviews",
|
||||
]
|
||||
|
||||
INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS
|
||||
@@ -204,6 +205,10 @@ SIMPLE_JWT = {
|
||||
# ============================================
|
||||
KAVENEGAR_API_KEY = config("KAVENEGAR_API_KEY", default="")
|
||||
SMS_PATTERN_NAME = config("SMS_PATTERN_NAME", default="shopshipotp")
|
||||
# قالبِ پیامکِ «هدیهی جم از پنل ادمین» — باید جدا از SMS_PATTERN_NAME در
|
||||
# کاوهنگار ثبت شود (لوکاپ/پترن فقط با یک token عدد کار میکند، همان
|
||||
# تعداد جمِ هدیهدادهشده).
|
||||
SMS_GIFT_PATTERN_NAME = config("SMS_GIFT_PATTERN_NAME", default="")
|
||||
|
||||
# برای سازگاری با کدهای قدیمی (استفاده نمیشود)
|
||||
SMS_TOKEN_URL = config("SMS_TOKEN_URL", default="")
|
||||
|
||||
@@ -13,6 +13,7 @@ urlpatterns = [
|
||||
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 دینامیک نمیرسیدیم.
|
||||
|
||||
Reference in New Issue
Block a user