'type': fields.selection([('control_required', 'Control Required'),('no_control', 'No Control')], 'Type'),
'date_control': fields.date('Control Date', select=True),
'phase_ids':fields.many2one('document.change.process.phase','Phase Type'),
- 'state': fields.selection([('draft', 'Draft'),('started', 'Started'),('validate', 'To Validate'), ('end', 'End')], 'Status', readonly=True),
+ 'state': fields.selection([('draft', 'Draft'),('started', 'Started'),('validate', 'To Validate'), ('done', 'Done')], 'Status',readonly=True),
'phase_document_ids':fields.many2many('ir.attachment','phase_document_rel','phase_id','document_id','Document'),
}
_defaults = {
'update_document': lambda *a:'at_endPhase',
'type':lambda *a: 'no_control',
}
+ def state_draft_set(self, cr, uid, ids, *args):
+ self.write(cr, uid, ids, {'state':'draft'})
+ return True
+
+ def state_validate_set(self, cr, uid, ids, *args):
+ self.write(cr, uid, ids, {'state':'validate'})
+ return True
+ def state_started_set(self, cr, uid, ids, *args):
+ self.write(cr, uid, ids, {'state':'started'})
+ return True
+
+ def state_done_set(self, cr, uid, ids, *args):
+ self.write(cr, uid, ids, {'state':'done'})
+ return True
+
doucment_change_process_phase()
class document_change_process_model(osv.osv):
_columns = {
'type_id':fields.many2one('document.change.type','Document Type'),
- 'state': fields.selection([('change_request', 'Change Request'),('change_proposed', 'Change Proposed'), ('in_production', 'In Production'), ('to_update', 'To Update'), ('validate', 'To Validate'), ('cancel', 'Cancel')], 'Status',readonly=True),
+ 'state': fields.selection([('change_request', 'Change Request'),('change_proposed', 'Change Proposed'), ('in_production', 'In Production'), ('to_update', 'To Update'), ('validate', 'To Validate'), ('cancel', 'Cancel')], 'Status'),
'target_document_id': fields.many2one('document.directory', 'Target Document'),
'target':fields.binary('Target'),
}
_defaults = {
'state': lambda *a: 'change_request',
}
- def button_change_request(self, cr, uid, ids, context={}):
- self.write(cr, uid, ids, {'state':'change_request'})
+ def state_set_request(self, cr, uid, ids, context={}):
+ self.write(cr, uid, ids, {'state':'change_request'},context=context)
return True
- def button_change_proposed(self, cr, uid, ids, context={}):
- self.write(cr, uid, ids, {'state':'change_proposed'})
+ def state_set_proposed(self, cr, uid, ids, context={}):
+ self.write(cr, uid, ids, {'state':'change_proposed'},context=context)
return True
- def button_in_production(self, cr, uid, ids, context={}):
+ def state_set_in_production(self, cr, uid, ids, context={}):
self.write(cr, uid, ids, {'state':'in_production'})
return True
- def button_update(self, cr, uid, ids, context={}):
+ def state_set_update(self, cr, uid, ids, context={}):
self.write(cr, uid, ids, {'state':'to_update'})
return True
- def button_change_validated(self, cr, uid, ids, context={}):
- self.write(cr, uid, ids, {'state':'validate'})
+ def state_set_validated(self, cr, uid, ids, context={}):
+ self.write(cr, uid, ids, {'state':'validate'},context=context)
return True
- def button_cancel(self, cr, uid, ids, context={}):
- workflow = netsvc.LocalService('workflow')
- for oid in ids:
- workflow.trg_create(uid, self._name, oid, cr)
+ def state_set_cancel(self, cr, uid, ids, context={}):
return self.write(cr, uid, ids, {'state':'cancel'},context=context)
document_file()
<group col="7" colspan="4">
<field name="state"/>
<button name="button_change_proposed" states="cancel,to_update" string="Request Change" icon="gtk-apply"/>
- <button name="button_change_validated" states="change_request, validate, cancel" string="Propose Change" icon="gtk-apply"/>
- <button name="button_update" states="change_proposed,in_production" string="To Update" type="object" icon="gtk-ok" />
+ <button name="button_change_validated" states="change_request,validate,cancel" string="Propose Change" icon="gtk-apply"/>
+ <button name="button_update" states="change_proposed,in_production" string="To Update" icon="gtk-ok" />
<button name="button_change_request" states="to_update" string="In Production" icon="gtk-media-play"/>
- <button name="button_cancel" states="change_request,change_proposed" string="Cancel" type="object" icon="gtk-cancel"/>
+ <button name="button_cancel" states="change_request,change_proposed" string="Cancel" icon="gtk-cancel"/>
</group>
<newline/>
<field name="target_document_id"/>
<group col="5" colspan="4">
<field name="state"/>
<button name="button_start" states="draft" string="Start" icon="gtk-go-forward"/>
- <button name="button_done" states="started" string="Validate" icon="gtk-execute"/>
+ <button name="button_validate" states="started" string="Validate" icon="gtk-execute"/>
<button name="button_end" states="validate" string="End" icon="gtk-jump-to"/>
</group>
</form>
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
- <record id="wkf" model="workflow">
+ <record id="wkf_attachment" model="workflow">
<field name="name">ir.attachment.basic</field>
<field name="osv">ir.attachment</field>
<field name="on_create">True</field>
<!-- States -->
<record id="act_request" model="workflow.activity">
- <field name="wkf_id" ref="wkf"/>
+ <field name="wkf_id" ref="wkf_attachment"/>
<field name="flow_start">True</field>
- <field name="name">change_requested</field>
+ <field name="name">state_set_request</field>
</record>
<record id="act_propose" model="workflow.activity">
- <field name="wkf_id" ref="wkf"/>
- <field name="name">change proposed</field>
- <field name="action">button_change_proposed()</field>
+ <field name="wkf_id" ref="wkf_attachment"/>
+ <field name="name">change_proposed</field>
+ <field name="action">state_set_proposed()</field>
<field name="kind">function</field>
</record>
<record id="act_update" model="workflow.activity">
- <field name="wkf_id" ref="wkf"/>
- <field name="name">to update</field>
- <field name="action">button_update()</field>
+ <field name="wkf_id" ref="wkf_attachment"/>
+ <field name="name">to_update</field>
+ <field name="action">state_set_update()</field>
<field name="kind">function</field>
</record>
<record id="act_production" model="workflow.activity">
- <field name="wkf_id" ref="wkf"/>
- <field name="name">in production</field>
- <field name="action">button_in_production()</field>
+ <field name="wkf_id" ref="wkf_attachment"/>
+ <field name="name">in_production</field>
+ <field name="action">state_set_in_production()</field>
<field name="kind">function</field>
</record>
<record id="act_cancel" model="workflow.activity">
- <field name="wkf_id" ref="wkf"/>
+ <field name="wkf_id" ref="wkf_attachment"/>
<field name="name">cancel</field>
- <field name="action">button_cancel()</field>
+ <field name="action">state_set_cancel()</field>
<field name="kind">function</field>
</record>
<record id="cancel_to_request" model="workflow.transition">
<field name="act_from" ref="act_cancel"/>
<field name="act_to" ref="act_request"/>
- <field name="signal">request</field>
+ <field name="signal">button_change_request</field>
</record>
<record id="update_to_production" model="workflow.transition">
<field name="act_from" ref="act_update"/>
<field name="act_to" ref="act_production"/>
- <field name="signal">button_to_update</field>
+ <field name="signal">button_update</field>
</record>
<record id="production_to_request" model="workflow.transition">
<field name="act_from" ref="act_production"/>
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
- <record id="wkf" model="workflow">
+ <record id="wkf_change_process_phase" model="workflow">
<field name="name">document.change.process.phase.basic</field>
<field name="osv">document.change.process.phase</field>
<field name="on_create">True</field>
<!-- States -->
<record id="act_draft" model="workflow.activity">
- <field name="wkf_id" ref="wkf"/>
+ <field name="wkf_id" ref="wkf_change_process_phase"/>
<field name="flow_start">True</field>
<field name="name">draft</field>
</record>
<record id="act_start" model="workflow.activity">
- <field name="wkf_id" ref="wkf"/>
+ <field name="wkf_id" ref="wkf_change_process_phase"/>
<field name="name">started</field>
- <field name="action">button_start()</field>
+ <field name="action">state_started_set()</field>
<field name="kind">function</field>
</record>
<record id="act_validate" model="workflow.activity">
- <field name="wkf_id" ref="wkf"/>
- <field name="name">to validate</field>
- <field name="action">button_done()</field>
+ <field name="wkf_id" ref="wkf_change_process_phase"/>
+ <field name="name">validate</field>
+ <field name="action">state_validate_set()</field>
<field name="kind">function</field>
</record>
<record id="act_end" model="workflow.activity">
- <field name="wkf_id" ref="wkf"/>
+ <field name="wkf_id" ref="wkf_change_process_phase"/>
<field name="name">end</field>
- <field name="action">button_end()</field>
+ <field name="action">state_done_set()</field>
<field name="kind">function</field>
</record>
<record id="start_to_validate" model="workflow.transition">
<field name="act_from" ref="act_start"/>
<field name="act_to" ref="act_validate"/>
- <field name="signal">button_done</field>
+ <field name="signal">button_validate</field>
</record>
<record id="validate_to_end" model="workflow.transition">
<field name="act_from" ref="act_validate"/>
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
- <record id="wkf" model="workflow">
+ <record id="wkf_change_process" model="workflow">
<field name="name">document.change.process.phase.basic</field>
<field name="osv">document.change.process.phase</field>
<field name="on_create">True</field>
<!-- States -->
<record id="act_draft" model="workflow.activity">
- <field name="wkf_id" ref="wkf"/>
+ <field name="wkf_id" ref="wkf_change_process"/>
<field name="flow_start">True</field>
<field name="name">draft</field>
</record>
<record id="act_in_progress" model="workflow.activity">
- <field name="wkf_id" ref="wkf"/>
+ <field name="wkf_id" ref="wkf_change_process"/>
<field name="name">in_progress</field>
<field name="action">button_in_progress()</field>
<field name="kind">function</field>
</record>
<record id="act_pending" model="workflow.activity">
- <field name="wkf_id" ref="wkf"/>
+ <field name="wkf_id" ref="wkf_change_process"/>
<field name="name">pending</field>
- <field name="action">button_pending()</field>
+ <field name="action">state_pending_set()</field>
<field name="kind">function</field>
</record>
<record id="act_validate" model="workflow.activity">
- <field name="wkf_id" ref="wkf"/>
- <field name="name">to validate</field>
- <field name="action">button_done()</field>
+ <field name="wkf_id" ref="wkf_change_process"/>
+ <field name="name">to_validate</field>
+ <field name="action">state_done_set()</field>
<field name="kind">function</field>
</record>
<record id="act_done" model="workflow.activity">
- <field name="wkf_id" ref="wkf"/>
+ <field name="wkf_id" ref="wkf_change_process"/>
<field name="name">done</field>
<field name="action">button_end()</field>
<field name="kind">function</field>
<record id="draft_to_progress" model="workflow.transition">
<field name="act_from" ref="act_draft"/>
<field name="act_to" ref="act_in_progress"/>
- <field name="signal">button_in_progress</field>
+ <field name="signal">in_progress</field>
</record>
<record id="progress_to_pending" model="workflow.transition">
<field name="act_from" ref="act_in_progress"/>
<field name="act_to" ref="act_pending"/>
- <field name="signal">button_pending</field>
+ <field name="signal">pending</field>
</record>
<record id="pending_to_progress" model="workflow.transition">
<field name="act_from" ref="act_pending"/>
<field name="act_to" ref="act_in_progress"/>
- <field name="signal">button_in_progress</field>
+ <field name="signal">in_progress</field>
</record>
<record id="progress_to_validate" model="workflow.transition">
<field name="act_from" ref="act_in_progress"/>
<field name="act_to" ref="act_validate"/>
- <field name="signal">button_validate</field>
+ <field name="signal">validate</field>
</record>
<record id="validate_to_end" model="workflow.transition">
<field name="act_from" ref="act_validate"/>
<field name="act_to" ref="act_end"/>
- <field name="signal">button_done</field>
+ <field name="signal">done</field>
</record>
</data>
</openerp>
\ No newline at end of file