[Download] (yenbao1340@gmail.com) Lập trình Odoo (OpenERP): Thực hành Xây dựng module Phân quyền – Tải File Word, PDF Miễn Phí

  • Loading …
    Loading …
    Loading …

Thông tin tài liệu

Ngày đăng: 31/07/2015, 10:56

Download

Lập trình Odoo (OpenERP): Thực hành Xây dựng module Phân quyền trong OdooOpenERPĐề tài: Xây dựng module quản lý sinh viên Giúp các bạn tạo ra một module đầu tiên Tạo đối tượng (model) Tạo view Phân quyền Đề tài: Xây dựng module quản lý sinh viên (TT) Lab 03 – Phân quyền Input: – Tạo module quản lý sinh viên – Tạo được 3 đối tượng x_khoa, x_nganh, x_sinhvien – Tạo được các menu và view cho x_khoa, x_nganh, x_sinhvien Output: – Tạo group user – Phân quyền trên các view Tạo group user Bước 1: Tạo thư mục sercurity trong module quanly_sinhvien Bước 2: Tạo 1 file sercurity_data.xml trong thư mục quanly_sinhvien/ sercurity Bước 3: Tạo 1 category sẽ chứa các group trong module của chúng ta  Mỗi một module nên tạo 1 category để dễ quản lý Giải thích: – Dòng 1, 2, 3, 8, 9: khai báo các thẻ mặc định của Odoo. Nội dung của file XML sẽ nằm trong thẻ <data> – Dòng 4: Thẻ record với model là ir.module.category  tạo 1 category chứa các group Với id phải duy nhất, không trùng với các module khác – Dòng 5, 6: Khai báo tên của category và thứ tự xuất hiện của nó Lưu ý: Vì chúng ta chưa tạo group user nên category này vẫn chưa xuất hiện Bước 4: Tiếp tục khai báo để tạo 1 group user Sinh viên trong file sercurity_data.xml Giải thích: – Tạo 1 thẻ record với model là ir.groups có thuộc tính id là Id của group user (phải duy nhất) – Bên trong thẻ record chúng ta thẻ field để khai báo tên và category của group user đó Bước 5: Khai báo file sercurity_data.xml trong thuộc tính update_xml của file __openerp__.py để Odoo khởi tạo group user Bước 6: restart service và upgrade module Bước 7: kiểm tra kết quả Group user sẽ được thể hiện trong thẻ Access Rights của mỗi User Để truy cập vào user ta vào menu Settings  Users  Chọn user cần phân quyền trên tree view Phân quyền group user cho các model Yêu cầu bài toán với từng nhóm đối tượng – Đối tượng sinh viên chỉ được xem và chỉnh sửa các thông tin về sinh viên (không được xóa và tạo mới) – Đối tượng giáo viên chỉ được xem và chỉnh sửa các thông tin về sinh viên và thông tin ngành (không được phép xóa và tạo mới) – Đối tượng giáo vụ có thể xem, xóa, chỉnh sửa và tạo mới toàn bộ thông tin về sinh viên, khoa, ngành Bước 1: Tạo 1 file ir.model.access.csv trong thư mục quanly_sinhvien/sercurity với nội dung sau  Phân quyền cho nhóm người dùng sinh viên trên 3 đối tượng x_sinhvien, x_khoa, x_nganh Giải thích: – Với nội dung trên, chúng ta đang phân quyền cho nhóm người dùng sinh viên (group_sinhvien) trên 3 đối tượng nghiệp vụ (x_sinhvien, x_khoa, x_nganh)  Hệ thống có 3 nhóm người dùng (sinhvien, giaovien, giaovu) và 3 đối tượng nghiệp vụ, vậy chúng ta phải có tổng cộng 9 dòng dữ liệu để phân quyền cho tất cả nhóm người dùng (3×3=9) – Lưu ý ở dòng 4: nhóm sinh viên có thể xem được đối tượng x_nganh (perm_read=1) vì trong đối tượng sinh viên chúng ta có 1 field many2one đến x_nganh, nếu không cho phép nhóm sinh viên read x_nganh thì sẽ báo lỗi. Bước 2: Khai báo file ir.model.access.csv trong thuộc tính update_xml của file __openerp__.py để Odoo khởi tạo phân quyền Bước 3: restart service và upgrade module Bước 4: kiểm tra kết quả Bước 4.1: Tạo 1 user mới và phân quyền là thuộc nhóm sinh viên Vào settingsusersbấm create để tạo mới Bước 4.2: Thay đổi password cho user vừa tạo Bước 4.3: Đăng nhập vào tài khoản vừa tạo chúng ta sẽ thấy user thuộc nhóm người dùng là sinh viên chỉ hiện ra menu Quản lý sinh viên/Sinh viên và Phân ban/Ngành (vì được phép xem đối tượng x_nganh) Phân quyền group user trên view Giả sử chúng ta thêm yêu cầu: Các sinh viên chỉ được nhìn thấy menu Quản lý sinh viên/Sinh viên và không được nhìn thấy thuộc tính Trang thái trong đối tượng x_sinhvien Chúng ta sẽ tiến hành phân quyền cho nhóm người dùng sinh viên trên các view và menu Bước 1: Phân quyền trên menu Tạo 1 file sercurity_menu.xml trong thư mục sercurity với nội dung như sau Giải thích: – Nhiệm vụ của đoạn code trên là cập nhật lại thông tin của menu ngành (có id là “menu_qlsv_phanban_nganh”)  Chúng ta phải tạo menu ngành trước rồi mới phân quyền – Giá trị thuộc tính eval (đi kèm với nam=”groups_id”) có nghĩa là chúng ta chỉ cho phép 2 nhóm người dùng giáo viên và giáo vụ xem được menu Ngành. Ngoài ra tất cả các nhóm người dùng khác thì không được phép nhìn thấy Bước 2: Khai báo file sercurity_menu.xml trong thuộc tính update_xml của file __openerp__.py để Odoo khởi tạo phân quyền cho menu Bước 3: restart service và upgrade module Bước 4: Kiểm tra kết quả: Load lại trang đăng nhập với tài khoản sinh viên chúng ta sẽ thấy menu Ngành đã được ẩn đi Giả sử chúng ta thêm yêu cầu: Các sinh viên không được nhìn thấy field trạng thái Bước 1: Mở file view/sinhvien.xml và đoạn code để giới hạn quyền truy cập vào 1 file trên form view sinh viên  Ta thêm thuộc tính groups mang ý nghĩa: field state (trạng thái) chỉ được thấy bởi 2 nhóm người dùng là giáo viên và giáo vụ (Lưu ý: Lab2_Demo là tên của thư mục gốc, nơi đã tạo ra 2 nhóm người dùng group_giaovien và group_giaovu) Bước 2: Upgrade module Bước 3: Kiểm tra kết quả: Load lại trang đăng nhập với tài khoản sinh viên  truy cập vào 1 recode bất kì của sinh viên chúng ta sẽ thấy field trạng thái đã bị ẩn đi . (trạng thái) chỉ được thấy bởi 2 nhóm người dùng là giáo viên và giáo vụ (Lưu ý: Lab2 _Demo là tên của thư mục gốc, nơi đã tạo ra 2 nhóm người dùng group_giaovien và group_giaovu) Bước

– Xem thêm –

Bạn đang xem: [Download] (yenbao1340@gmail.com) Lập trình Odoo (OpenERP): Thực hành Xây dựng module Phân quyền – Tải File Word, PDF Miễn Phí

Xem thêm: (yenbao1340@gmail.com) Lập trình Odoo (OpenERP): Thực hành Xây dựng module Phân quyền, (yenbao1340@gmail.com) Lập trình Odoo (OpenERP): Thực hành Xây dựng module Phân quyền, (yenbao1340@gmail.com) Lập trình Odoo (OpenERP): Thực hành Xây dựng module Phân quyền

Hy vọng thông qua bài viết (yenbao1340@gmail.com) Lập trình Odoo (OpenERP): Thực hành Xây dựng module Phân quyền . Bạn sẽ tìm được cho mình những tài liệu học tập bổ ích nhất.