fix: media group photos saving, add photos to user notifications, admin info in transaction details, remove deep link fallback

- Fix media group collection: use module-level dicts instead of dialog_data
  to avoid race conditions between concurrent handler calls
- Add photo/media group sending in user notifications (add/remove hours)
- Add admin username with emoji to all transaction detail windows
- Add emoji prefixes to detail content fields
- Support multiple photos via JSON array in photo_file_id column
- Change photo_file_id column from String(512) to Text
- Add get_photo_file_ids() helper with backward compat for single file_id
- Add 'All photos' button for media groups in detail views
- Remove /start photo_ deep link fallback handler
- Add Alembic migration for column type change
This commit is contained in:
2026-07-15 00:45:58 +03:00
parent 8526440d14
commit 53f30c923b
14 changed files with 997 additions and 110 deletions
@@ -8,6 +8,9 @@ from dutylog.application.bot.admin_dialogs.residents_management import (
residents_list_window,
resident_info_window,
resident_history_window,
resident_history_detail_window,
resident_history_search_input_window,
resident_history_search_results_window,
resident_logout_confirm_window,
resident_delete_confirm_window,
resident_rebind_floor_window,
@@ -36,6 +39,7 @@ from dutylog.application.bot.admin_dialogs.rooms_management import (
rooms_list_window,
room_info_window,
room_history_window,
room_history_detail_window,
room_delete_confirm_window,
room_add_hours_select_window,
room_add_hours_custom_window,
@@ -80,6 +84,7 @@ from dutylog.application.bot.creator_dialogs.admins_management import (
)
from dutylog.application.bot.creator_dialogs.transactions_history import (
transactions_history_window,
transactions_history_detail_window,
)
@@ -88,6 +93,9 @@ admin_menu_dialog = Dialog(
residents_list_window,
resident_info_window,
resident_history_window,
resident_history_detail_window,
resident_history_search_input_window,
resident_history_search_results_window,
resident_logout_confirm_window,
resident_delete_confirm_window,
resident_rebind_floor_window,
@@ -113,6 +121,7 @@ admin_menu_dialog = Dialog(
rooms_list_window,
room_info_window,
room_history_window,
room_history_detail_window,
room_delete_confirm_window,
room_add_hours_select_window,
room_add_hours_custom_window,
@@ -141,4 +150,5 @@ admin_menu_dialog = Dialog(
add_admin_select_user_window,
add_admin_confirm_window,
transactions_history_window,
transactions_history_detail_window,
)