mirror of https://github.com/OCA/web.git
Merge pull request #243 from hbrunn/8.0-web_menu_navbar_needaction
[FIX] count needactions from the same model only oncepull/227/head
commit
c5f9f90024
|
@ -26,6 +26,7 @@
|
||||||
"summary": "Show the sum of submenus' needaction counters in main menu",
|
"summary": "Show the sum of submenus' needaction counters in main menu",
|
||||||
"depends": [
|
"depends": [
|
||||||
'web',
|
'web',
|
||||||
|
'mail',
|
||||||
],
|
],
|
||||||
"data": [
|
"data": [
|
||||||
"data/ir_config_parameter.xml",
|
"data/ir_config_parameter.xml",
|
||||||
|
|
|
@ -27,10 +27,15 @@ class IrUiMenu(models.Model):
|
||||||
def get_navbar_needaction_data(self):
|
def get_navbar_needaction_data(self):
|
||||||
result = {}
|
result = {}
|
||||||
for this in self:
|
for this in self:
|
||||||
result[this.id] = sum(map(
|
count_per_model = {}
|
||||||
lambda x: x['needaction_counter'],
|
for menu_id, needaction in self.search(
|
||||||
self.search([('id', 'child_of', this.ids)])
|
[('id', 'child_of', this.ids)])._filter_visible_menus()\
|
||||||
._filter_visible_menus().get_needaction_data()
|
.get_needaction_data().iteritems():
|
||||||
.itervalues())
|
if needaction['needaction_enabled']:
|
||||||
)
|
model = self.env['ir.ui.menu'].browse(menu_id).action\
|
||||||
|
.res_model
|
||||||
|
count_per_model[model] = max(
|
||||||
|
count_per_model.get(model),
|
||||||
|
needaction['needaction_counter'])
|
||||||
|
result[this.id] = sum(count_per_model.itervalues())
|
||||||
return result
|
return result
|
||||||
|
|
|
@ -75,4 +75,15 @@ openerp.web_menu_navbar_needaction = function(instance)
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
instance.mail.Thread.include({
|
||||||
|
message_fetch_set_read: function (message_list)
|
||||||
|
{
|
||||||
|
this._super.apply(this, arguments);
|
||||||
|
return this.render_mutex.exec(function()
|
||||||
|
{
|
||||||
|
instance.client.menu.refresh_navbar_needaction();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue