diff --git a/sun_badge_menu/models/sun_badge_menu_mixin.py b/sun_badge_menu/models/sun_badge_menu_mixin.py index aaa572e84..f0b1ad316 100644 --- a/sun_badge_menu/models/sun_badge_menu_mixin.py +++ b/sun_badge_menu/models/sun_badge_menu_mixin.py @@ -1,25 +1,28 @@ +import logging + from odoo import fields, models, api from odoo.addons.bus.models.bus import channel_with_db +_logger = logging.getLogger(__name__) class SunBadgeMenuMixin(models.AbstractModel): _name = 'sun.badge.menu.mixin' _description = '菜单徽章' - def get_menu_badge_count(self, action_record): - """ - 获取当前用户的菜单徽章数 - """ - self.ensure_one() - # 这里应该根据具体业务逻辑来计算徽章数 - # 作为示例,我们返回一个默认值 - return 0 + # def get_menu_badge_count(self, action_record): + # """ + # 获取当前用户的菜单徽章数 + # """ + # self.ensure_one() + # # 这里应该根据具体业务逻辑来计算徽章数 + # # 作为示例,我们返回一个默认值 + # return 0 def trigger_menu_reload(self): """ 通过bus触发所有用户重新加载菜单数据 """ # reload_menu_data - + _logger.info('触发菜单重新加载') self.env['bus.bus']._sendone(self.env.user.partner_id, 'sun_badge_menu.reload_menu_data', {'type': 'reload_menu_data'}) diff --git a/sun_badge_menu/static/src/webclient/navbar/navbar.js b/sun_badge_menu/static/src/webclient/navbar/navbar.js index 57a990fe2..e849b3084 100644 --- a/sun_badge_menu/static/src/webclient/navbar/navbar.js +++ b/sun_badge_menu/static/src/webclient/navbar/navbar.js @@ -2,11 +2,13 @@ import {NavBar} from "@web/webclient/navbar/navbar"; import {patch} from "@web/core/utils/patch"; +import { useService } from "@web/core/utils/hooks"; patch(NavBar.prototype, { setup() { super.setup(); - this.busService = this.env.services.bus_service; + this.busService = this.env.services.bus_service + console.log(this.env.services.bus_service) // 监听后端发送的信号,重新加载菜单数据 this.busService.subscribe("sun_badge_menu.reload_menu_data", () => { // diff --git a/yuthon_purchase/__manifest__.py b/yuthon_purchase/__manifest__.py index 23056c460..19c366487 100644 --- a/yuthon_purchase/__manifest__.py +++ b/yuthon_purchase/__manifest__.py @@ -6,7 +6,7 @@ 'category': 'zhou', 'version': '0.1', 'license': 'LGPL-3', - 'depends': ['base', 'soong_workflow', 'hr', 'product', 'documents', 'purchase'], + 'depends': ['base', 'soong_workflow', 'hr', 'product', 'documents', 'purchase','sun_badge_menu'], 'data': [ 'security/ir.model.access.csv', 'views/inherit_product_product_views.xml', diff --git a/yuthon_purchase/models/inherit_purchase_order.py b/yuthon_purchase/models/inherit_purchase_order.py index 845dedf44..b65746d71 100644 --- a/yuthon_purchase/models/inherit_purchase_order.py +++ b/yuthon_purchase/models/inherit_purchase_order.py @@ -5,7 +5,9 @@ from odoo.exceptions import UserError, ValidationError class InheritPurchaseOrder(models.Model): - _inherit = 'purchase.order' + # _inherit = 'purchase.order' + _name = 'purchase.order' + _inherit = ['purchase.order','sun.badge.menu.mixin'] json_display = fields.Char( string="物品详情", @@ -48,10 +50,15 @@ class InheritPurchaseOrder(models.Model): def get_no_read_count(self): domain = [ - ('company_id', '=', self.env.user.company_id.id), + # ('company_id', '=', self.env.user.company_id.id), + ('state','=','draft') ] return self.search_count(domain) + def button_confirm(self): + self.trigger_menu_reload() + return super(InheritPurchaseOrder, self).button_confirm() + def action_view_picking(self): if self.user_id == self.env.user: raise UserError("您不能接收自己创建的采购订单产品")