From 56de864c8ba7d07f5635e83d93f33914812917c3 Mon Sep 17 00:00:00 2001 From: std-odoo Date: Thu, 17 Mar 2022 10:57:56 +0000 Subject: [PATCH] [IMP] mass_mailing: improve the mailing list Kanban view MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Purpose ======= This commit rework the design of the Kanban view of the mailing list. There are now 2 styles for this Kanban view - Grouped, for this one we keep the same "card design" as before - Ungrouped, we use a "list style" view, and the card take the all width of the screen Add some actions to be able to import quickly contacts from this view or to send a mailing to the mailing contact list. Task-2737782 closes odoo/odoo#86587 Signed-off-by: Warnon Aurélien (awa) --- addons/mass_mailing/models/mailing_list.py | 32 ++++++- .../static/src/scss/mass_mailing.scss | 49 +++++++++++ .../mass_mailing/views/mailing_list_views.xml | 85 ++++++++++++++++++- .../views/mailing_list_views.xml | 12 +++ 4 files changed, 176 insertions(+), 2 deletions(-) diff --git a/addons/mass_mailing/models/mailing_list.py b/addons/mass_mailing/models/mailing_list.py index 1604fd1af9b..185969ef77a 100644 --- a/addons/mass_mailing/models/mailing_list.py +++ b/addons/mass_mailing/models/mailing_list.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from odoo import _, fields, models +from odoo import _, Command, fields, models from odoo.exceptions import UserError @@ -126,6 +126,36 @@ class MassMailingList(models.Model): # ACTIONS # ------------------------------------------------------ + def action_open_import(self): + """Open the mailing list contact import wizard.""" + action = self.env['ir.actions.actions']._for_xml_id('mass_mailing.mailing_contact_import_action') + action['context'] = { + **self.env.context, + 'default_mailing_list_ids': self.ids, + 'default_subscription_list_ids': [ + Command.create({'list_id': mailing_list.id}) + for mailing_list in self + ], + } + return action + + def action_send_mailing(self): + """Open the mailing form view, with the current lists set as recipients.""" + view = self.env.ref('mass_mailing.mailing_mailing_view_form_full_width') + action = self.env["ir.actions.actions"]._for_xml_id('mass_mailing.mailing_mailing_action_mail') + + action.update({ + 'context': { + **self.env.context, + 'default_contact_list_ids': self.ids, + }, + 'target': 'current', + 'view_type': 'form', + 'views': [(view.id, 'form')], + }) + + return action + def action_view_contacts(self): action = self.env["ir.actions.actions"]._for_xml_id("mass_mailing.action_view_mass_mailing_contacts") action['domain'] = [('list_ids', 'in', self.ids)] diff --git a/addons/mass_mailing/static/src/scss/mass_mailing.scss b/addons/mass_mailing/static/src/scss/mass_mailing.scss index 38e7fc42a9f..0c4685a306b 100644 --- a/addons/mass_mailing/static/src/scss/mass_mailing.scss +++ b/addons/mass_mailing/static/src/scss/mass_mailing.scss @@ -108,6 +108,55 @@ .o_kanban_record { width: 350px; } + &.o_kanban_ungrouped { + padding: 0; + .o_mailing_list_kanban_grouped { + display: none !important; + } + } + &.o_kanban_grouped .o_mailing_list_kanban_ungrouped { + display: none !important; + } + .o_mailing_list_kanban_ungrouped { + .o_mailing_list_kanban_stats > div { + min-width: 70px; + } + .o_mailing_list_kanban_stats > a { + flex-wrap: wrap; + &:hover { + font-weight: normal; + } + @include media-breakpoint-down(xs) { + font-size: 1.4rem; + height: 40px; + margin-bottom: 30px; + min-width: 90px; + width: 30%; + } + } + .o_mailing_list_kanban_button { + background: transparent; + border-width: 0; + outline: 0; + padding: 0; + font-weight: 300; + &:hover { + font-weight: normal; + } + &.o_mailing_list_kanban_big_nb { + text-align: left; + font-size: 300%; + @include media-breakpoint-up(sm) { + text-align: right; + } + } + } + .text-large { + line-height: 1.1em; + font-size: 120%; + font-weight: 300; + } + } } } diff --git a/addons/mass_mailing/views/mailing_list_views.xml b/addons/mass_mailing/views/mailing_list_views.xml index f591f80229a..db3b5c34528 100644 --- a/addons/mass_mailing/views/mailing_list_views.xml +++ b/addons/mass_mailing/views/mailing_list_views.xml @@ -141,7 +141,8 @@ -
+ +

@@ -192,6 +193,88 @@

+ +
+
+
+ + + +
+
+
+
+
+ +
+
+ +
+
+
+ +
+ + +
+
diff --git a/addons/mass_mailing_sms/views/mailing_list_views.xml b/addons/mass_mailing_sms/views/mailing_list_views.xml index 940f1c6b98b..16ccdf0ccad 100644 --- a/addons/mass_mailing_sms/views/mailing_list_views.xml +++ b/addons/mass_mailing_sms/views/mailing_list_views.xml @@ -14,6 +14,18 @@ + + + + + +
+ + Contacts + +
+