This commit is contained in:
beabigegg
2025-08-28 11:51:04 +08:00
parent 4f7f46b07a
commit bdfda30ca8
12 changed files with 441 additions and 222 deletions

View File

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