3.1 KiB
3.1 KiB
郵件通知功能優化說明
更新日期:2025-01-28
一、優化內容概述
本次優化主要改善了郵件通知的管理邏輯,實現了郵件通知對象的自動記憶和帶出功能,讓系統更符合實際使用需求。
二、主要變更
1. 資料庫結構調整
- 在
ts_temp_spec
表新增notification_emails
欄位 - 用於儲存規範生效時設定的郵件通知對象清單
- 郵件地址以分號 (;) 分隔儲存
2. 功能邏輯改進
規範生效時(Activate)
- 使用者輸入郵件通知對象
- 系統自動儲存郵件清單到資料庫
- 發送生效通知郵件
規範停止時(Terminate)
- 系統自動從資料庫讀取之前儲存的郵件清單
- 在介面上預先填入這些郵件地址
- 顯示提示訊息告知使用者這是生效時使用的通知對象
- 使用者可以:
- 直接使用預設的郵件清單
- 修改郵件清單後再發送
- 清空並重新選擇收件者
規範展延時(Extend)
- 系統自動從資料庫讀取之前儲存的郵件清單
- 在介面上預先填入這些郵件地址
- 顯示提示訊息說明可以編輯郵件清單
- 若使用者修改了郵件清單,系統會更新資料庫中的記錄
- 確保後續的通知都會發送給更新後的收件者
三、實施步驟
1. 執行資料庫遷移
python migrate_add_email_column.py
此腳本會:
- 檢查
notification_emails
欄位是否已存在 - 如果不存在,自動新增該欄位
- 驗證欄位是否成功新增
2. 重啟應用程式
完成資料庫遷移後,重啟 Flask 應用程式以載入新的功能。
四、使用說明
對於管理員
- 首次生效:在啟用規範時,輸入所有需要通知的郵件地址
- 後續操作:系統會自動記憶這些地址,無需重複輸入
對於編輯者
- 終止規範:可以看到並使用之前設定的通知對象
- 展延規範:
- 可以保留原有的通知對象
- 也可以根據需要調整通知名單
- 修改後的名單會被儲存供下次使用
五、優點
- 減少重複輸入:不需要每次都重新輸入相同的郵件地址
- 保持一致性:確保同一規範的相關人員都能收到通知
- 提供彈性:允許使用者在需要時修改通知名單
- 提升效率:加快操作流程,減少錯誤
- 改善使用體驗:更符合實際業務邏輯
六、注意事項
- 舊的規範資料不會有預存的郵件清單,需要在首次操作時輸入
- 郵件地址以分號分隔儲存,系統會自動處理格式
- 如果需要完全清空通知名單,可以在介面上刪除所有地址
七、技術細節
修改的檔案
models.py
- 新增資料庫欄位routes/temp_spec.py
- 更新郵件處理邏輯templates/terminate_spec.html
- 新增郵件預填功能templates/extend_spec.html
- 新增郵件預填功能migrate_add_email_column.py
- 資料庫遷移腳本
相容性
- 完全向後相容,不影響現有功能
- 舊資料可正常使用,新功能會在首次使用時生效