From c4919b57df8710a77a1e968081fa0e6789ce6f0d Mon Sep 17 00:00:00 2001 From: "rpa (Open ERP)" Date: Thu, 29 Oct 2009 16:57:13 +0530 Subject: [PATCH] [IMP]: CRM Ergonomy Improvement blueprint: Modifications for removing simple wizard and put osv_memory wizard instead of it ,for onchange issue in CRM bzr revid: rpa@tinyerp.com-20091029112713-p7ozeg2ni2x92xbj --- addons/crm/crm.py | 38 +++++++++++++++ addons/crm/crm_view.xml | 40 +++++++++++++--- addons/crm/wizard/__init__.py | 1 - addons/crm/wizard/wizard_add_cc.py | 77 ------------------------------ 4 files changed, 71 insertions(+), 85 deletions(-) delete mode 100644 addons/crm/wizard/wizard_add_cc.py diff --git a/addons/crm/crm.py b/addons/crm/crm.py index a57ffcd272c..673b14fe65d 100755 --- a/addons/crm/crm.py +++ b/addons/crm/crm.py @@ -1039,5 +1039,43 @@ class crm_email_history(osv.osv): _order = 'id desc' crm_email_history() + +class crm_email_add_cc_wizard(osv.osv_memory): + _name = "crm.email.add.cc" + _description = "Email Add CC" + _columns = { + 'name': fields.selection([('user','User'),('partner','Partner'),('email','Email Address')], 'Send to', required=True), + 'user_id': fields.many2one('res.users',"User"), + 'partner_id': fields.many2one('res.partner',"Partner"), + 'email': fields.char('Email', size=32), + } + + def change_email(self, cr, uid, ids, user, partner): + if (not partner and not user): + return {'value':{'email': False}} + email = False + if partner: + addr = self.pool.get('res.partner').address_get(cr, uid, [partner], ['contact']) + if addr: + email = self.pool.get('res.partner.address').read(cr, uid,addr['contact'] , ['email'])['email'] + elif user: + addr = self.pool.get('res.users').read(cr, uid, user, ['address_id'])['address_id'] + if addr: + email = self.pool.get('res.partner.address').read(cr, uid,addr[0] , ['email'])['email'] + return {'value':{'email': email}} + + + def add_cc(self, cr, uid, ids, context={}): + email = self.read(cr, uid, ids[0])['email'] + if not context: + return {} + history_line = self.pool.get('crm.case.history').browse(cr, uid, context['active_id']) + crm_case = self.pool.get('crm.case') + case_id = history_line.log_id.case_id.id + crm_case.write(cr, uid, case_id, {'email_cc' : email}) + return {} + +crm_email_add_cc_wizard() + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml index fdb79ed5d73..156ac40aa3a 100755 --- a/addons/crm/crm_view.xml +++ b/addons/crm/crm_view.xml @@ -239,11 +239,37 @@ - + + Add CC + crm.email.add.cc + form + +
+ + + + + + +