diff options
| author | chm@openerp.com <> | 2014-04-23 17:48:52 +0200 |
|---|---|---|
| committer | chm@openerp.com <> | 2014-04-23 17:48:52 +0200 |
| commit | ee7ff4bd07d8d84ed2ebb0e2e3f5eb437f158e5b (patch) | |
| tree | 25577845139d390f9bf27e0237d18842aeace02b /addons/mass_mailing/wizard/mail_mass_mailing_create_segment.py | |
| parent | b1bc68d8eb374f30173e03e8048d1c3588a00d4b (diff) | |
| parent | 1657ffb8e7d95ef5f94e59121737abb068371b66 (diff) | |
[MERGE] from trunk
bzr revid: chm@openerp.com-20140423154852-gzegxqrzb2sj01zl
Diffstat (limited to 'addons/mass_mailing/wizard/mail_mass_mailing_create_segment.py')
| -rw-r--r-- | addons/mass_mailing/wizard/mail_mass_mailing_create_segment.py | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.py b/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.py deleted file mode 100644 index 0944e89f1de..00000000000 --- a/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.py +++ /dev/null @@ -1,135 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Management Solution -# Copyright (C) 2013-Today OpenERP SA (<http://www.openerp.com>) -# -# 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 <http://www.gnu.org/licenses/> -# -############################################################################## - -from openerp.osv import osv, fields - -from openerp.tools.translate import _ - - -class MailMassMailingCreate(osv.TransientModel): - """Wizard to help creating mass mailing waves for a campaign. """ - - _name = 'mail.mass_mailing.create' - _description = 'Mass mailing creation' - - _columns = { - 'mass_mailing_campaign_id': fields.many2one( - 'mail.mass_mailing.campaign', 'Mass mailing campaign', - required=True, - ), - 'model_id': fields.many2one( - 'ir.model', 'Document Type', - required=True, - help='Document on which the mass mailing will run. This must be a ' - 'valid OpenERP model.', - ), - 'model_model': fields.related( - 'model_id', 'name', - type='char', string='Model Name' - ), - 'filter_id': fields.many2one( - 'ir.filters', 'Filter', - required=True, - domain="[('model_id', '=', model_model)]", - help='Filter to be applied on the document to find the records to be ' - 'mailed.', - ), - 'domain': fields.related( - 'filter_id', 'domain', - type='char', string='Domain', - ), - 'template_id': fields.many2one( - 'email.template', 'Template', required=True, - domain="[('model_id', '=', model_id)]", - ), - 'name': fields.char( - 'Mailing Name', required=True, - help='Name of the mass mailing.', - ), - 'mass_mailing_id': fields.many2one( - 'mail.mass_mailing', 'Mass Mailing', - ), - } - - def _get_default_model_id(self, cr, uid, context=None): - model_ids = self.pool['ir.model'].search(cr, uid, [('model', '=', 'res.partner')], context=context) - return model_ids and model_ids[0] or False - - _defaults = { - 'model_id': lambda self, cr, uid, ctx=None: self._get_default_model_id(cr, uid, context=ctx), - } - - def on_change_model_id(self, cr, uid, ids, model_id, context=None): - if model_id: - model_model = self.pool['ir.model'].browse(cr, uid, model_id, context=context).model - else: - model_model = False - return {'value': {'model_model': model_model}} - - def on_change_filter_id(self, cr, uid, ids, filter_id, context=None): - if filter_id: - domain = self.pool['ir.filters'].browse(cr, uid, filter_id, context=context).domain - else: - domain = False - return {'value': {'domain': domain}} - - def create_mass_mailing(self, cr, uid, ids, context=None): - """ Create a mass mailing based on wizard data, and update the wizard """ - for wizard in self.browse(cr, uid, ids, context=context): - mass_mailing_values = { - 'name': wizard.name, - 'mass_mailing_campaign_id': wizard.mass_mailing_campaign_id.id, - 'domain': wizard.domain, - 'template_id': wizard.template_id.id, - } - mass_mailing_id = self.pool['mail.mass_mailing'].create(cr, uid, mass_mailing_values, context=context) - self.write(cr, uid, [wizard.id], {'mass_mailing_id': mass_mailing_id}, context=context) - return True - - def launch_composer(self, cr, uid, ids, context=None): - """ Main wizard action: create a new mailing and launch the mail.compose.message - email composer with wizard data. """ - self.create_mass_mailing(cr, uid, ids, context=context) - - wizard = self.browse(cr, uid, ids[0], context=context) - ctx = dict(context) - ctx.update({ - 'default_composition_mode': 'mass_mail', - 'default_template_id': wizard.template_id.id, - 'default_use_mass_mailing_campaign': True, - 'default_use_active_domain': True, - 'default_model': wizard.model_id.model, - 'default_res_id': False, - 'default_active_domain': wizard.domain, - 'default_mass_mailing_campaign_id': wizard.mass_mailing_campaign_id.id, - 'default_mass_mailing_id': wizard.mass_mailing_id.id, - }) - return { - 'name': _('Compose Email for Mass Mailing'), - 'type': 'ir.actions.act_window', - 'view_type': 'form', - 'view_mode': 'form', - 'res_model': 'mail.compose.message', - 'views': [(False, 'form')], - 'view_id': False, - 'target': 'new', - 'context': ctx, - } |
