From 770f10896e56376d4be063e9b50f385728a1e399 Mon Sep 17 00:00:00 2001 From: Youssef ELOUAHBY Date: Thu, 22 Nov 2018 23:12:38 +0100 Subject: [PATCH] Code refactorings --- golem_mail_member/__manifest__.py | 4 +- golem_mail_member/data/res_partner_data.xml | 27 +++++++++++++ golem_mail_member/models/__init__.py | 2 +- golem_mail_member/models/golem_member.py | 23 +++++++++++ .../models/golem_res_partner_config.py | 32 ++++++++++++++++ .../views/golem_mail_res_partner_views.xml | 38 +++++++++++++++++++ 6 files changed, 124 insertions(+), 2 deletions(-) create mode 100644 golem_mail_member/data/res_partner_data.xml create mode 100644 golem_mail_member/models/golem_res_partner_config.py create mode 100644 golem_mail_member/views/golem_mail_res_partner_views.xml diff --git a/golem_mail_member/__manifest__.py b/golem_mail_member/__manifest__.py index b9f83d5..0e0abe7 100644 --- a/golem_mail_member/__manifest__.py +++ b/golem_mail_member/__manifest__.py @@ -27,5 +27,7 @@ 'application': True, 'installable': True, 'depends': ['golem_member'], - 'data': ['views/golem_mail_member_views.xml'] + 'data': ['views/golem_mail_member_views.xml', + 'views/golem_mail_res_partner_views.xml', + 'data/res_partner_data.xml'] } diff --git a/golem_mail_member/data/res_partner_data.xml b/golem_mail_member/data/res_partner_data.xml new file mode 100644 index 0000000..89b9d26 --- /dev/null +++ b/golem_mail_member/data/res_partner_data.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + diff --git a/golem_mail_member/models/__init__.py b/golem_mail_member/models/__init__.py index d74b40a..e7b52f4 100644 --- a/golem_mail_member/models/__init__.py +++ b/golem_mail_member/models/__init__.py @@ -16,4 +16,4 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from . import golem_member +from . import golem_member, golem_res_partner_config diff --git a/golem_mail_member/models/golem_member.py b/golem_mail_member/models/golem_member.py index 761a456..ca50f62 100644 --- a/golem_mail_member/models/golem_member.py +++ b/golem_mail_member/models/golem_member.py @@ -42,3 +42,26 @@ class GolemMember(models.Model): 'view_type': 'form', 'target': 'new' } + +class ResPartner(models.Model): + """ Res Partner adaptations """ + _inherit = 'res.partner' + + @api.multi + def get_mass_mailing_action(self): + """ Call res partner mass mailing presend wizard """ + partners = self.ids + presend_wizard = self.env['golem.mail.presend.wizard'].create( + {'partner_ids': [(6, 0, partners)]}) + for partner in partners: + self.env['golem.mail.recipient'].create({'partner_id': partner, + 'presend_wizard_id': presend_wizard.id}) + return { + 'type': 'ir.actions.act_window', + 'name': 'Member mass mailing', + 'res_model': 'golem.mail.presend.wizard', + 'res_id': presend_wizard.id, + 'view_mode': 'form', + 'view_type': 'form', + 'target': 'new' + } diff --git a/golem_mail_member/models/golem_res_partner_config.py b/golem_mail_member/models/golem_res_partner_config.py new file mode 100644 index 0000000..5350448 --- /dev/null +++ b/golem_mail_member/models/golem_res_partner_config.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- + +# Copyright 2018 Fabien Bourgeois +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +""" GOLEM Res Partner Configuration """ + +from odoo import models, api, _ + + +class ResPartnerConfig(models.AbstractModel): + """ GOLEM Res Partner Configuration """ + _name = 'golem.res.partner.config' + _description = 'GOLEM Res Partner Configuration' + + @api.model + def res_partner_settings(self): + """ Res partner mas mailing remove """ + if self.env.ref('base.action_partner_mass_mail'): + self.env.ref('base.action_partner_mass_mail').unlink() diff --git a/golem_mail_member/views/golem_mail_res_partner_views.xml b/golem_mail_member/views/golem_mail_res_partner_views.xml new file mode 100644 index 0000000..7ef13ef --- /dev/null +++ b/golem_mail_member/views/golem_mail_res_partner_views.xml @@ -0,0 +1,38 @@ + + + + + + + Partner mass mailing + + code + +action = records.get_mass_mailing_action() + + + + + + Partner mass mailing + + + +