diff --git a/addons/crm/crm_opportunity.py b/addons/crm/crm_opportunity.py index 22374e4c9d4..3a4759a7fe9 100644 --- a/addons/crm/crm_opportunity.py +++ b/addons/crm/crm_opportunity.py @@ -53,20 +53,20 @@ class crm_opportunity(osv.osv): _inherit = 'crm.case' _columns = { 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_id','=',section_id)]"), - '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.'), - 'category2_id': fields.many2one('crm.case.category2', 'Category Name', domain="[('section_id','=',section_id)]"), - 'priority': fields.selection(AVAILABLE_PRIORITIES, 'Priority'), - 'probability': fields.float('Probability (%)'), - 'planned_revenue': fields.float('Planned Revenue'), - 'planned_cost': fields.float('Planned Costs'), - '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."), - '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)."), - 'ref' : fields.reference('Reference', selection=_links_get, size=128), - 'ref2' : fields.reference('Reference 2', selection=_links_get, size=128), - 'date_closed': fields.datetime('Closed', readonly=True), + '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.'), + 'category2_id': fields.many2one('crm.case.category2', 'Category Name', domain="[('section_id','=',section_id)]"), + 'priority': fields.selection(AVAILABLE_PRIORITIES, 'Priority'), + 'probability': fields.float('Probability (%)'), + 'planned_revenue': fields.float('Planned Revenue'), + 'planned_cost': fields.float('Planned Costs'), + '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."), + '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)."), + 'ref' : fields.reference('Reference', selection=_links_get, size=128), + 'ref2' : fields.reference('Reference 2', selection=_links_get, size=128), + 'date_closed': fields.datetime('Closed', readonly=True), } def msg_new(self, cr, uid, msg): diff --git a/addons/crm/crm_phonecall.py b/addons/crm/crm_phonecall.py index c2bbf77e19f..26f89a0fa3e 100644 --- a/addons/crm/crm_phonecall.py +++ b/addons/crm/crm_phonecall.py @@ -30,52 +30,35 @@ import tools from tools.translate import _ +AVAILABLE_PRIORITIES = [ + ('5','Lowest'), + ('4','Low'), + ('3','Normal'), + ('2','High'), + ('1','Highest') +] + class crm_phonecall(osv.osv): _name = "crm.phonecall" _description = "Phonecall Cases" _order = "id desc" - _inherits = {'crm.case':"inherit_case_id"} + _inherit = 'crm.case' _columns = { - 'inherit_case_id': fields.many2one('crm.case','Case',ondelete='cascade'), + 'duration': fields.float('Duration'), + '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.'), + 'partner_phone': fields.char('Phone', size=32), + 'partner_mobile': fields.char('Mobile', size=32), + '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)."), + 'priority': fields.selection(AVAILABLE_PRIORITIES, 'Priority'), + '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."), + 'probability': fields.float('Probability (%)'), + 'planned_revenue': fields.float('Planned Revenue'), + 'date_closed': fields.datetime('Closed', readonly=True), } - 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 case_escalate(self,cr, uid, ids, *args, **argv): - return self._map_ids('case_escalate',cr,uid,ids,*args,**argv) - def case_pending(self,cr, uid, ids, *args, **argv): - return self._map_ids('case_pending',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) @@ -93,13 +76,6 @@ class crm_phonecall(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_phonecall() diff --git a/addons/crm/wizard/crm_phonecall_wizard.py b/addons/crm/wizard/crm_phonecall_wizard.py index e9c3c0ad780..253ac835387 100644 --- a/addons/crm/wizard/crm_phonecall_wizard.py +++ b/addons/crm/wizard/crm_phonecall_wizard.py @@ -103,14 +103,14 @@ class phonecall2opportunity(wizard.interface): 'planned_revenue': data['form']['planned_revenue'], 'probability': data['form']['probability'], 'partner_id': data['form']['partner_id'], - 'case_id':phonecall.inherit_case_id.id, + 'case_id':phonecall.id, }) new_opportunity = opportunity_case_obj.browse(cr, uid, new_opportunity_id) vals = { 'partner_id': data['form']['partner_id'], } if not phonecall.case_id: - vals.update({'case_id' : new_opportunity.inherit_case_id.id}) + vals.update({'case_id' : new_opportunity.id}) phonecall_case_obj.write(cr, uid, [phonecall.id], vals) phonecall_case_obj.case_cancel(cr, uid, [phonecall.id]) opportunity_case_obj.case_open(cr, uid, [new_opportunity_id]) @@ -216,7 +216,7 @@ class phonecall2meeting(wizard.interface): 'name': phonecall.name, 'date': data['form']['date'], 'duration': data['form']['duration'], - 'case_id': phonecall.inherit_case_id.id, + 'case_id': phonecall.id, }) new_meeting = meeting_case_obj.browse(cr, uid, new_meeting_id) vals = {}