cubells
8 years ago
committed by
Pedro M. Baeza
7 changed files with 61 additions and 74 deletions
-
10partner_deduplicate_acl/README.rst
-
3partner_deduplicate_acl/__init__.py
-
10partner_deduplicate_acl/__openerp__.py
-
75partner_deduplicate_acl/security/crm_deduplicate_acl_security.xml
-
3partner_deduplicate_acl/wizards/__init__.py
-
24partner_deduplicate_acl/wizards/partner_merge.py
-
10partner_deduplicate_acl/wizards/partner_merge_view.xml
@ -1,5 +1,6 @@ |
|||||
# -*- coding: utf-8 -*- |
# -*- coding: utf-8 -*- |
||||
# © 2016 Antiun Ingeniería S.L. - Jairo Llopis |
|
||||
|
# © 2016 Tecnativa, S.L. - Jairo Llopis |
||||
|
# © 2016 Tecnativa, S.L. - Vicent Cubells |
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
|
|
||||
from . import wizards |
from . import wizards |
@ -1,44 +1,35 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
<?xml version="1.0" encoding="utf-8"?> |
||||
<!-- © 2016 Antiun Ingeniería S.L. - Jairo Llopis |
|
||||
|
<!-- © 2016 Tecnativa S.L. - Jairo Llopis |
||||
|
© 2016 Tecnativa S.L. - Vicent Cubells |
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). --> |
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). --> |
||||
|
|
||||
<openerp> |
|
||||
<data> |
|
||||
|
|
||||
<!-- New user group category --> |
|
||||
<record id="category" model="ir.module.category"> |
|
||||
<field name="name">Deduplicate Contacts</field> |
|
||||
</record> |
|
||||
|
|
||||
<!-- New user groups --> |
|
||||
<record id="group_manually" model="res.groups"> |
|
||||
<field name="name">Manually</field> |
|
||||
<field name="category_id" ref="category"/> |
|
||||
</record> |
|
||||
|
|
||||
<record id="group_automatically" model="res.groups"> |
|
||||
<field name="name">Automatically</field> |
|
||||
<field name="category_id" ref="category"/> |
|
||||
<field name="implied_ids" eval="[(4, ref('group_manually'))]"/> |
|
||||
</record> |
|
||||
|
|
||||
<record id="group_unrestricted" model="res.groups"> |
|
||||
<field name="name">Without restrictions</field> |
|
||||
<field name="category_id" ref="category"/> |
|
||||
<field name="implied_ids" eval="[(4, ref('group_manually'))]"/> |
|
||||
</record> |
|
||||
|
|
||||
<!-- Respect previous behavior --> |
|
||||
<record id="base.group_system" model="res.groups"> |
|
||||
<field name="implied_ids" eval="[(4, ref('group_unrestricted'))]"/> |
|
||||
</record> |
|
||||
|
|
||||
<!-- New permission for menuitem --> |
|
||||
<record id="crm.partner_merge_automatic_menu" model="ir.ui.menu"> |
|
||||
<field |
|
||||
name="groups_id" |
|
||||
eval="[(4, ref('group_manually'))]"/> |
|
||||
</record> |
|
||||
|
|
||||
</data> |
|
||||
</openerp> |
|
||||
|
<odoo> |
||||
|
|
||||
|
<!-- New user group category --> |
||||
|
<record id="category" model="ir.module.category"> |
||||
|
<field name="name">Deduplicate Contacts</field> |
||||
|
</record> |
||||
|
|
||||
|
<!-- New user groups --> |
||||
|
<record id="group_manually" model="res.groups"> |
||||
|
<field name="name">Manually</field> |
||||
|
<field name="category_id" ref="category"/> |
||||
|
</record> |
||||
|
|
||||
|
<record id="group_automatically" model="res.groups"> |
||||
|
<field name="name">Automatically</field> |
||||
|
<field name="category_id" ref="category"/> |
||||
|
<field name="implied_ids" eval="[(4, ref('group_manually'))]"/> |
||||
|
</record> |
||||
|
|
||||
|
<record id="group_unrestricted" model="res.groups"> |
||||
|
<field name="name">Without restrictions</field> |
||||
|
<field name="category_id" ref="category"/> |
||||
|
<field name="implied_ids" eval="[(4, ref('group_manually'))]"/> |
||||
|
</record> |
||||
|
|
||||
|
<!-- Respect previous behavior --> |
||||
|
<record id="base.group_system" model="res.groups"> |
||||
|
<field name="implied_ids" eval="[(4, ref('group_unrestricted'))]"/> |
||||
|
</record> |
||||
|
|
||||
|
</odoo> |
@ -1,5 +1,6 @@ |
|||||
# -*- coding: utf-8 -*- |
# -*- coding: utf-8 -*- |
||||
# © 2016 Antiun Ingeniería S.L. - Jairo Llopis |
|
||||
|
# © 2016 Tecnativa, S.L. - Jairo Llopis |
||||
|
# © 2016 Tecnativa, S.L. - Vicent Cubells |
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
|
|
||||
from . import partner_merge |
from . import partner_merge |
@ -1,25 +1,21 @@ |
|||||
# -*- coding: utf-8 -*- |
# -*- coding: utf-8 -*- |
||||
# © 2016 Antiun Ingeniería S.L. - Jairo Llopis |
|
||||
|
# © 2016 Tecnativa, S.L. - Jairo Llopis |
||||
|
# © 2016 Tecnativa, S.L. - Vicent Cubells |
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
|
|
||||
from openerp import SUPERUSER_ID, api, models |
|
||||
|
from openerp import api, models |
||||
|
|
||||
|
|
||||
class BasePartnerMergeAutomaticWizard(models.TransientModel): |
class BasePartnerMergeAutomaticWizard(models.TransientModel): |
||||
_inherit = "base.partner.merge.automatic.wizard" |
_inherit = "base.partner.merge.automatic.wizard" |
||||
|
|
||||
@api.cr_uid_context |
|
||||
def _merge(self, cr, uid, partner_ids, dst_partner=None, context=None): |
|
||||
|
@api.model |
||||
|
def _merge(self, partner_ids, dst_partner=None): |
||||
"""Allow non-admins to merge partners with different emails.""" |
"""Allow non-admins to merge partners with different emails.""" |
||||
# Know if user has unrestricted access |
# Know if user has unrestricted access |
||||
group_unrestricted = self.pool["ir.model.data"].xmlid_to_object( |
|
||||
cr, uid, "crm_deduplicate_acl.group_unrestricted", context) |
|
||||
user = self.pool["res.users"].browse(cr, uid, uid, context) |
|
||||
|
|
||||
# Run as admin if so |
|
||||
|
if self.env.user.has_group('crm_deduplicate_acl.group_unrestricted'): |
||||
|
# Run as admin if so |
||||
|
self = self.sudo() |
||||
return super(BasePartnerMergeAutomaticWizard, self)._merge( |
return super(BasePartnerMergeAutomaticWizard, self)._merge( |
||||
cr, |
|
||||
SUPERUSER_ID if group_unrestricted in user.groups_id else uid, |
|
||||
partner_ids, |
|
||||
dst_partner, |
|
||||
context) |
|
||||
|
partner_ids=partner_ids, dst_partner=dst_partner |
||||
|
) |
Write
Preview
Loading…
Cancel
Save
Reference in new issue