From 772e1c0cc4e75cec971d2b4e1c820eb54872dc93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Wed, 17 Jul 2019 10:58:39 +0000 Subject: [REF] mass_mailing: rename mail.mass_mailing.{.contact{_rel}, list{.merge}} models PURPOSE Mass mailing is currently a bit messy. As SMS will be added as a way to notify people in mass through SMS let us take this opportunity to somehow clean this application: organization, light code cleaning, model renaming. SPECIFICATIONS Rename mail.mass_mailing.list and mail.mass_mailing.list to mailing.list and mailing.list.merge. Rename mail.mass_mailing.contact to mailing.contact. Rename mail.mailing_list.list_contact_rel to mailing.contact.subscription. Rationale : * those new names are easier to understand: mailing.list and mailing.contact are less mail-related, especially taking into account that SMS will allow to be less mail-oriented; * those names are easier to read / find / understand; * align wizard and sub-models naming with the main naming; * have a mailing as first part of namespacing; MIGRATION mail.mass_mailing.list model -> mailing.list mail.mass_mailing.list.merge model -> mailing.list.merge mail.mass_mailing.contact model -> mailing.contact mail.mass_mailing.list_contact_rel model -> mailing.contact.subscription mail_mass_mailing_contact_list_rel table -> mailing_contact_list_rel (specific case of a decorated m2m) fields updated (no column change) * mailing.list: subscription_contact_ids -> subscription_ids LINKS Task ID 2037906 Preparing task ID 1997464 (SMS addition in mass mailing) PR #34938 --- addons/website_mass_mailing/controllers/main.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'addons/website_mass_mailing/controllers') diff --git a/addons/website_mass_mailing/controllers/main.py b/addons/website_mass_mailing/controllers/main.py index fc49d23d83b..dc34504426c 100644 --- a/addons/website_mass_mailing/controllers/main.py +++ b/addons/website_mass_mailing/controllers/main.py @@ -18,29 +18,29 @@ class MassMailController(MassMailController): is_subscriber = False if email: - contacts_count = request.env['mail.mass_mailing.list_contact_rel'].sudo().search_count([('list_id', 'in', [int(list_id)]), ('contact_id.email', '=', email), ('opt_out', '=', False)]) + contacts_count = request.env['mailing.contact.subscription'].sudo().search_count([('list_id', 'in', [int(list_id)]), ('contact_id.email', '=', email), ('opt_out', '=', False)]) is_subscriber = contacts_count > 0 return {'is_subscriber': is_subscriber, 'email': email} @route('/website_mass_mailing/subscribe', type='json', website=True, auth="public") def subscribe(self, list_id, email, **post): - List_contact_rel = request.env['mail.mass_mailing.list_contact_rel'].sudo() - Contacts = request.env['mail.mass_mailing.contact'].sudo() + ContactSubscription = request.env['mailing.contact.subscription'].sudo() + Contacts = request.env['mailing.contact'].sudo() name, email = Contacts.get_name_email(email) - list_contact_rel = List_contact_rel.search([('list_id', '=', int(list_id)), ('contact_id.email', '=', email)], limit=1) - if not list_contact_rel: + subscription = ContactSubscription.search([('list_id', '=', int(list_id)), ('contact_id.email', '=', email)], limit=1) + if not subscription: # inline add_to_list as we've already called half of it contact_id = Contacts.search([('email', '=', email)], limit=1) if not contact_id: contact_id = Contacts.create({'name': name, 'email': email}) - List_contact_rel.create({'contact_id': contact_id.id, 'list_id': int(list_id)}) - elif list_contact_rel.opt_out: - list_contact_rel.opt_out = False + ContactSubscription.create({'contact_id': contact_id.id, 'list_id': int(list_id)}) + elif subscription.opt_out: + subscription.opt_out = False # add email to session request.session['mass_mailing_email'] = email - mass_mailing_list = request.env['mail.mass_mailing.list'].sudo().browse(list_id) + mass_mailing_list = request.env['mailing.list'].sudo().browse(list_id) return {'toast_content': mass_mailing_list.toast_content} @route(['/website_mass_mailing/get_content'], type='json', website=True, auth="public") -- cgit v1.2.3