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

Hỗ trợ triển khai Odoo với ERPOnline

Tạo nhãn thông báo ở menu Odoo On-Premise

Huy
Huy
Offline

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:
Phản hồi (2)
  • Câu trả lời được chấp thuận

    Thứ năm, Tháng 9 08 2016, 11:08 AM - #permalink

    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!
    Thích
    The reply is currently minimized Hiện
  • Câu trả lời được chấp thuận

    Huy
    Huy
    Offline
    Thứ năm, Tháng 9 08 2016, 12:42 PM - #permalink

    rất cám ơn bạn hướng dẫn thật cụ thể và tuyệt vời ;)

    The reply is currently minimized Hiện
Phản hồi

Chuyên mục

Tag Cloud

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.

Liên hệ

Cty TNHH Tự động hóa Hàng hải T.V.T
#40, An Lạc 2, P. Sở Dầu, Q. Hồng Bàng
Hải Phòng
P: (031) 356 9178
F: (031) 356 9179
Hotline: 012 2222 1004
Kinh doanh This email address is being protected from spambots. You need JavaScript enabled to view it.
Thanh toán This email address is being protected from spambots. You need JavaScript enabled to view it. Hỗ trợ Kỹ thuật This email address is being protected from spambots. You need JavaScript enabled to view it.
Đầu trang