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:
2026-05-29 16:10:40 +00:00
parent e5ea23487e
commit efa1c26e5d
3 changed files with 239 additions and 5 deletions
+1
View File
@@ -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))