[FIX][IMP] email_template view and preview button for wi
bzr revid: dhara@dhara-laptop-20100615060421-3346bwibul6kf2ig
This commit is contained in:
parent
32c6c7993d
commit
0f3b579a54
|
@ -20,19 +20,17 @@
|
||||||
<newline />
|
<newline />
|
||||||
<field name="subject" />
|
<field name="subject" />
|
||||||
<newline />
|
<newline />
|
||||||
<field name="body_text" />
|
<separator string= "Body(Text)" colspan="2"/>
|
||||||
<newline />
|
<newline/>
|
||||||
<!-- <field name="body_html" widget="text_html" />-->
|
<field name="body_text" nolabel="1" colspan="2"/>
|
||||||
<!--
|
<newline/>
|
||||||
Removed text_html because it doesnt work in GTK
|
<separator string= "Body(Html)" colspan="2"/>
|
||||||
And TinyMCE messes up the HTML in Web Client
|
<newline/>
|
||||||
-->
|
<field name="body_html" nolabel="1" colspan="2"/>
|
||||||
<field name="body_html"/>
|
|
||||||
<newline />
|
<newline />
|
||||||
<field name="report" />
|
<field name="report" />
|
||||||
<group>
|
<newline/>
|
||||||
<button icon="gtk-ok" special="cancel" string="OK" />
|
<button icon="gtk-ok" special="cancel" string="OK" colspan="2"/>
|
||||||
</group>
|
|
||||||
</form>
|
</form>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
|
@ -27,6 +27,7 @@ from dateutil.relativedelta import relativedelta
|
||||||
from osv import fields, osv
|
from osv import fields, osv
|
||||||
import netsvc
|
import netsvc
|
||||||
import tools
|
import tools
|
||||||
|
from tools.translate import _
|
||||||
|
|
||||||
_intervalTypes = {
|
_intervalTypes = {
|
||||||
'hours': lambda interval: relativedelta(hours=interval),
|
'hours': lambda interval: relativedelta(hours=interval),
|
||||||
|
@ -278,41 +279,6 @@ class marketing_campaign_activity(osv.osv):
|
||||||
print 'Sending Email Init', activity.name
|
print 'Sending Email Init', activity.name
|
||||||
return self.pool.get('email.template').generate_mail(cr, uid, activity.email_template_id.id, [workitem.res_id], context=context)
|
return self.pool.get('email.template').generate_mail(cr, uid, activity.email_template_id.id, [workitem.res_id], context=context)
|
||||||
|
|
||||||
#if not template.enforce_from_account:
|
|
||||||
# self.pool.get('marketing.campaign.workitem').write(cr, uid, [workitem.id], {
|
|
||||||
# 'error_msg': 'There is no account defined for the email',
|
|
||||||
# 'state': 'exception'
|
|
||||||
# })
|
|
||||||
# return False
|
|
||||||
#if not workitem.partner_id.email:
|
|
||||||
# self.pool.get('marketing.campaign.workitem').write(cr, uid, [workitem.id], {
|
|
||||||
# 'error_msg': "There is no email defined for the partner",
|
|
||||||
# 'state': 'exception'
|
|
||||||
# })
|
|
||||||
# return False
|
|
||||||
#vals = {
|
|
||||||
# 'email_from': tools.ustr(accounts.name) + "<" + tools.ustr(accounts.email_id) + ">",
|
|
||||||
# 'email_to': template.email_to,
|
|
||||||
# 'email_cc': template.email_cc,
|
|
||||||
# 'email_bcc': template.email_bcc,
|
|
||||||
# 'subject': template.def_subject,
|
|
||||||
# 'body_text': template.def_body_text,
|
|
||||||
# 'body_html': template.def_body_html,
|
|
||||||
# 'account_id': accounts.id,
|
|
||||||
# 'state':'na',
|
|
||||||
# 'mail_type':'multipart/alternative' #Options:'multipart/mixed','multipart/alternative','text/plain','text/html'
|
|
||||||
#}
|
|
||||||
# # if accounts.use_sign:
|
|
||||||
# # signature = self.pool.get('res.users').read(cr, uid, uid, ['signature'], context)['signature']
|
|
||||||
# # if signature:
|
|
||||||
# # vals['pem_body_text'] = tools.ustr(vals['pem_body_text'] or '') + signature
|
|
||||||
# # vals['pem_body_html'] = tools.ustr(vals['pem_body_html'] or '') + signature
|
|
||||||
|
|
||||||
##Create partly the mail and later update attachments
|
|
||||||
#print 'Sending Email', vals
|
|
||||||
#mail_id = self.pool.get('email_template.mailbox').create(cr, uid, vals, context)
|
|
||||||
return True
|
|
||||||
|
|
||||||
def process_wi_action(self, cr, uid, activity, workitem, context={}):
|
def process_wi_action(self, cr, uid, activity, workitem, context={}):
|
||||||
context = {}
|
context = {}
|
||||||
server_obj = self.pool.get('ir.actions.server')
|
server_obj = self.pool.get('ir.actions.server')
|
||||||
|
@ -470,6 +436,42 @@ class marketing_campaign_workitem(osv.osv):
|
||||||
if workitem_ids:
|
if workitem_ids:
|
||||||
self.process(cr, uid, workitem_ids, context)
|
self.process(cr, uid, workitem_ids, context)
|
||||||
|
|
||||||
|
def preview(self, cr, uid, ids, context):
|
||||||
|
res = {}
|
||||||
|
wi_obj = self.browse(cr, uid, ids)[0]
|
||||||
|
if wi_obj.activity_id.type == 'email':
|
||||||
|
data_obj = self.pool.get('ir.model.data')
|
||||||
|
data_id = data_obj._get_id(cr, uid, 'email_template', 'email_template_preview_form')
|
||||||
|
if data_id:
|
||||||
|
view_id = data_obj.browse(cr, uid, data_id, context=context).res_id
|
||||||
|
res = {
|
||||||
|
'name': _('Email Preview'),
|
||||||
|
'view_type': 'form',
|
||||||
|
'view_mode': 'form,tree',
|
||||||
|
'res_model': 'email_template.preview',
|
||||||
|
'view_id': False,
|
||||||
|
'context': context,
|
||||||
|
'views': [(view_id, 'form')],
|
||||||
|
'type': 'ir.actions.act_window',
|
||||||
|
'target': 'new',
|
||||||
|
'nodestroy':True,
|
||||||
|
'context': "{'template_id':%d,'rel_model_ref':%d}"%
|
||||||
|
(wi_obj.activity_id.email_template_id.id,
|
||||||
|
wi_obj.res_id)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
elif wi_obj.activity_id.type == 'paper':
|
||||||
|
datas = {'ids': [wi_obj.res_id],
|
||||||
|
'model': wi_obj.object_id.model}
|
||||||
|
res = {
|
||||||
|
'type' : 'ir.actions.report.xml',
|
||||||
|
'report_name': wi_obj.activity_id.report_id.report_name,
|
||||||
|
'datas' : datas,
|
||||||
|
'nodestroy': True,
|
||||||
|
}
|
||||||
|
return res
|
||||||
|
|
||||||
marketing_campaign_workitem()
|
marketing_campaign_workitem()
|
||||||
|
|
||||||
class email_template(osv.osv):
|
class email_template(osv.osv):
|
||||||
|
@ -478,6 +480,21 @@ class email_template(osv.osv):
|
||||||
'object_name': lambda obj, cr, uid, context: context.get('object_id',False),
|
'object_name': lambda obj, cr, uid, context: context.get('object_id',False),
|
||||||
}
|
}
|
||||||
email_template()
|
email_template()
|
||||||
|
|
||||||
|
class email_template_preview(osv.osv_memory):
|
||||||
|
_inherit = "email_template.preview"
|
||||||
|
|
||||||
|
def _default_rel_model(self, cr, uid, context=None):
|
||||||
|
if 'rel_model_ref' in context :
|
||||||
|
return context['rel_model_ref']
|
||||||
|
else :
|
||||||
|
return False
|
||||||
|
|
||||||
|
_defaults = {
|
||||||
|
'rel_model_ref' : _default_rel_model
|
||||||
|
}
|
||||||
|
|
||||||
|
email_template_preview()
|
||||||
|
|
||||||
class report_xml(osv.osv):
|
class report_xml(osv.osv):
|
||||||
_inherit = 'ir.actions.report.xml'
|
_inherit = 'ir.actions.report.xml'
|
||||||
|
|
|
@ -289,7 +289,7 @@
|
||||||
<field name="email_template_id" attrs="{'required':[('type','=','email')]}" />
|
<field name="email_template_id" attrs="{'required':[('type','=','email')]}" />
|
||||||
</group>
|
</group>
|
||||||
<group colspan="4" attrs="{'invisible':[('type','!=','paper')]}" >
|
<group colspan="4" attrs="{'invisible':[('type','!=','paper')]}" >
|
||||||
<field name="report_id" attrs="{'required':[('type','=','paper')]}"/>
|
<field name="report_id" attrs="{'required':[('type','=','paper')]}" context="{'object_id':object_id}"/>
|
||||||
<field name="report_directory_id" attrs="{'required':[('type','=','paper')]}" />
|
<field name="report_directory_id" attrs="{'required':[('type','=','paper')]}" />
|
||||||
</group>
|
</group>
|
||||||
<group colspan="4" attrs="{'invisible':[('type','!=','action')]}" >
|
<group colspan="4" attrs="{'invisible':[('type','!=','action')]}" >
|
||||||
|
|
Loading…
Reference in New Issue