[FIX]: crm: Fixed problem in mail reply wizard
bzr revid: rpa@openerp.co.in-20100205090829-b030umfdsgqj63do
This commit is contained in:
+9
-17
@@ -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)
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user