summaryrefslogtreecommitdiff
path: root/addons/mail/mail_group_menu.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/mail/mail_group_menu.py')
-rw-r--r--addons/mail/mail_group_menu.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/addons/mail/mail_group_menu.py b/addons/mail/mail_group_menu.py
new file mode 100644
index 00000000000..38756f69928
--- /dev/null
+++ b/addons/mail/mail_group_menu.py
@@ -0,0 +1,44 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2010-today OpenERP SA (<http://www.openerp.com>)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>
+#
+##############################################################################
+
+from osv import osv
+from osv import fields
+from tools.translate import _
+
+class ir_ui_menu(osv.osv):
+ _inherit = 'ir.ui.menu'
+ _columns = {
+ 'mail_group_id': fields.many2one('mail.group', 'Mail Group')
+ }
+ def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
+ ids = super(ir_ui_menu, self).search(cr, uid, args, offset=0, limit=None, order=order, context=context, count=False)
+
+ subs = self.pool.get('mail.subscription')
+ for menu in self.browse(cr, uid, ids, context=context):
+ if menu.mail_group_id:
+ sub_ids = subs.search(cr, uid, [
+ ('user_id','=',uid),('res_model','=','mail.group'),
+ ('res_id','=',menu.mail_group_id.id)
+ ], context=context)
+ if not sub_ids:
+ ids.remove(menu.id)
+ return ids
+