From 6557dbb418eac38ae154ec5f524da8b92cba9803 Mon Sep 17 00:00:00 2001 From: "uco (OpenERP)" Date: Mon, 11 Jan 2010 17:48:27 +0530 Subject: [PATCH] [IMP]: Changed inheritance in crm_helpdesk. bzr revid: uco@tinyerp.co.in-20100111121827-nreyoue18vj2x1np --- addons/crm/__terp__.py | 3 +- addons/crm/crm_helpdesk.py | 73 +++++++++++++------------------- addons/crm/crm_helpdesk_menu.xml | 2 +- addons/crm/crm_helpdesk_view.xml | 6 +-- 4 files changed, 36 insertions(+), 48 deletions(-) diff --git a/addons/crm/__terp__.py b/addons/crm/__terp__.py index 8bf0d4f9f90..3bbd181c14b 100644 --- a/addons/crm/__terp__.py +++ b/addons/crm/__terp__.py @@ -83,7 +83,8 @@ between mails and Open ERP.""", 'crm_phonecall_view.xml', 'crm_phonecall_menu.xml', # 'crm_report_view.xml', - 'crm_helpdesk_view.xml', + 'crm_helpdesk_view.xml', + 'crm_helpdesk_menu.xml', #'crm_report.xml', 'security/crm_security.xml', #'security/ir.model.access.csv', diff --git a/addons/crm/crm_helpdesk.py b/addons/crm/crm_helpdesk.py index 4cf4b951e53..97bf3aa7a8c 100644 --- a/addons/crm/crm_helpdesk.py +++ b/addons/crm/crm_helpdesk.py @@ -32,48 +32,42 @@ import tools from osv import fields,osv,orm from osv.orm import except_orm +AVAILABLE_PRIORITIES = [ + ('5','Lowest'), + ('4','Low'), + ('3','Normal'), + ('2','High'), + ('1','Highest') +] + +def _links_get(self, cr, uid, context={}): + obj = self.pool.get('res.request.link') + ids = obj.search(cr, uid, []) + res = obj.read(cr, uid, ids, ['object', 'name'], context) + return [(r['object'], r['name']) for r in res] + class crm_helpdesk(osv.osv): _name = "crm.helpdesk" _description = "Helpdesk Cases" _order = "id desc" - _inherits = {'crm.case':"inherit_case_id"} + _inherit = 'crm.case' _columns = { - 'inherit_case_id':fields.many2one('crm.case','Case'), + 'date_closed': fields.datetime('Closed', readonly=True), + 'ref' : fields.reference('Reference', selection=_links_get, size=128), + 'ref2' : fields.reference('Reference 2', selection=_links_get, size=128), + 'canal_id': fields.many2one('res.partner.canal', 'Channel',help="The channels represent the different communication modes available with the customer." \ + " With each commercial opportunity, you can indicate the canall which is this opportunity source."), + 'planned_revenue': fields.float('Planned Revenue'), + 'planned_cost': fields.float('Planned Costs'), + 'priority': fields.selection(AVAILABLE_PRIORITIES, 'Priority'), + 'probability': fields.float('Probability (%)'), + 'som': fields.many2one('res.partner.som', 'State of Mind', help="The minds states allow to define a value scale which represents" \ + "the partner mentality in relation to our services.The scale has" \ + "to be created with a factor for each level from 0 (Very dissatisfied) to 10 (Extremely satisfied)."), + 'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id)]", help='Category related to the section.Subdivide the CRM cases independently or section-wise.'), + 'duration': fields.float('Duration'), } - - def _map_ids(self, method, cr, uid, ids, *args, **argv): - if isinstance(ids, (str, int, long)): - select = [ids] - else: - select = ids - case_data = self.browse(cr, uid, select) - new_ids = [] - for case in case_data: - if case.inherit_case_id: - new_ids.append(case.inherit_case_id.id) - res = getattr(self.pool.get('crm.case'),method)(cr, uid, new_ids, *args, **argv) - if isinstance(ids, (str, int, long)) and isinstance(res, list): - return res and res[0] or False - return res - - - def onchange_case_id(self, cr, uid, ids, *args, **argv): - return self._map_ids('onchange_case_id',cr,uid,ids,*args,**argv) - def onchange_partner_id(self, cr, uid, ids, *args, **argv): - return self._map_ids('onchange_partner_id',cr,uid,ids,*args,**argv) - def onchange_partner_address_id(self, cr, uid, ids, *args, **argv): - return self._map_ids('onchange_partner_address_id',cr,uid,ids,*args,**argv) - def onchange_categ_id(self, cr, uid, ids, *args, **argv): - return self._map_ids('onchange_categ_id',cr,uid,ids,*args,**argv) - def case_close(self,cr, uid, ids, *args, **argv): - return self._map_ids('case_close',cr,uid,ids,*args,**argv) - def case_open(self,cr, uid, ids, *args, **argv): - return self._map_ids('case_open',cr,uid,ids,*args,**argv) - def case_cancel(self,cr, uid, ids, *args, **argv): - return self._map_ids('case_cancel',cr,uid,ids,*args,**argv) - def case_reset(self,cr, uid, ids, *args, **argv): - return self._map_ids('case_reset',cr,uid,ids,*args,**argv) - + def msg_new(self, cr, uid, msg): mailgate_obj = self.pool.get('mail.gateway') msg_body = mailgate_obj.msg_body_get(msg) @@ -91,13 +85,6 @@ class crm_helpdesk(osv.osv): res = self.create(cr, uid, data) return res - def msg_update(self, cr, uid, ids, *args, **argv): - return self._map_ids('msg_update',cr, uid, ids, *args, **argv) - def emails_get(self, cr, uid, ids, *args, **argv): - return self._map_ids('emails_get',cr, uid, ids, *args, **argv) - def msg_send(self, cr, uid, ids, *args, **argv): - return self._map_ids('msg_send',cr, uid, ids, *args, **argv) - crm_helpdesk() class crm_helpdesk_assign_wizard(osv.osv_memory): diff --git a/addons/crm/crm_helpdesk_menu.xml b/addons/crm/crm_helpdesk_menu.xml index 7ab35e6b8cf..73eef531d33 100644 --- a/addons/crm/crm_helpdesk_menu.xml +++ b/addons/crm/crm_helpdesk_menu.xml @@ -6,7 +6,7 @@ ######################## Help Desk (menu) ########################### All Helpdesk Requests - crm.case + crm.helpdesk tree,calendar,form diff --git a/addons/crm/crm_helpdesk_view.xml b/addons/crm/crm_helpdesk_view.xml index bfec512ad0d..13b29e1849c 100644 --- a/addons/crm/crm_helpdesk_view.xml +++ b/addons/crm/crm_helpdesk_view.xml @@ -36,7 +36,7 @@ CRM - Helpdesk Support Form - crm.case + crm.helpdesk form
@@ -150,7 +150,7 @@ CRM - Helpdesk Support Tree - crm.case + crm.helpdesk tree @@ -174,7 +174,7 @@ CRM - Helpdesk Support Calendar - crm.case + crm.helpdesk calendar