Convert email last in field function

bzr revid: ced-1326191aa65f68781f5ff3656bc56855a51c8613
This commit is contained in:
ced 2007-10-24 06:13:30 +00:00
parent fd2b1840e8
commit 56b20a0551
2 changed files with 19 additions and 5 deletions

View File

@ -243,6 +243,16 @@ def _links_get(self, cr, uid, context={}):
class crm_case(osv.osv):
_name = "crm.case"
_description = "Case"
def _email_last(self, cursor, user, ids, name, arg, context=None):
res = {}
for case in self.browse(cursor, user, ids):
if case.history_line:
res[case.id] = case.history_line[0].description
else:
res[case.id] = False
return res
_columns = {
'id': fields.integer('ID', readonly=True),
'name': fields.char('Description',size=64, required=True),
@ -256,7 +266,8 @@ class crm_case(osv.osv):
'probability': fields.float('Probability (0.50)'),
'email_from': fields.char('Partner Email', size=128),
'email_cc': fields.char('Watchers Emails', size=252),
'email_last': fields.text('Latest E-Mail'),
'email_last': fields.function(_email_last, method=True,
string='Latest E-Mail', type='text'),
'partner_id': fields.many2one('res.partner', 'Partner'),
'partner_address_id': fields.many2one('res.partner.address', 'Partner Contact', domain="[('partner_id','=',partner_id)]"),
'som': fields.many2one('res.partner.som', 'State of Mind'),
@ -539,10 +550,15 @@ class crm_case(osv.osv):
cases = self.browse(cr, uid, ids)
for case in cases:
if not case.email_from:
raise osv.except_osv('Error !', 'You must put a Partner eMail to use this action !')
raise osv.except_osv('Error!',
'You must put a Partner eMail to use this action!')
self.__history(cr, uid, cases, 'Send', history=True, email=False)
for case in cases:
self.write(cr, uid, [case.id], {'description':False, 'som':False, 'canal_id': False, 'email_last':case.description})
self.write(cr, uid, [case.id], {
'description': False,
'som': False,
'canal_id': False,
})
emails = [case.email_from] + (case.email_cc or '').split(',')
emails = filter(None, emails)
tools.email_send(case.user_id.address_id.email, emails,

View File

@ -161,7 +161,6 @@ class email_parser(object):
body['body'] = body_data
data = {
'email_last': body['body'],
'history_line': [(0, 0, {'description': body['body'], 'email': msg['From']})],
}
@ -218,7 +217,6 @@ class email_parser(object):
self.rpc('crm.case', act, [id])
body2 = '\n'.join(map(lambda l: '> '+l, (body or '').split('\n')))
data = {
'email_last': body,
'history_line': [(0, 0, {'description': body, 'email': msg['From']})],
}
self.rpc('crm.case', 'write', [id], data)