[FIX] view and button for the action wizard on email_tempalte
bzr revid: dhara@dhara-laptop-20100625095231-dk8p4oobvvonceyd
This commit is contained in:
parent
3d20973c46
commit
bcb1b02c10
|
@ -222,39 +222,41 @@ class email_template(osv.osv):
|
|||
'template_language' : lambda *a:'mako',
|
||||
|
||||
}
|
||||
|
||||
_sql_constraints = [
|
||||
('name', 'unique (name)', _('The template name must be unique !'))
|
||||
]
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
id = super(email_template, self).create(cr, uid, vals, context)
|
||||
src_obj = self.pool.get('ir.model').read(cr, uid, vals['object_name'], ['model'], context)['model']
|
||||
def create_action(self, cr, uid, ids, context):
|
||||
vals = {}
|
||||
template_obj = self.browse(cr, uid, ids)[0]
|
||||
src_obj = template_obj.object_name.model
|
||||
vals['ref_ir_act_window'] = self.pool.get('ir.actions.act_window').create(cr, uid, {
|
||||
'name': _("%s Mail Form") % vals['name'],
|
||||
'name': _("%s Mail Form") % template_obj.name,
|
||||
'type': 'ir.actions.act_window',
|
||||
'res_model': 'email_template.send.wizard',
|
||||
'src_model': src_obj,
|
||||
'view_type': 'form',
|
||||
'context': "{'src_model':'%s','template_id':'%d','src_rec_id':active_id,'src_rec_ids':active_ids}" % (src_obj, id),
|
||||
'context': "{'src_model':'%s','template_id':'%d','src_rec_id':active_id,'src_rec_ids':active_ids}" % (src_obj, template_obj.id),
|
||||
'view_mode':'form,tree',
|
||||
'view_id': self.pool.get('ir.ui.view').search(cr, uid, [('name', '=', 'email_template.send.wizard.form')], context=context)[0],
|
||||
'target': 'new',
|
||||
'auto_refresh':1
|
||||
}, context)
|
||||
vals['ref_ir_value'] = self.pool.get('ir.values').create(cr, uid, {
|
||||
'name': _('Send Mail (%s)') % vals['name'],
|
||||
'name': _('Send Mail (%s)') % template_obj.name,
|
||||
'model': src_obj,
|
||||
'key2': 'client_action_multi',
|
||||
'value': "ir.actions.act_window," + str(vals['ref_ir_act_window']),
|
||||
'object': True,
|
||||
}, context)
|
||||
self.write(cr, uid, id, {
|
||||
self.write(cr, uid, ids, {
|
||||
'ref_ir_act_window': vals['ref_ir_act_window'],
|
||||
'ref_ir_value': vals['ref_ir_value'],
|
||||
}, context)
|
||||
return id
|
||||
return True
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
def unlink_action(self, cr, uid, ids, context):
|
||||
for template in self.browse(cr, uid, ids, context):
|
||||
obj = self.pool.get(template.object_name.model)
|
||||
try:
|
||||
|
@ -264,6 +266,13 @@ class email_template(osv.osv):
|
|||
self.pool.get('ir.values').unlink(cr, uid, template.ref_ir_value.id, context)
|
||||
except:
|
||||
raise osv.except_osv(_("Warning"), _("Deletion of Record failed"))
|
||||
|
||||
def delete_action(self, cr, uid, ids, context):
|
||||
self.unlink_action(cr, uid, ids, context)
|
||||
return True
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
self.unlink_action(cr, uid, ids, context)
|
||||
return super(email_template, self).unlink(cr, uid, ids, context)
|
||||
|
||||
def copy(self, cr, uid, id, default=None, context=None):
|
||||
|
|
|
@ -41,6 +41,7 @@ class email_template_mailbox(osv.osv):
|
|||
return True
|
||||
|
||||
def send_this_mail(self, cr, uid, ids=None, context=None):
|
||||
result = True
|
||||
for id in (ids or []):
|
||||
try:
|
||||
account_obj = self.pool.get('email_template.account')
|
||||
|
|
|
@ -114,6 +114,10 @@
|
|||
<field name="file_name" colspan="2" />
|
||||
<field name="report_template" colspan="2"
|
||||
domain="[('model','=',model_int_name)]" />
|
||||
<group colspan="2">
|
||||
<button name="create_action" string="Create Action" type="object" colspan="1" attrs="{'invisible':[('ref_ir_act_window','!=',False), ('ref_ir_value','!=',False)]}"/>
|
||||
<button name="delete_action" string="Delete Action" type="object" colspan="1" attrs="{'invisible':[('ref_ir_act_window','=',False), ('ref_ir_value','=',False)]}"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
|
|
|
@ -289,7 +289,9 @@ class marketing_campaign_activity(osv.osv):
|
|||
context = {}
|
||||
server_obj = self.pool.get('ir.actions.server')
|
||||
context['active_id'] = workitem.res_id
|
||||
return server_obj.run(cr, uid, [activity.server_action_id.id], context)
|
||||
res = server_obj.run(cr, uid, [activity.server_action_id.id], context)
|
||||
#server action return False if the action is perfomed except client_action,other and python code
|
||||
return res==False and True or res
|
||||
|
||||
def process(self, cr, uid, act_id, wi_id, context={}):
|
||||
activity = self.browse(cr, uid, act_id)
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<menuitem name="Configuration" id="menu_marketing_configuration" parent="marketing.marketing_menu" sequence="1"/>
|
||||
|
||||
<!--
|
||||
======================
|
||||
Marketing Campaign
|
||||
|
|
Loading…
Reference in New Issue