92 lines
3.1 KiB
Markdown
92 lines
3.1 KiB
Markdown
# 郵件通知功能優化說明
|
||
|
||
## 更新日期: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` - 資料庫遷移腳本
|
||
|
||
### 相容性
|
||
- 完全向後相容,不影響現有功能
|
||
- 舊資料可正常使用,新功能會在首次使用時生效 |