Email improvements: domain-aware portal URL, embedded logo, fix product list color
- Store request origin domain in PendingAccessRequest.portal_url - Use per-request portal URL in approval/rejection emails - Embed logo as base64 so it displays without external image loading - Fix 'Предоставлен доступ к продуктам' text color to match body color - Switch Telegram polling to 30-second interval with single-worker flock fix
This commit is contained in:
+237
-5
File diff suppressed because one or more lines are too long
@@ -127,5 +127,6 @@ class PendingAccessRequest(Base):
|
||||
phone: Mapped[str] = mapped_column(String(64))
|
||||
manager: Mapped[str] = mapped_column(String(256), default="")
|
||||
products_json: Mapped[str] = mapped_column(Text, default="[]")
|
||||
portal_url: Mapped[str] = mapped_column(String(256), default="")
|
||||
status: Mapped[str] = mapped_column(String(16), default="pending")
|
||||
created_at: Mapped[dt.datetime] = mapped_column(DateTime(timezone=True), default=lambda: dt.datetime.now(dt.timezone.utc))
|
||||
|
||||
@@ -808,6 +808,7 @@ def ensure_schema_compatibility() -> None:
|
||||
conn.execute(text("ALTER TABLE services ADD COLUMN IF NOT EXISTS svc_password VARCHAR(256) NOT NULL DEFAULT ''"))
|
||||
conn.execute(text("ALTER TABLE services ADD COLUMN IF NOT EXISTS svc_cred_hint TEXT NOT NULL DEFAULT ''"))
|
||||
conn.execute(text("ALTER TABLE services ADD COLUMN IF NOT EXISTS icon_path TEXT NOT NULL DEFAULT ''"))
|
||||
conn.execute(text("ALTER TABLE pending_access_requests ADD COLUMN IF NOT EXISTS portal_url VARCHAR(256) NOT NULL DEFAULT ''"))
|
||||
conn.execute(
|
||||
text(
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user