[FIX]: crm: Fixed problem in mail reply wizard

bzr revid: rpa@openerp.co.in-20100205090829-b030umfdsgqj63do
This commit is contained in:
rpa (Open ERP)
2010-02-05 14:38:29 +05:30
parent 9d3ec8e1c2
commit 1e1ef3397c
2 changed files with 20 additions and 24 deletions
+9 -17
View File
@@ -719,30 +719,23 @@ class crm_case(osv.osv):
def onchange_partner_id(self, cr, uid, ids, part, email=False):
if not part:
return {'value':{'partner_address_id': False}}
return {'value':{'partner_address_id': False,
'email_from': False,
'partner_name2': False}}
addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['contact'])
data = {'partner_address_id':addr['contact']}
if addr['contact'] and not email:
data['email_from'] = self.pool.get('res.partner.address').browse(cr, uid, addr['contact']).email
data = {'partner_address_id': addr['contact']}
data.update(self.onchange_partner_address_id(cr, uid, ids, addr['contact'])['value'])
return {'value':data}
def onchange_partner_address_id(self, cr, uid, ids, add, email=False):
data = {}
if not add:
return {'value': {'email_from': False}}
data['email_from'] = self.pool.get('res.partner.address').browse(cr, uid, add).email
return {'value': {'email_from': False, 'partner_name2': False}}
address= self.pool.get('res.partner.address').browse(cr, uid, add)
data['email_from'] = address.email
data['partner_name2'] = address.name or ''
return {'value': data}
def onchange_partner_id(self, cr, uid, ids, part):
data = {}
if not part:
return {'value': {'partner_address_id': False,
'email_from': False}}
add = self.pool.get('res.partner').address_get(cr, uid, [part])['default']
data['partner_address_id'] = add
data.update(self.onchange_partner_address_id(cr, uid, ids, add)['value'])
return {'value': data}
def case_close(self, cr, uid, ids, *args):
cases = self.browse(cr, uid, ids)
cases[0].state # to fill the browse record cache
@@ -882,7 +875,6 @@ class crm_email_add_cc_wizard(osv.osv_memory):
if not context:
return {}
history_line = self.pool.get('crm.case.history').browse(cr, uid, context['active_id'])
model_obj = self.pool.get('ir.model')
model = history_line.log_id.model_id.model
model_pool = self.pool.get(model)
case = model_pool.browse(cr, uid, history_line.log_id.res_id)
+11 -7
View File
@@ -51,12 +51,13 @@ email_send_fields = {
# this sends an email to ALL the addresses of the selected partners.
def _mass_mail_send(self, cr, uid, data, context):
pool = pooler.get_pool(cr.dbname)
case_pool=pool.get(data['model'])
hist_obj = pool.get('crm.case.history').browse(cr,uid,data['ids'])[0]
case = hist_obj.log_id.case_id
case_pool._history(cr, uid, [case], _('Send'), history=True, email=False)
case_pool.write(cr, uid, [case.id], {
model = hist_obj.log_id.model_id.model
model_pool = pool.get(model)
case = model_pool.browse(cr, uid, hist_obj.log_id.res_id)
model_pool._history(cr, uid, [case], _('Send'), history=True, email=False)
model_pool.write(cr, uid, [case.id], {
'som': False,
'canal_id': False,
})
@@ -69,9 +70,10 @@ def _mass_mail_send(self, cr, uid, data, context):
case.user_id.address_id.email,
emails,
data['form']['subject'],
case_pool.format_body(body),
model_pool.format_body(body),
reply_to=case.section_id.reply_to,
openobject_id=str(case.id)
openobject_id=str(case.id),
subtype="html"
)
return {}
@@ -80,7 +82,9 @@ def _get_info(self, cr, uid, data, context):
raise wizard.except_wizard(_('Error'),_('There is no mail to reply!'))
pool = pooler.get_pool(cr.dbname)
hist_obj = pool.get('crm.case.history').browse(cr,uid,data['ids'])[0]
case = hist_obj.log_id.case_id
model = hist_obj.log_id.model_id.model
model_pool = pool.get(model)
case = model_pool.browse(cr, uid, hist_obj.log_id.res_id)
if not case.email_from:
raise wizard.except_wizard(_('Error'),_('You must put a Partner eMail to use this action!'))
if not case.user_id: