diff --git a/addons/email_template/email_template_view.xml b/addons/email_template/email_template_view.xml index 4f7828cb531..4e5b7d0b21a 100644 --- a/addons/email_template/email_template_view.xml +++ b/addons/email_template/email_template_view.xml @@ -78,6 +78,35 @@ + + email.template.form.minimal + email.template + 32 + +
+ +
+
+
+
+ + + + + + +
+
+
+
+ email.template.tree email.template diff --git a/addons/mass_mailing/models/email_template.py b/addons/mass_mailing/models/email_template.py index 9fb2c22e0b1..651ac2da6ae 100644 --- a/addons/mass_mailing/models/email_template.py +++ b/addons/mass_mailing/models/email_template.py @@ -14,8 +14,10 @@ class EmailTemplate(osv.Model): } def action_new_mailing(self, cr, uid, ids, context=None): + template = self.browse(cr, uid, ids[0], context=context) ctx = dict(context) ctx.update({ + 'default_mailing_model': template.model, 'default_template_id': ids[0], }) return { @@ -25,7 +27,5 @@ class EmailTemplate(osv.Model): 'view_mode': 'form', 'res_model': 'mail.mass_mailing', 'views': [(False, 'form')], - 'view_id': False, - # 'target': 'new', 'context': ctx, } diff --git a/addons/mass_mailing/models/mass_mailing.py b/addons/mass_mailing/models/mass_mailing.py index e8a1ab9a5ed..0c6f68e3eb8 100644 --- a/addons/mass_mailing/models/mass_mailing.py +++ b/addons/mass_mailing/models/mass_mailing.py @@ -25,6 +25,7 @@ import urllib import urlparse from openerp import tools +from openerp.exceptions import Warning from openerp.tools.safe_eval import safe_eval as eval from openerp.tools.translate import _ from openerp.osv import osv, fields @@ -442,7 +443,7 @@ class MassMailing(osv.Model): ), 'template_id': fields.many2one( 'email.template', 'Email Template', - domain=[('use_in_mass_mailing', '=', True)], + domain="[('use_in_mass_mailing', '=', True), ('model', '=', mailing_model)]", required=True, ), 'body_html': fields.related( @@ -625,6 +626,24 @@ class MassMailing(osv.Model): 'context': context, } + def action_template_copy(self, cr, uid, ids, context=None): + mailing = self.browse(cr, uid, ids[0], context=context) + if not mailing.template_id: + return False + new_tpl_id = self.pool['email.template'].copy(cr, uid, mailing.template_id.id, context=context) + self.write(cr, uid, [mailing.id], {'template_id': new_tpl_id}, context=context) + view_id = self.pool['ir.model.data'].xmlid_to_res_id(cr, uid, 'email_template.email_template_form_minimal') + return { + 'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': 'email.template', + 'res_id': new_tpl_id, + 'view_id': view_id, + 'target': 'new', + 'context': context, + } + #------------------------------------------------------ # Email Sending #------------------------------------------------------ @@ -700,6 +719,8 @@ class MassMailing(osv.Model): for mailing in self.browse(cr, uid, ids, context=context): # res_ids = self._set_up_test_mailing(cr, uid, mailing.mailing_model, context=context) res_ids = [c.id for c in mailing.email_to] + if not res_ids: + raise Warning('Please specifiy test email adresses.') all_mail_values = self.pool['mail.compose.message'].generate_email_for_composer_batch( cr, uid, mailing.template_id.id, res_ids, context=context, diff --git a/addons/mass_mailing/static/src/css/email_template.css b/addons/mass_mailing/static/src/css/email_template.css index 62766ac15b4..823a8d9efc6 100644 --- a/addons/mass_mailing/static/src/css/email_template.css +++ b/addons/mass_mailing/static/src/css/email_template.css @@ -3,17 +3,28 @@ min-height: 270px !important; } - -.html_preview { +.form_html_preview { width: 600px; - height: 400px; + max-height: 1000px; + -webkit-transform: scale(.50); + -ms-transform: scale(.50); + transform: scale(.50); + -webkit-transform-origin: 0 0; + -ms-transform-origin: 0 0; + transform-origin: 0 0; + margin: 0 0px -300px 0; + overflow: visible !important; +} + +.kanban_html_preview { + width: 600px; + height: 600px; -webkit-transform: scale(.50); -ms-transform: scale(.50); transform: scale(.50); -webkit-transform-origin: 0 0; -ms-transform-origin: 0 0; transform-origin: 0 0; - border: 2px solid gray; margin: 0 0px -300px 0; overflow: hidden !important; } diff --git a/addons/mass_mailing/views/email_template.xml b/addons/mass_mailing/views/email_template.xml index 0278223290c..b97ca759f09 100644 --- a/addons/mass_mailing/views/email_template.xml +++ b/addons/mass_mailing/views/email_template.xml @@ -3,7 +3,7 @@ - + email.template.form.mass.mailing email.template @@ -14,6 +14,17 @@ + + email.template.form.minimal.mass.mailing + email.template + + + +
+
+
+ email.template.search.mass.mailing email.template @@ -54,7 +65,7 @@

-
+
@@ -71,6 +82,7 @@ email.template form kanban,tree,form + {'search_default_use_in_mass_mailing': 1}
diff --git a/addons/mass_mailing/views/mass_mailing.xml b/addons/mass_mailing/views/mass_mailing.xml index dead08ac063..cb322e5cf8e 100644 --- a/addons/mass_mailing/views/mass_mailing.xml +++ b/addons/mass_mailing/views/mass_mailing.xml @@ -243,9 +243,18 @@