section = (case.section_id.id or False)
if section in s:
st = case.stage_id.id or False
- if st in s[section]:
- stage_value = self.pool.get('crm.case.stage').read(cr, uid,s[section][st] , ['probability'], context)
- self.write(cr, uid, [case.id], {'stage_id': s[section][st],'probability':stage_value['probability']})
+ if st in s[section]:
+ self.write(cr, uid, [case.id], {'stage_id': s[section][st]})
return True
def get_stage_dict(self, cr, uid, ids, context={}):
if section in s:
st = case.stage_id.id or False
s[section] = dict([(v, k) for (k, v) in s[section].iteritems()])
- if st in s[section]:
- stage_value = self.pool.get('crm.case.stage').read(cr, uid,s[section][st] ,['probability'], context)
- self.write(cr, uid, [case.id], {'stage_id': s[section][st],'probability':stage_value['probability']})
+ if st in s[section]:
+ self.write(cr, uid, [case.id], {'stage_id': s[section][st]})
return True
return {'value':{}}
return {'value':{'probability':stage.probability}}
+ def stage_next(self, cr, uid, ids, context={}):
+ res = super(crm_opportunity, self).stage_next(cr, uid, ids, context=context)
+ for case in self.browse(cr, uid, ids, context):
+ if case.stage_id and case.stage_id.on_change:
+ self.write(cr, uid, [case.id], {'probability': case.stage_id.probability})
+ return res
+
+ def stage_previous(self, cr, uid, ids, context={}):
+ res = super(crm_opportunity, self).stage_previous(cr, uid, ids, context=context)
+ for case in self.browse(cr, uid, ids, context):
+ if case.stage_id and case.stage_id.on_change:
+ self.write(cr, uid, [case.id], {'probability': case.stage_id.probability})
+ return res
+
_defaults = {
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'crm.opportunity', context=c),
}