mirror of https://github.com/OCA/social.git
[FIX] mass_mailing_partner: Allow unprivileged users to edit partners
Without this patch, users without access to reading and editing mass mailing contact records are now unable to change a partner's name or email. They'd recieve an exception such as: AccessError: Sorry, you are not allowed to access this document. Only users with the following access level are currently allowed to do that: - Mass Mailing/User (Document model: mail.mass_mailing.contact) Restrictive ACLs shouldn't restrict normal user operation nor DB consistency, so using sudo mode now and testing behavior.pull/1326/head
parent
6953201f2a
commit
5e74507d89
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
"name": "Link partners with mass-mailing",
|
"name": "Link partners with mass-mailing",
|
||||||
"version": "10.0.1.0.1",
|
"version": "10.0.1.0.2",
|
||||||
"author": "Tecnativa, "
|
"author": "Tecnativa, "
|
||||||
"Odoo Community Association (OCA)",
|
"Odoo Community Association (OCA)",
|
||||||
"website": "https://www.tecnativa.com",
|
"website": "https://www.tecnativa.com",
|
||||||
|
|
|
@ -8,8 +8,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 10.0\n"
|
"Project-Id-Version: Odoo Server 10.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2017-12-01 02:19+0000\n"
|
"POT-Creation-Date: 2018-01-16 03:47+0000\n"
|
||||||
"PO-Revision-Date: 2017-12-01 02:19+0000\n"
|
"PO-Revision-Date: 2018-01-16 03:47+0000\n"
|
||||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||||
"Language-Team: Bulgarian (https://www.transifex.com/oca/teams/23907/bg/)\n"
|
"Language-Team: Bulgarian (https://www.transifex.com/oca/teams/23907/bg/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
@ -129,7 +129,7 @@ msgstr ""
|
||||||
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mail_statistics_search
|
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mail_statistics_search
|
||||||
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mass_mailing_contact_search
|
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mass_mailing_contact_search
|
||||||
msgid "Partner"
|
msgid "Partner"
|
||||||
msgstr ""
|
msgstr "Партньор"
|
||||||
|
|
||||||
#. module: mass_mailing_partner
|
#. module: mass_mailing_partner
|
||||||
#: code:addons/mass_mailing_partner/wizard/partner_mail_list_wizard.py:26
|
#: code:addons/mass_mailing_partner/wizard/partner_mail_list_wizard.py:26
|
||||||
|
|
|
@ -8,8 +8,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 10.0\n"
|
"Project-Id-Version: Odoo Server 10.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2017-12-01 02:19+0000\n"
|
"POT-Creation-Date: 2018-01-16 03:47+0000\n"
|
||||||
"PO-Revision-Date: 2017-12-01 02:19+0000\n"
|
"PO-Revision-Date: 2018-01-16 03:47+0000\n"
|
||||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||||
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
|
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
@ -129,7 +129,7 @@ msgstr ""
|
||||||
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mail_statistics_search
|
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mail_statistics_search
|
||||||
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mass_mailing_contact_search
|
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mass_mailing_contact_search
|
||||||
msgid "Partner"
|
msgid "Partner"
|
||||||
msgstr ""
|
msgstr "Partner"
|
||||||
|
|
||||||
#. module: mass_mailing_partner
|
#. module: mass_mailing_partner
|
||||||
#: code:addons/mass_mailing_partner/wizard/partner_mail_list_wizard.py:26
|
#: code:addons/mass_mailing_partner/wizard/partner_mail_list_wizard.py:26
|
||||||
|
|
|
@ -8,8 +8,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 10.0\n"
|
"Project-Id-Version: Odoo Server 10.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2017-12-01 02:19+0000\n"
|
"POT-Creation-Date: 2018-01-16 03:47+0000\n"
|
||||||
"PO-Revision-Date: 2017-12-01 02:19+0000\n"
|
"PO-Revision-Date: 2018-01-16 03:47+0000\n"
|
||||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||||
"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/el_GR/)\n"
|
"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/el_GR/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
@ -129,7 +129,7 @@ msgstr ""
|
||||||
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mail_statistics_search
|
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mail_statistics_search
|
||||||
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mass_mailing_contact_search
|
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mass_mailing_contact_search
|
||||||
msgid "Partner"
|
msgid "Partner"
|
||||||
msgstr ""
|
msgstr "Συνεργάτης"
|
||||||
|
|
||||||
#. module: mass_mailing_partner
|
#. module: mass_mailing_partner
|
||||||
#: code:addons/mass_mailing_partner/wizard/partner_mail_list_wizard.py:26
|
#: code:addons/mass_mailing_partner/wizard/partner_mail_list_wizard.py:26
|
||||||
|
|
|
@ -8,8 +8,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 10.0\n"
|
"Project-Id-Version: Odoo Server 10.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2017-12-01 02:19+0000\n"
|
"POT-Creation-Date: 2018-01-16 03:47+0000\n"
|
||||||
"PO-Revision-Date: 2017-12-01 02:19+0000\n"
|
"PO-Revision-Date: 2018-01-16 03:47+0000\n"
|
||||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||||
"Language-Team: Estonian (https://www.transifex.com/oca/teams/23907/et/)\n"
|
"Language-Team: Estonian (https://www.transifex.com/oca/teams/23907/et/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
@ -42,7 +42,7 @@ msgstr ""
|
||||||
#. module: mass_mailing_partner
|
#. module: mass_mailing_partner
|
||||||
#: model:ir.model.fields,field_description:mass_mailing_partner.field_partner_mail_list_wizard_create_uid
|
#: model:ir.model.fields,field_description:mass_mailing_partner.field_partner_mail_list_wizard_create_uid
|
||||||
msgid "Created by"
|
msgid "Created by"
|
||||||
msgstr ""
|
msgstr "Loonud"
|
||||||
|
|
||||||
#. module: mass_mailing_partner
|
#. module: mass_mailing_partner
|
||||||
#: model:ir.model.fields,field_description:mass_mailing_partner.field_partner_mail_list_wizard_create_date
|
#: model:ir.model.fields,field_description:mass_mailing_partner.field_partner_mail_list_wizard_create_date
|
||||||
|
@ -52,7 +52,7 @@ msgstr "Loodud"
|
||||||
#. module: mass_mailing_partner
|
#. module: mass_mailing_partner
|
||||||
#: model:ir.model.fields,field_description:mass_mailing_partner.field_partner_mail_list_wizard_display_name
|
#: model:ir.model.fields,field_description:mass_mailing_partner.field_partner_mail_list_wizard_display_name
|
||||||
msgid "Display Name"
|
msgid "Display Name"
|
||||||
msgstr ""
|
msgstr "Näidatav nimi"
|
||||||
|
|
||||||
#. module: mass_mailing_partner
|
#. module: mass_mailing_partner
|
||||||
#: model:ir.model,name:mass_mailing_partner.model_mail_mail_statistics
|
#: model:ir.model,name:mass_mailing_partner.model_mail_mail_statistics
|
||||||
|
@ -67,17 +67,17 @@ msgstr "ID"
|
||||||
#. module: mass_mailing_partner
|
#. module: mass_mailing_partner
|
||||||
#: model:ir.model.fields,field_description:mass_mailing_partner.field_partner_mail_list_wizard___last_update
|
#: model:ir.model.fields,field_description:mass_mailing_partner.field_partner_mail_list_wizard___last_update
|
||||||
msgid "Last Modified on"
|
msgid "Last Modified on"
|
||||||
msgstr ""
|
msgstr "Viimati muudetud"
|
||||||
|
|
||||||
#. module: mass_mailing_partner
|
#. module: mass_mailing_partner
|
||||||
#: model:ir.model.fields,field_description:mass_mailing_partner.field_partner_mail_list_wizard_write_uid
|
#: model:ir.model.fields,field_description:mass_mailing_partner.field_partner_mail_list_wizard_write_uid
|
||||||
msgid "Last Updated by"
|
msgid "Last Updated by"
|
||||||
msgstr ""
|
msgstr "Viimati uuendatud"
|
||||||
|
|
||||||
#. module: mass_mailing_partner
|
#. module: mass_mailing_partner
|
||||||
#: model:ir.model.fields,field_description:mass_mailing_partner.field_partner_mail_list_wizard_write_date
|
#: model:ir.model.fields,field_description:mass_mailing_partner.field_partner_mail_list_wizard_write_date
|
||||||
msgid "Last Updated on"
|
msgid "Last Updated on"
|
||||||
msgstr ""
|
msgstr "Viimati uuendatud"
|
||||||
|
|
||||||
#. module: mass_mailing_partner
|
#. module: mass_mailing_partner
|
||||||
#: model:ir.model,name:mass_mailing_partner.model_mail_mass_mailing_list
|
#: model:ir.model,name:mass_mailing_partner.model_mail_mass_mailing_list
|
||||||
|
|
|
@ -8,8 +8,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 10.0\n"
|
"Project-Id-Version: Odoo Server 10.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2017-12-01 02:19+0000\n"
|
"POT-Creation-Date: 2018-01-16 03:47+0000\n"
|
||||||
"PO-Revision-Date: 2017-12-01 02:19+0000\n"
|
"PO-Revision-Date: 2018-01-16 03:47+0000\n"
|
||||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||||
"Language-Team: Basque (https://www.transifex.com/oca/teams/23907/eu/)\n"
|
"Language-Team: Basque (https://www.transifex.com/oca/teams/23907/eu/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
@ -129,7 +129,7 @@ msgstr ""
|
||||||
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mail_statistics_search
|
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mail_statistics_search
|
||||||
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mass_mailing_contact_search
|
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mass_mailing_contact_search
|
||||||
msgid "Partner"
|
msgid "Partner"
|
||||||
msgstr ""
|
msgstr "Kidea"
|
||||||
|
|
||||||
#. module: mass_mailing_partner
|
#. module: mass_mailing_partner
|
||||||
#: code:addons/mass_mailing_partner/wizard/partner_mail_list_wizard.py:26
|
#: code:addons/mass_mailing_partner/wizard/partner_mail_list_wizard.py:26
|
||||||
|
|
|
@ -8,8 +8,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 10.0\n"
|
"Project-Id-Version: Odoo Server 10.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2017-12-01 02:19+0000\n"
|
"POT-Creation-Date: 2018-01-16 03:47+0000\n"
|
||||||
"PO-Revision-Date: 2017-12-01 02:19+0000\n"
|
"PO-Revision-Date: 2018-01-16 03:47+0000\n"
|
||||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||||
"Language-Team: French (Switzerland) (https://www.transifex.com/oca/teams/23907/fr_CH/)\n"
|
"Language-Team: French (Switzerland) (https://www.transifex.com/oca/teams/23907/fr_CH/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
@ -129,7 +129,7 @@ msgstr ""
|
||||||
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mail_statistics_search
|
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mail_statistics_search
|
||||||
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mass_mailing_contact_search
|
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mass_mailing_contact_search
|
||||||
msgid "Partner"
|
msgid "Partner"
|
||||||
msgstr ""
|
msgstr "Partenaire"
|
||||||
|
|
||||||
#. module: mass_mailing_partner
|
#. module: mass_mailing_partner
|
||||||
#: code:addons/mass_mailing_partner/wizard/partner_mail_list_wizard.py:26
|
#: code:addons/mass_mailing_partner/wizard/partner_mail_list_wizard.py:26
|
||||||
|
|
|
@ -8,8 +8,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 10.0\n"
|
"Project-Id-Version: Odoo Server 10.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2017-12-01 02:19+0000\n"
|
"POT-Creation-Date: 2018-01-16 03:47+0000\n"
|
||||||
"PO-Revision-Date: 2017-12-01 02:19+0000\n"
|
"PO-Revision-Date: 2018-01-16 03:47+0000\n"
|
||||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||||
"Language-Team: Slovak (https://www.transifex.com/oca/teams/23907/sk/)\n"
|
"Language-Team: Slovak (https://www.transifex.com/oca/teams/23907/sk/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
@ -129,7 +129,7 @@ msgstr ""
|
||||||
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mail_statistics_search
|
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mail_statistics_search
|
||||||
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mass_mailing_contact_search
|
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mass_mailing_contact_search
|
||||||
msgid "Partner"
|
msgid "Partner"
|
||||||
msgstr ""
|
msgstr "Partner"
|
||||||
|
|
||||||
#. module: mass_mailing_partner
|
#. module: mass_mailing_partner
|
||||||
#: code:addons/mass_mailing_partner/wizard/partner_mail_list_wizard.py:26
|
#: code:addons/mass_mailing_partner/wizard/partner_mail_list_wizard.py:26
|
||||||
|
|
|
@ -8,8 +8,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 10.0\n"
|
"Project-Id-Version: Odoo Server 10.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2017-12-01 02:19+0000\n"
|
"POT-Creation-Date: 2018-01-16 03:47+0000\n"
|
||||||
"PO-Revision-Date: 2017-12-01 02:19+0000\n"
|
"PO-Revision-Date: 2018-01-16 03:47+0000\n"
|
||||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||||
"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/tr_TR/)\n"
|
"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/tr_TR/)\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
|
@ -129,7 +129,7 @@ msgstr ""
|
||||||
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mail_statistics_search
|
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mail_statistics_search
|
||||||
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mass_mailing_contact_search
|
#: model:ir.ui.view,arch_db:mass_mailing_partner.view_mail_mass_mailing_contact_search
|
||||||
msgid "Partner"
|
msgid "Partner"
|
||||||
msgstr ""
|
msgstr "Ortak"
|
||||||
|
|
||||||
#. module: mass_mailing_partner
|
#. module: mass_mailing_partner
|
||||||
#: code:addons/mass_mailing_partner/wizard/partner_mail_list_wizard.py:26
|
#: code:addons/mass_mailing_partner/wizard/partner_mail_list_wizard.py:26
|
||||||
|
|
|
@ -56,7 +56,8 @@ class ResPartner(models.Model):
|
||||||
mm_vals['name'] = vals['name']
|
mm_vals['name'] = vals['name']
|
||||||
if vals.get('email'):
|
if vals.get('email'):
|
||||||
mm_vals['name'] = vals['email']
|
mm_vals['name'] = vals['email']
|
||||||
self.env["mail.mass_mailing.contact"].search([
|
# Using sudo because ACLs shouldn't produce data inconsistency
|
||||||
|
self.env["mail.mass_mailing.contact"].sudo().search([
|
||||||
("partner_id", "in", self.ids),
|
("partner_id", "in", self.ids),
|
||||||
]).write(mm_vals)
|
]).write(mm_vals)
|
||||||
return res
|
return res
|
||||||
|
|
|
@ -18,9 +18,21 @@ class ResPartnerCase(base.BaseCase):
|
||||||
self.assertEqual(self.partner.mass_mailing_contacts_count, 2)
|
self.assertEqual(self.partner.mass_mailing_contacts_count, 2)
|
||||||
|
|
||||||
def test_write_res_partner(self):
|
def test_write_res_partner(self):
|
||||||
|
user = self.env['res.users'].create({
|
||||||
|
'login': 'test',
|
||||||
|
'name': 'test',
|
||||||
|
'email': 'test@example.org',
|
||||||
|
'groups_id': [
|
||||||
|
(4, self.env.ref('base.group_user').id),
|
||||||
|
(4, self.env.ref('base.group_partner_manager').id),
|
||||||
|
]
|
||||||
|
})
|
||||||
contact = self.create_mailing_contact(
|
contact = self.create_mailing_contact(
|
||||||
{'email': 'partner@test.com', 'list_id': self.mailing_list.id})
|
{'email': 'partner@test.com', 'list_id': self.mailing_list.id})
|
||||||
self.partner.write({'name': 'Changed', 'email': 'partner@changed.com'})
|
self.partner.sudo(user).write({
|
||||||
|
'name': 'Changed',
|
||||||
|
'email': 'partner@changed.com',
|
||||||
|
})
|
||||||
self.assertEqual(contact.name, self.partner.name)
|
self.assertEqual(contact.name, self.partner.name)
|
||||||
self.assertEqual(contact.email, self.partner.email)
|
self.assertEqual(contact.email, self.partner.email)
|
||||||
with self.assertRaises(ValidationError):
|
with self.assertRaises(ValidationError):
|
||||||
|
|
Loading…
Reference in New Issue