Merge lp:~openerp-dev/openobject-addons/7.0-mail_issues-fix-adh-1251130 into lp:openobject-addons/7.0

Proposed by Anand Dharampuriya(OpenERP)
Status: Needs review
Proposed branch: lp:~openerp-dev/openobject-addons/7.0-mail_issues-fix-adh-1251130
Merge into: lp:openobject-addons/7.0
Diff against target: 27 lines (+9/-1)
1 file modified
mail/mail_group.py (+9/-1)
To merge this branch: bzr merge lp:~openerp-dev/openobject-addons/7.0-mail_issues-fix-adh-1251130
Reviewer Review Type Date Requested Status
OpenERP Core Team Pending
Review via email: mp+222129@code.launchpad.net

Description of the change

Hello,
Here I had solved to prevet user to delete Whole Company, Company News and Company Jobs these 3 groups.

Regards
Anand Dharampuriya (ADH)

To post a comment you must log in.

Unmerged revisions

10064. By Anand Dharampuriya(OpenERP)

[FIX] Mail: Solve how to restrict user to delete existing groups Whole Company, Company Jobs and Company News

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'mail/mail_group.py'
2--- mail/mail_group.py 2013-08-27 15:07:08 +0000
3+++ mail/mail_group.py 2014-06-05 08:37:42 +0000
4@@ -24,7 +24,7 @@
5 from openerp.osv import osv
6 from openerp.osv import fields
7 from openerp import SUPERUSER_ID
8-
9+from openerp.tools.translate import _
10
11 class mail_group(osv.Model):
12 """ A mail_group is a collection of users sharing messages in a discussion
13@@ -172,6 +172,14 @@
14 mail_alias = self.pool.get('mail.alias')
15 alias_ids = [group.alias_id.id for group in groups if group.alias_id]
16 # Delete mail_group
17+ ir_model_data = self.pool.get('ir.model.data')
18+ group_ids = []
19+ group_ids.append(ir_model_data.get_object_reference(cr, uid, 'mail', 'group_all_employees')[1])
20+ group_ids.append(ir_model_data.get_object_reference(cr, uid, 'portal', 'company_news_feed')[1])
21+ group_ids.append(ir_model_data.get_object_reference(cr, uid, 'portal', 'company_jobs')[1])
22+ group_ids = [group_id for group_id in group_ids if group_id in ids]
23+ if group_ids:
24+ raise osv.except_osv(_('Warning!'), _('You can not delete this group because some other modules are depend on it'))
25 res = super(mail_group, self).unlink(cr, uid, ids, context=context)
26 # Delete alias
27 mail_alias.unlink(cr, SUPERUSER_ID, alias_ids, context=context)