跳到主內容

系統使用者與權限運作

  1. Odoo 的權限管理邏輯: Odoo 的權限設計是開發人員需要仔細理解的重要部分。由於每家公司的需求不同,技術人員需要根據 Odoo 的權限邏輯進行客製化設計。
  2. 核心權限控制模型 (IR model access): Odoo 中管理模型存取權限的主要模型是 ir.model.access。這個模型用於控制對每個模型的「讀、寫、建、刪」權限。演講者強調這是設定權限時「最優先要先處理的」。
  3. 使用者群組 (RES Group): 為了方便管理,Odoo 允許將使用者進行分組 (res.groups)。可以根據不同的群組給予不同的模型存取權限,這樣就無需為每個使用者單獨設定權限。
  4. 資料可視規則 (IR rule): ir.rule 模型用於建立資料的可視規則,即控制使用者可以看到哪些資料。最常見的應用場景是區分使用者只能看到自己建立的文件,還是可以看到全部的文件。這方面的設定也通常透過 res.groups 進行。
  5. 視圖層級的權限設定: 除了在 ir.model.access 和 ir.rule 中設定,有時也可以直接在視圖 (View) 中針對特定的元素(如按鈕 button link)設定哪些群組 (groups) 可以看到或操作。這提供了更細粒度的控制。
  6. superuser 的特權: Odoo 的 superuser 不受 ir.model.access 和 ir.rule 這兩種權限設定的影響。開發人員在使用 superuser 進行開發時,必須記得登入普通使用者帳號測試權限設定是否如預期運作,以免出現開發時順利但在實際使用中無法運作的情況。
  7. 完整會計功能的顯示: Odoo 的會計功能會隨著版本更新進行調整,部分功能預設可能不對使用者開放。在 Odoo 15 中,需要透過使用者群組設定,將需要使用完整會計功能的人員加入特定的群組(例如「顯示所有會計功能」),才能看到全部的會計菜單和設定選項。
  8. 建立新使用者: 建立新使用者帳戶時,需要填寫使用者名稱和電子郵件。系統在建立使用者的同時也會自動建立一個聯絡人。第一次建立時建議先填寫電子郵件地址並儲存,然後再修改登入帳號 (Login) 欄位,以達到更簡潔的登入名稱。可以在使用者設定中修改密碼。
  9. 員工模組與使用者關聯: 安裝「員工」模組後,使用者設定頁面會出現「建立員工」按鈕,可以快速將使用者資訊帶入員工模組。員工模組的 HR 設定 中的 相關使用者 (user_id) 欄位關聯的是 res.users 模型(即使用者帳戶)。並非所有員工都必須有關聯的使用者帳戶。
  10. 聯絡人 (RES partner) 的重要性: Odoo 中所有與地址、電話等通訊聯絡相關的資訊,無論是客戶、供應商、還是員工,都統一集中在 res.partner 這個模型中進行管理。各個模組(如銷售、採購、員工)在顯示相關人員資訊時,都是從 res.partner 中串聯或篩選出來的。員工的個人隱私資訊(如家庭住址)也儲存在其關聯的 res.partner 記錄中。

測驗:十個簡答題 (每題 2-3 句)

  1. 在 Odoo 的權限設定中,哪個 Model 是管理 Model 存取權限的核心?這個 Model 主要控制哪些操作?
  2. RES Group 在 Odoo 權限系統中的作用是什麼?使用 RES Group 有什麼好處?
  3. IR Rule 的主要功能是什麼?在系統中常見的 IR Rule 應用案例是什麼?
  4. Superuser 在 Odoo 的權限系統中有什麼特殊之處?這對開發人員在測試時需要注意什麼?
  5. 除了 IR Model Access 和 IR Rule,Odoo 還在哪個地方可以直接設定權限的可視規則?
  6. 如何在 Odoo 15 中啟用完整的會計功能?這需要調整哪個設定?
  7. 在 Odoo 中建立新使用者時,最初建議先填寫哪個欄位?這樣做的目的是什麼?
  8. 新建立的使用者的 Login 欄位預設會是什麼?如何修改它以便更方便登入?
  9. 如果在 Odoo 安裝了員工模組,建立使用者後會多出一個什麼按鈕?這個按鈕的功能是什麼?
  10. 在 Odoo 系統中,關於地址、電話等通訊聯絡資訊,統一集中在哪個 Model 中進行管理?為什麼這樣設計?

測驗答案

  1. 在 Odoo 的權限設定中,IR Model Access 是管理 Model 存取權限的核心 Model。它主要控制針對各個 Model 的讀取、寫入、建立和刪除(讀寫建刪)權限。
  2. RES Group 用於將使用者進行分組。透過針對不同的群組設定存取權限,可以避免逐一設定每個使用者的權限,提高管理效率。
  3. IR Rule 主要用於建立資料的可視規則或全域規則。常見的應用案例是設定銷售人員只能看到自己的文件,或能看到所有文件。
  4. Superuser 在 Odoo 中不受 IR Model Access 和 IR Rule 的權限設定影響。因此開發人員使用 Superuser 測試時,必須記得登出並使用一般權限的帳號再次測試設定是否生效。
  5. 除了 IR Model Access 和 IR Rule,Odoo 還可以直接在 View 裡面針對特定的元素(如按鈕)設定權限的可視規則。
  6. 在 Odoo 15 中,需要到「設定」->「使用者」->「群組」中,找到並勾選「顯示所有會計功能」的群組,並將需要使用會計功能的使用者加入此群組,才能啟用完整的會計功能。
  7. 在 Odoo 中建立新使用者時,最初建議先填寫電子郵件地址。這是因為系統在建立使用者的同時會建立一個聯絡人,電子郵件地址會被填入聯絡人資訊中。
  8. 新建立使用者的 Login 欄位預設會是完整的電子郵件地址。若想簡化登入,可以在建立使用者並儲存聯絡人後,將 Login 欄位修改為更短的帳號名稱。
  9. 如果在 Odoo 安裝了員工模組,建立使用者後會多出一個「建立員工」的按鈕。這個按鈕可以快速地將該使用者關聯並建立為一個員工記錄。
  10. 在 Odoo 系統中,所有關於地址、電話等通訊聯絡資訊統一集中在 RES Partner 這個 Model 中進行管理(即聯絡人資訊)。這樣設計是為了將所有聯絡性質的資訊(包括客戶、供應商、員工等)集中管理,方便各個模組串聯和重複使用這些資料。