add payment_link and banks
This commit is contained in:
1 parent
2ae79b1ca4
commit
de3135b588
100 files changed
+6167
-47
No files matched your search
@@ -21,20 +21,20 @@ DEBUG = env_bool("DJANGO_DEBUG")
|
||||
ALLOWED_HOSTS = list(dict.fromkeys(env_list("DJANGO_ALLOWED_HOSTS") + ["localhost", "127.0.0.1"]))
|
||||
INSTALLED_APPS = [
|
||||
"django.contrib.admin", "django.contrib.auth", "django.contrib.contenttypes",
|
||||
"django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles",
|
||||
"django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", "django.contrib.humanize",
|
||||
"apps.core", "apps.accounts", "apps.customers", "apps.staff", "apps.tickets",
|
||||
"apps.messaging", "apps.attachments", "apps.notifications", "apps.phone_contacts_api",
|
||||
"apps.messaging", "apps.attachments", "apps.notifications", "apps.phone_contacts_api", "apps.payments",
|
||||
]
|
||||
MIDDLEWARE = [
|
||||
"django.middleware.security.SecurityMiddleware", "django.contrib.sessions.middleware.SessionMiddleware",
|
||||
"django.middleware.locale.LocaleMiddleware", "django.middleware.common.CommonMiddleware",
|
||||
"django.middleware.csrf.CsrfViewMiddleware", "django.contrib.auth.middleware.AuthenticationMiddleware",
|
||||
"django.contrib.messages.middleware.MessageMiddleware", "apps.core.middleware.NoStoreHTMLMiddleware",
|
||||
"django.contrib.messages.middleware.MessageMiddleware", "apps.payments.middleware.FinancialGrantAuditMiddleware", "apps.core.middleware.NoStoreHTMLMiddleware",
|
||||
"django.middleware.clickjacking.XFrameOptionsMiddleware",
|
||||
]
|
||||
ROOT_URLCONF = "config.urls"
|
||||
TEMPLATES = [{"BACKEND": "django.template.backends.django.DjangoTemplates", "DIRS": [BASE_DIR / "templates"], "APP_DIRS": True,
|
||||
"OPTIONS": {"context_processors": ["django.template.context_processors.request", "django.contrib.auth.context_processors.auth", "django.contrib.messages.context_processors.messages", "apps.core.context_processors.static_asset_version", "apps.core.context_processors.site_branding", "apps.core.context_processors.staff_operations_access"]}}]
|
||||
"OPTIONS": {"context_processors": ["django.template.context_processors.request", "django.contrib.auth.context_processors.auth", "django.contrib.messages.context_processors.messages", "apps.core.context_processors.static_asset_version", "apps.core.context_processors.site_branding", "apps.core.context_processors.staff_operations_access", "apps.payments.context_processors.payment_navigation"]}}]
|
||||
WSGI_APPLICATION = "config.wsgi.application"
|
||||
ASGI_APPLICATION = "config.asgi.application"
|
||||
database_url = os.getenv("DATABASE_URL", "").strip()
|
||||
@@ -95,6 +95,7 @@ OTP_RATE_LIMIT_PER_IP = int(os.getenv("OTP_RATE_LIMIT_PER_IP", "30"))
|
||||
DEV_OTP_MOBILE = ""
|
||||
DEV_OTP_CODE = ""
|
||||
MAGIC_LINK_TTL_DAYS = int(os.getenv("MAGIC_LINK_TTL_DAYS", "7"))
|
||||
PAYMENT_LINK_TTL_DAYS = int(os.getenv("PAYMENT_LINK_TTL_DAYS", str(MAGIC_LINK_TTL_DAYS)))
|
||||
MAX_NOTIFICATION_ATTEMPTS = int(os.getenv("MAX_NOTIFICATION_ATTEMPTS", "5"))
|
||||
SMS_MAX_RETRIES = int(os.getenv("SMS_MAX_RETRIES", "3"))
|
||||
SMS_RETRY_DELAY_SECONDS = int(os.getenv("SMS_RETRY_DELAY_SECONDS", "180"))
|
||||
|
||||
+12
-2
@@ -39,7 +39,7 @@ def web_manifest(request):
|
||||
icon_url = static_url("images/pwa-icon.png")
|
||||
response = JsonResponse({
|
||||
"id": "/", "name": branding.pwa_name, "short_name": branding.pwa_title,
|
||||
"description": branding.pwa_description, "start_url": "/tickets/", "scope": "/",
|
||||
"description": branding.pwa_description, "start_url": "/", "scope": "/",
|
||||
"display": "standalone", "background_color": "#eeeeee", "theme_color": "#08376b",
|
||||
"lang": "fa", "dir": "rtl",
|
||||
"icons": [{"src": icon_url, "sizes": "1024x1024", "type": "image/png", "purpose": "any maskable"}],
|
||||
@@ -55,11 +55,21 @@ urlpatterns = [
|
||||
path("x5admin/", admin.site.urls),
|
||||
path("", include("apps.accounts.urls")),
|
||||
path("tickets/", include("apps.tickets.customer_urls")),
|
||||
path("chaharsu/", include("apps.payments.urls")),
|
||||
path("staff/payments/", include("apps.payments.staff_urls")),
|
||||
path("staff/", include("apps.tickets.staff_urls")),
|
||||
path("messages/", include("apps.messaging.urls")),
|
||||
path("files/", include("apps.attachments.urls")),
|
||||
path("api/phone-contacts", include("apps.phone_contacts_api.urls")),
|
||||
]
|
||||
|
||||
def debug_media(request, path):
|
||||
import posixpath
|
||||
if posixpath.normpath(path.replace("\\", "/")).lstrip("/").startswith("payments/"):
|
||||
from django.http import Http404
|
||||
raise Http404
|
||||
return serve(request, path, document_root=settings.MEDIA_ROOT)
|
||||
|
||||
|
||||
if settings.DEBUG:
|
||||
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
urlpatterns += [path("media/<path:path>", debug_media)]
|
||||
Reference in new issue
Block a user