[IMP] sale_crm: after sale confim, opportunity should be win stageand sale cancel, opportunity should be in lost stage
bzr revid: hmo@tinyerp.com-20100908092957-o86hiv6j33h4tvj6
This commit is contained in:
parent
effbcee60e
commit
a5bb2c643c
|
@ -26,7 +26,38 @@ class sale_order(osv.osv):
|
|||
_columns = {
|
||||
'section_id': fields.many2one('crm.case.section', 'Sales Team'),
|
||||
}
|
||||
|
||||
def action_cancel(self, cr, uid, ids, context=None):
|
||||
res = super(sale_order, self).action_cancel(cr, uid, ids, context=context)
|
||||
case_pool = self.pool.get('crm.lead')
|
||||
data_pool = self.pool.get('ir.model.data')
|
||||
data = data_pool._get_id(cr, uid, 'crm', 'stage_lead6')
|
||||
res_data = data_pool.read(cr, uid, data, ['res_id'])
|
||||
lost_stage_id = False
|
||||
if res_data and res_data.get('res_id'):
|
||||
lost_stage_id = res_data.get('res_id', False)
|
||||
if not lost_stage_id:
|
||||
return res
|
||||
# After sale cancel, lead also lost
|
||||
for sale_id in ids:
|
||||
lead_ids = case_pool.search(cr, uid, [('ref','=','sale.order,%s'%(sale_id))])
|
||||
case_pool.write(cr, uid, lead_ids, {'stage_id': lost_stage_id})
|
||||
return res
|
||||
def action_ship_create(self, cr, uid, ids, *args):
|
||||
res = super(sale_order, self).action_ship_create(cr, uid, ids, *args)
|
||||
case_pool = self.pool.get('crm.lead')
|
||||
data_pool = self.pool.get('ir.model.data')
|
||||
data = data_pool._get_id(cr, uid, 'crm', 'stage_lead5')
|
||||
res_data = data_pool.read(cr, uid, data, ['res_id'])
|
||||
win_stage_id = False
|
||||
if res_data and res_data.get('res_id'):
|
||||
win_stage_id = res_data.get('res_id', False)
|
||||
if not win_stage_id:
|
||||
return res
|
||||
# After sale confimed, lead also win
|
||||
for sale_id in ids:
|
||||
lead_ids = case_pool.search(cr, uid, [('ref','=','sale.order,%s'%(sale_id))])
|
||||
case_pool.write(cr, uid, lead_ids, {'stage_id': win_stage_id})
|
||||
return res
|
||||
def _get_section(self, cr, uid, context=None):
|
||||
return context.get('context_section_id', False)
|
||||
|
||||
|
@ -36,4 +67,4 @@ class sale_order(osv.osv):
|
|||
|
||||
sale_order()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
Loading…
Reference in New Issue