[IMP]make stages clickable for project_issue

bzr revid: sgo@tinyerp.com-20120723101938-cj5na33zvto5xrka
This commit is contained in:
Sanjay Gohel (Open ERP) 2012-07-23 15:49:38 +05:30
parent f857b2a454
commit 23c51eafec
2 changed files with 20 additions and 13 deletions

View File

@ -397,6 +397,25 @@ class project_issue(base_stage, osv.osv):
res = super(project_issue, self).case_reset(cr, uid, ids, context)
self.write(cr, uid, ids, {'date_open': False, 'date_closed': False})
return res
def onchange_stage_id(self, cr, uid, ids, stage_id, context={}):
if context is None:
context = {}
if not stage_id:
return {'value':{}}
stage = self.pool.get('project.task.type').browse(cr, uid, stage_id, context)
if stage.state == "draft":
return {'value':{'active': True,'date_open': False, 'date_closed': False}}
if stage.state == "open":
cases = self.browse(cr, uid, ids, context=context)
data = {'active': True}
for case in cases:
if case.stage_id and case.stage_id.state == 'draft':
data['date_open'] = fields.datetime.now()
if not case.user_id:
data['user_id'] = uid
return {'value':data}
return {'value':{}}
def create(self, cr, uid, vals, context=None):
obj_id = super(project_issue, self).create(cr, uid, vals, context=context)

View File

@ -93,28 +93,16 @@
<form version="7.0">
<header>
<span groups="base.group_user">
<button name="case_open" string="Open" type="object"
states="draft,pending" class="oe_highlight"/>
<button name="case_close" string="Done" type="object"
states="open"/>
<button name="case_close" string="Done" type="object"
states="draft,pending"/>
<button name="case_pending" string="Pending" type="object"
states="draft,open"/>
<button name="case_escalate" string="Escalate" type="object"
states="draft,open,pending"/>
<button name="case_reset" string="Reset to New" type="object"
states="cancelled,done"/>
<button name="stage_previous" string="Previous Stage" type="object"
states="open,pending" icon="gtk-go-back"
attrs="{'invisible': [('stage_id','=', False)]}"/>
<button name="stage_next" string="Next Stage" type="object"
states="open,pending" icon="gtk-go-forward"
attrs="{'invisible': [('stage_id','=', False)]}"/>
<button name="case_cancel" string="Cancel" type="object"
states="draft,open,pending"/>
</span>
<field name="stage_id" widget="statusbar"/>
<field name="stage_id" widget="statusbar" on_change="onchange_stage_id(stage_id)" clickable="1"/>
</header>
<sheet string="Issue">
<label for="name" class="oe_edit_only"/>