Diễn đàn Hỏi & Đáp

Hỗ trợ triển khai Odoo với ERPOnline
  1. Huy
  2. Developers
  3. Thứ năm, Tháng 9 08 2016, 09:52 AM
  4.  Theo dõi qua Email
Mình để ý thấy khi có module mới (menu Updates) sẽ hiện thông báo như ở hình đình kèm

Không rõ Odoo có sẵn hàm này không hay phải tự viết?

Mình có thể dùng tài khoản addmin để vào setting set cái tương tự cho menu mình mong muốn không hay buộc phải custom code?

xin được các bác chỉ giáo xin cảm ơn!
Đính kèm
David Tran Câu trả lời được chấp thuận Pending Moderation
Quản trị
1
Bầu chọn
Undo
Cái này gọi là Menu Badge. Nó cho phép lập trình viên Odoo hiển thị một cái nhãn ở menu item trong Odoo.
Để sử dụng tính năng này, bạn cần phải lập trình cho menu của mình bằng cách viết model của bạn kế thừa model ir.needaction_mixin sẵn có trong Odoo
_inherit = ['ir.needaction_mixin']

Sau đó, bạn cần định nghĩa một phương thức có tên _needaction_domain_get để hiển thị các record mới với tiêu chí được định nghĩa trong _needaction_domain_get, ví dụ như sau:
@api.model
def _needaction_domain_get(self):
return [('state', '=', 'new')]

Hoặc, thay vì định nghĩa phương thức trên, bạn có thể định nghĩa phương thức _needaction_count để hiển thị số lượng, đại loại như sau:
@api.model
def _needaction_count(self, domain=None):
"""
Đếm các records của object theo domain truyền vào
hoặc đếm toàn bộ nếu không truyền domain vào
"""
return self.search_count(domain or [])


Một ví dụ cụ thể cho một class mới:
class HocSinh(models.Model):
_name = 'hocsinh'
_inherit = ['ir.needaction_mixin']

# viết riêng thằng state này ra để tiện cho thằng khác kế thừa
# mà không cần override lại trường kiểu Selection dưới đây
STATES = [
('khoe', "Sức khoẻ tốt"),
('yeu', "Sức khoẻ yếu"),
]

name = fields.Char(required=True)
state = fields.Selection(STATES, default='khoe')

@api.model
def _needaction_domain_get(self):
"""
Hiển thị số lượng học sinh bị yếu ở menu badge
"""
return [('state', '=', 'yeu')]


Hy vọng giờ bạn biết cách làm!
Bình luận
Không có bình luận nào cho bài này
Huy Câu trả lời được chấp thuận Pending Moderation
0
Bầu chọn
Undo
rất cám ơn bạn hướng dẫn thật cụ thể và tuyệt vời ;)
Bình luận
Không có bình luận nào cho bài này
  • Trang :
  • 1


Chưa có phản hồi nào cho câu hỏi/thảo luận này.
Tuy nhiên, bạn không được phép gửi phản hồi ở thảo luận này.

Chuyên mục

Diễn đàn Đại lý
  1. 1 post
  2. 0 subcategories
Developers
  1. 112 posts
  2. 0 subcategories
Hỗ trợ Triển khai ERP&CRM
  1. 441 posts
  2. 0 subcategories
Hỏi trước khi Mua
  1. 56 posts
  2. 0 subcategories
ERPOnline được xây dựng & phát triển trên nền tảng phần mềm nguồn mở Odoo (tên cũ là OpenERP) cho phép các Tổ chức, Doanh nghiệp triển khai & ứng dụng phần mềm Hoạch định Nguồn lực Doanh nghiệp (ERP) và Quản lý Quan hệ Khách hàng (CRM) trực tuyến dưới hình thức SaaS (Software as a Service - Phần mềm kiểu Dịch vụ) với chi phí mà mọi tổ chức và doanh nghiệp đều chấp nhận được.
Công ty TNHH Tự động hoá Hàng hải T.V.T
 Số 40 An Lạc 2, P. So Dau, Q. Hồng Bàng, TP. Hải Phòng
0225 352 9538
012 2222 1004
Kinh doanh sales@ma.tvtmarine.com
Hoá đơn & Thanh toán billing@ma.tvtmarine.com
Hỗ trợ Kỹ thuật support@ma.tvtmarine.com
Đầu trang