From 4611c81036cb869f9bb1c50dd4a89545c35180d8 Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Thu, 18 Feb 2016 17:36:43 +0100 Subject: [PATCH] [ADD] crm_deduplicate_acl: Deduplicate permission groups This module allows any user to get special permissions to be able to deduplicate contacts, instead of just giving them to a sale manager with settings permissions. The new permissions allow the user to deduplicate: - *Manually*. - *Automatically* (dangerous). - *Without restrictions* (more dangerous). Beware what you do! :hushed: --- partner_deduplicate_acl/README.rst | 96 ++++++++++++++++++ partner_deduplicate_acl/__init__.py | 5 + partner_deduplicate_acl/__openerp__.py | 24 +++++ partner_deduplicate_acl/i18n/es.po | 43 ++++++++ partner_deduplicate_acl/images/perms.png | Bin 0 -> 76295 bytes .../security/crm_deduplicate_acl_security.xml | 44 ++++++++ .../static/description/icon.png | Bin 0 -> 9455 bytes partner_deduplicate_acl/wizards/__init__.py | 5 + .../wizards/partner_merge.py | 25 +++++ .../wizards/partner_merge_view.xml | 31 ++++++ 10 files changed, 273 insertions(+) create mode 100644 partner_deduplicate_acl/README.rst create mode 100644 partner_deduplicate_acl/__init__.py create mode 100644 partner_deduplicate_acl/__openerp__.py create mode 100644 partner_deduplicate_acl/i18n/es.po create mode 100644 partner_deduplicate_acl/images/perms.png create mode 100644 partner_deduplicate_acl/security/crm_deduplicate_acl_security.xml create mode 100644 partner_deduplicate_acl/static/description/icon.png create mode 100644 partner_deduplicate_acl/wizards/__init__.py create mode 100644 partner_deduplicate_acl/wizards/partner_merge.py create mode 100644 partner_deduplicate_acl/wizards/partner_merge_view.xml diff --git a/partner_deduplicate_acl/README.rst b/partner_deduplicate_acl/README.rst new file mode 100644 index 000000000..3666d56aa --- /dev/null +++ b/partner_deduplicate_acl/README.rst @@ -0,0 +1,96 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +======================== +Deduplicate Contacts ACL +======================== + +This module extends the functionality of the CRM contact deduplicator to add +permission groups that allow the matching users to use those tools, not +needing to be the sale settings manager. + +Configuration +============= + +To configure this module, you need to: + +#. Go to *Settings > Users > Users*. +#. Choose a user. +#. Choose the desired permission level(s) in *Appplication > Deduplicate + Contacts*: + + - *Manually* allows him to do the manual deduplication process. + - *Automatically* allows him to do the automatic deduplication process. + + .. warning:: + Automatic contact deduplication can easily lead to unwanted results. + Better backup before doing it. + + - *Without restrictions* executes the chosen deduplication method with admin + rigts, to be able to update objects where the user would normally not have + write rights, and to allow him to merge contacts with different email + addresses. + + .. warning:: + This is an advanced feature, be sure to train the user before enabling + this permission for him. + +Usage +===== + +To use this module, you need to: + +#. Ask your admin to give you the new rigts. +#. Go to *Sales > Tools > Deduplicate Contacts* as usual. + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/111/8.0 + +Known issues / Roadmap +====================== + +* Wizard's code is partially written in old API because somehow [possibly] + the upstream's ``@mute_logger`` decorator prevents API from doing its magic. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed `feedback +`_. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Rafael Blasco +* Jairo Llopis + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/partner_deduplicate_acl/__init__.py b/partner_deduplicate_acl/__init__.py new file mode 100644 index 000000000..a803d44dd --- /dev/null +++ b/partner_deduplicate_acl/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# © 2016 Antiun Ingeniería S.L. - Jairo Llopis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import wizards diff --git a/partner_deduplicate_acl/__openerp__.py b/partner_deduplicate_acl/__openerp__.py new file mode 100644 index 000000000..76d2e015b --- /dev/null +++ b/partner_deduplicate_acl/__openerp__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +# © 2016 Antiun Ingeniería S.L. - Jairo Llopis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +{ + "name": "Deduplicate Contacts ACL", + "summary": "Contact deduplication with fine-grained permission control", + "version": "8.0.1.0.0", + "category": "Tools", + "website": "http://www.antiun.com", + "author": "Antiun Ingeniería S.L., Odoo Community Association (OCA)", + "license": "AGPL-3", + "application": False, + "installable": True, + "depends": [ + "crm", + ], + "data": [ + "security/crm_deduplicate_acl_security.xml", + "wizards/partner_merge_view.xml", + ], + "images": [ + "images/perms.png", + ], +} diff --git a/partner_deduplicate_acl/i18n/es.po b/partner_deduplicate_acl/i18n/es.po new file mode 100644 index 000000000..6fd866a6b --- /dev/null +++ b/partner_deduplicate_acl/i18n/es.po @@ -0,0 +1,43 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * crm_deduplicate_acl +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 8.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-02-18 16:30+0000\n" +"PO-Revision-Date: 2016-02-18 17:32+0100\n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: \n" +"Language: es\n" +"X-Generator: Poedit 1.8.6\n" + +#. module: crm_deduplicate_acl +#: model:res.groups,name:crm_deduplicate_acl.group_automatically +msgid "Automatically" +msgstr "Automáticamente" + +#. module: crm_deduplicate_acl +#: model:ir.module.category,name:crm_deduplicate_acl.category +msgid "Deduplicate Contacts" +msgstr "Deduplicar contactos" + +#. module: crm_deduplicate_acl +#: model:res.groups,name:crm_deduplicate_acl.group_manually +msgid "Manually" +msgstr "Manualmente" + +#. module: crm_deduplicate_acl +#: model:res.groups,name:crm_deduplicate_acl.group_unrestricted +msgid "Without restrictions" +msgstr "Sin restricciones" + +#. module: crm_deduplicate_acl +#: view:base.partner.merge.automatic.wizard:crm_deduplicate_acl.base_partner_merge_automatic_wizard_form +msgid "crm_deduplicate_acl.group_automatically" +msgstr "crm_deduplicate_acl.group_automatically" diff --git a/partner_deduplicate_acl/images/perms.png b/partner_deduplicate_acl/images/perms.png new file mode 100644 index 0000000000000000000000000000000000000000..aacf5528d146fed7e24f0f3d24ee6bb38a9487e2 GIT binary patch literal 76295 zcmXt91yGx9vn>>dQk)c*;1qXv2t|VyEd+Nj?(Xi=qQ#-O7fo>~?heJ><)+_1H#3>c zo8*;!cF)S$eIitpWZ$6?p}l$Y<{d~*3jF2`+yLxdfPw`3rct-y7wiMUSpuYv0(*I* zn1sWQKe$M1yQtZlxqLNpGJRuiXK!oz(HY`oYHH_fVefMKwoByA8;Um|DRFi8?4ypa z$uuCJy~l`fuDLYc<7am$A22!?>nBQl_c7Y{mD|Ds>GqVHV=JvFO?z_YBYE>{P4o90 z6v4n)E)D?Y(;Lp{FKj{NYg=tzi<+)!T`c-i?V=p^GnEIhS5@l@XZ)Jl?KF4B2U^ap zEK$}9?o`FF-!DsbqPpl3ZnjH7yM#;i<~}?F6h-jA05Nz}hsq`P#+GR*d8|Kd`CjkZ z{7(CYDx8-4*->lEQaWvFM9X8VokwiOiV*sK-VW~#u#lps`Zd|PkgL@^J$-Fh=r|to z;YB>;*Q_4*n>!yDc+F`E7;Ph)n}5wdw!gU>_j|p)dC@&iXR5l_fUcEWQ%c`n`^`Q# zQC75vZ7g4Q&E9E|SvMRy3;TSQePr5eFBhI9HrAU2S^sPzl;p7fRaI~(;qtL&^T4hRsS6A=Z+_{-(jyb{W~C_ z^;o_VO)PcW{`FO~++J8>@4LmQt>^TM735@gwxV5Y?AEtqpX~DUmLc@IN!7*BZ}`D@ z{Kd!gaqn=rb*$ub$Fu2N*XQ$2uPntr{=HYd<2*>$*q(Dt*CW{pncwZ{N?~)=rC-AB ztJUH7CZ(38^TIX>vF2!7XMjK6IgOc1_gf8#c?exs`%1$DHux)at zN%44?f1vShh4HfMqUi*p&&(pV>8F$(bxK&_`ofE9ZQ!?OX#9I1ri88Yv|v(4=oOZD!{7&22ykm;d8TCJsf~Bkz`3z*DNmHzv z>Mh!UBk0}tz`7XRE!wuX_Be&fD3p#QA;~y%uBt=g3_%TOP)Da3tACf!GpMdOyQd^;A+tvks;(-*-i+2 z_CDLsCZIH-<=@>-|0hlw+L%*V98H#{d}JnHEc?Lv<4gWK8-DysNeQ7ayamP30gGTP zzStn{RKCbJ@r)Y0jHNa3J@iyc#(Gd`Py|jOJ;u47y{glUb~HDAQEGyF)AoXN*l8*h4A}Mr{5JT>0;iBM2~}YQcvHnrntQIbQVJ~ZTgAfWO9GE(1-Tu2-vx{8J=kmUB*KDikSs*BJ zu~lHHCv;HN1!wh*DuAL$iZR2qv&s9i+;AuB)+dMQJ;{0zs}E|`*4cK!d&j3cM}zAF zEwxHb%GmV0%pO((dV)v=WkqZ#`;Jpa=LThP@)xzNB77=*_|GTOS&K|*15Paw^bru8 zxut3C$$wV%yVkejL)G_&Zh+)6O}9-Xb-3cO&j6r@t?$++xj=3cz(9csk9o8&&A@)6(IS~Slfd1S*tHYCYN3C&UsT{Rw70@c!{fA4_p3FY_LTw-$ z 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
{z1I=geB-PR&dSh3 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 + + + + + + + + Deduplicate Contacts + + + + + Manually + + + + + Automatically + + + + + + Without restrictions + + + + + + + + + + + + + + + + diff --git a/partner_deduplicate_acl/static/description/icon.png b/partner_deduplicate_acl/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/partner_deduplicate_acl/wizards/__init__.py b/partner_deduplicate_acl/wizards/__init__.py new file mode 100644 index 000000000..c93eadfed --- /dev/null +++ b/partner_deduplicate_acl/wizards/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# © 2016 Antiun Ingeniería S.L. - Jairo Llopis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import partner_merge diff --git a/partner_deduplicate_acl/wizards/partner_merge.py b/partner_deduplicate_acl/wizards/partner_merge.py new file mode 100644 index 000000000..babd38527 --- /dev/null +++ b/partner_deduplicate_acl/wizards/partner_merge.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# © 2016 Antiun Ingeniería S.L. - Jairo Llopis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from openerp import SUPERUSER_ID, api, models + + +class BasePartnerMergeAutomaticWizard(models.TransientModel): + _inherit = "base.partner.merge.automatic.wizard" + + @api.cr_uid_context + def _merge(self, cr, uid, partner_ids, dst_partner=None, context=None): + """Allow non-admins to merge partners with different emails.""" + # 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 + return super(BasePartnerMergeAutomaticWizard, self)._merge( + cr, + SUPERUSER_ID if group_unrestricted in user.groups_id else uid, + partner_ids, + dst_partner, + context) diff --git a/partner_deduplicate_acl/wizards/partner_merge_view.xml b/partner_deduplicate_acl/wizards/partner_merge_view.xml new file mode 100644 index 000000000..9abc6a311 --- /dev/null +++ b/partner_deduplicate_acl/wizards/partner_merge_view.xml @@ -0,0 +1,31 @@ + + + + + + + + Restrict automatic merge access + base.partner.merge.automatic.wizard + + + + + crm_deduplicate_acl.group_automatically + + + + + crm_deduplicate_acl.group_automatically + + + + + + +