summaryrefslogtreecommitdiff
path: root/bin/addons/base/ir/workflow/workflow.py
diff options
context:
space:
mode:
authorChristophe Simonis <christophe@tinyerp.com>2008-07-22 16:24:36 +0200
committerChristophe Simonis <christophe@tinyerp.com>2008-07-22 16:24:36 +0200
commit2dd9723b8b3d38df8c8962300ab67afffa5cdaaa (patch)
tree13dbea91b265af5ad775af16efcdef4ae6ef962c /bin/addons/base/ir/workflow/workflow.py
parentc5c7c2ef07b346b72eb5a48d6e8cc7a433fba2e8 (diff)
convert tabs to 4 spaces
bzr revid: christophe@tinyerp.com-20080722142436-143iu4ryy47w3av0
Diffstat (limited to 'bin/addons/base/ir/workflow/workflow.py')
-rw-r--r--bin/addons/base/ir/workflow/workflow.py260
1 files changed, 130 insertions, 130 deletions
diff --git a/bin/addons/base/ir/workflow/workflow.py b/bin/addons/base/ir/workflow/workflow.py
index 6aebf7262ec..24a8e315570 100644
--- a/bin/addons/base/ir/workflow/workflow.py
+++ b/bin/addons/base/ir/workflow/workflow.py
@@ -32,157 +32,157 @@ from tools import graph
import netsvc
class workflow(osv.osv):
- _name = "workflow"
- _table = "wkf"
- _log_access = False
- _columns = {
- 'name': fields.char('Name', size=64, required=True),
- 'osv': fields.char('Resource Model', size=64, required=True),
- 'on_create': fields.boolean('On Create'),
- 'activities': fields.one2many('workflow.activity', 'wkf_id', 'Activities'),
- }
- _defaults = {
- 'on_create': lambda *a: True
- }
+ _name = "workflow"
+ _table = "wkf"
+ _log_access = False
+ _columns = {
+ 'name': fields.char('Name', size=64, required=True),
+ 'osv': fields.char('Resource Model', size=64, required=True),
+ 'on_create': fields.boolean('On Create'),
+ 'activities': fields.one2many('workflow.activity', 'wkf_id', 'Activities'),
+ }
+ _defaults = {
+ 'on_create': lambda *a: True
+ }
- def write(self, cr, user, ids, vals, context=None):
- if not context:
- context={}
- wf_service = netsvc.LocalService("workflow")
- wf_service.clear_cache(cr, user)
- return super(workflow, self).write(cr, user, ids, vals, context=context)
+ def write(self, cr, user, ids, vals, context=None):
+ if not context:
+ context={}
+ wf_service = netsvc.LocalService("workflow")
+ wf_service.clear_cache(cr, user)
+ return super(workflow, self).write(cr, user, ids, vals, context=context)
- #
- # scale = [stepx, stepy, posx, posy ]
- #
+ #
+ # scale = [stepx, stepy, posx, posy ]
+ #
- def graph_get(self, cr, uid, id, scale, context={}):
+ def graph_get(self, cr, uid, id, scale, context={}):
- nodes= []
- transitions = []
- start = []
- tres = {}
- workflow = self.browse(cr, uid, id, context)
- for a in workflow.activities:
- nodes.append((a.id,a.name))
- if a.flow_start:
- start.append((a.id,a.name))
- for t in a.out_transitions:
- transitions.append( ((a.id,a.name), (t.act_to.id,t.act_to.name)) )
- tres[t.id] = (a.id,t.act_to.id)
- g = graph(nodes, transitions)
- g.process(start)
- g.scale(*scale)
- result = g.result_get()
- results = {}
+ nodes= []
+ transitions = []
+ start = []
+ tres = {}
+ workflow = self.browse(cr, uid, id, context)
+ for a in workflow.activities:
+ nodes.append((a.id,a.name))
+ if a.flow_start:
+ start.append((a.id,a.name))
+ for t in a.out_transitions:
+ transitions.append( ((a.id,a.name), (t.act_to.id,t.act_to.name)) )
+ tres[t.id] = (a.id,t.act_to.id)
+ g = graph(nodes, transitions)
+ g.process(start)
+ g.scale(*scale)
+ result = g.result_get()
+ results = {}
- for r in result.items():
- r[1]['name'] = r[0][1]
- results[str(r[0][0])] = r[1]
- return {'node': results, 'transition': tres}
+ for r in result.items():
+ r[1]['name'] = r[0][1]
+ results[str(r[0][0])] = r[1]
+ return {'node': results, 'transition': tres}
- def create(self, cr, user, vals, context=None):
- if not context:
- context={}
- wf_service = netsvc.LocalService("workflow")
- wf_service.clear_cache(cr, user)
- return super(workflow, self).create(cr, user, vals, context=context)
+ def create(self, cr, user, vals, context=None):
+ if not context:
+ context={}
+ wf_service = netsvc.LocalService("workflow")
+ wf_service.clear_cache(cr, user)
+ return super(workflow, self).create(cr, user, vals, context=context)
workflow()
class wkf_activity(osv.osv):
- _name = "workflow.activity"
- _table = "wkf_activity"
- _log_access = False
- _columns = {
- 'name': fields.char('Name', size=64, required=True),
- 'wkf_id': fields.many2one('workflow', 'Workflow', required=True, select=True, ondelete='cascade'),
- 'split_mode': fields.selection([('XOR', 'Xor'), ('OR','Or'), ('AND','And')], 'Split Mode', size=3, required=True),
- 'join_mode': fields.selection([('XOR', 'Xor'), ('AND', 'And')], 'Join Mode', size=3, required=True),
- 'kind': fields.selection([('dummy', 'Dummy'), ('function', 'Function'), ('subflow', 'Subflow'), ('stopall', 'Stop All')], 'Kind', size=64, required=True),
- 'action': fields.text('Python Action'),
- 'action_id': fields.many2one('ir.actions.server', 'Server Action', ondelete='set null'),
- 'flow_start': fields.boolean('Flow Start'),
- 'flow_stop': fields.boolean('Flow Stop'),
- 'subflow_id': fields.many2one('workflow', 'Subflow'),
- 'signal_send': fields.char('Signal (subflow.*)', size=32),
- 'out_transitions': fields.one2many('workflow.transition', 'act_from', 'Outgoing transitions'),
- 'in_transitions': fields.one2many('workflow.transition', 'act_to', 'Incoming transitions'),
- }
- _defaults = {
- 'kind': lambda *a: 'dummy',
- 'join_mode': lambda *a: 'XOR',
- 'split_mode': lambda *a: 'XOR',
- }
+ _name = "workflow.activity"
+ _table = "wkf_activity"
+ _log_access = False
+ _columns = {
+ 'name': fields.char('Name', size=64, required=True),
+ 'wkf_id': fields.many2one('workflow', 'Workflow', required=True, select=True, ondelete='cascade'),
+ 'split_mode': fields.selection([('XOR', 'Xor'), ('OR','Or'), ('AND','And')], 'Split Mode', size=3, required=True),
+ 'join_mode': fields.selection([('XOR', 'Xor'), ('AND', 'And')], 'Join Mode', size=3, required=True),
+ 'kind': fields.selection([('dummy', 'Dummy'), ('function', 'Function'), ('subflow', 'Subflow'), ('stopall', 'Stop All')], 'Kind', size=64, required=True),
+ 'action': fields.text('Python Action'),
+ 'action_id': fields.many2one('ir.actions.server', 'Server Action', ondelete='set null'),
+ 'flow_start': fields.boolean('Flow Start'),
+ 'flow_stop': fields.boolean('Flow Stop'),
+ 'subflow_id': fields.many2one('workflow', 'Subflow'),
+ 'signal_send': fields.char('Signal (subflow.*)', size=32),
+ 'out_transitions': fields.one2many('workflow.transition', 'act_from', 'Outgoing transitions'),
+ 'in_transitions': fields.one2many('workflow.transition', 'act_to', 'Incoming transitions'),
+ }
+ _defaults = {
+ 'kind': lambda *a: 'dummy',
+ 'join_mode': lambda *a: 'XOR',
+ 'split_mode': lambda *a: 'XOR',
+ }
wkf_activity()
class wkf_transition(osv.osv):
- _table = "wkf_transition"
- _name = "workflow.transition"
- _log_access = False
- _rec_name = 'signal' #TODO: pas top mais bon...
- _columns = {
- 'trigger_model': fields.char('Trigger Type', size=128),
- 'trigger_expr_id': fields.char('Trigger Expr ID', size=128),
- 'signal': fields.char('Signal (button Name)', size=64),
- 'role_id': fields.many2one('res.roles', 'Role Required'),
- 'condition': fields.char('Condition', required=True, size=128),
- 'act_from': fields.many2one('workflow.activity', 'Source Activity', required=True, select=True, ondelete='cascade'),
- 'act_to': fields.many2one('workflow.activity', 'Destination Activity', required=True, select=True, ondelete='cascade'),
- }
- _defaults = {
- 'condition': lambda *a: 'True',
- }
+ _table = "wkf_transition"
+ _name = "workflow.transition"
+ _log_access = False
+ _rec_name = 'signal' #TODO: pas top mais bon...
+ _columns = {
+ 'trigger_model': fields.char('Trigger Type', size=128),
+ 'trigger_expr_id': fields.char('Trigger Expr ID', size=128),
+ 'signal': fields.char('Signal (button Name)', size=64),
+ 'role_id': fields.many2one('res.roles', 'Role Required'),
+ 'condition': fields.char('Condition', required=True, size=128),
+ 'act_from': fields.many2one('workflow.activity', 'Source Activity', required=True, select=True, ondelete='cascade'),
+ 'act_to': fields.many2one('workflow.activity', 'Destination Activity', required=True, select=True, ondelete='cascade'),
+ }
+ _defaults = {
+ 'condition': lambda *a: 'True',
+ }
wkf_transition()
class wkf_instance(osv.osv):
- _table = "wkf_instance"
- _name = "workflow.instance"
- _rec_name = 'res_type'
- _log_access = False
- _columns = {
- 'wkf_id': fields.many2one('workflow', 'Workflow', ondelete='restrict'),
- 'uid': fields.integer('User ID'),
- 'res_id': fields.integer('Resource ID'),
- 'res_type': fields.char('Resource Model', size=64),
- 'state': fields.char('State', size=32),
- }
- def _auto_init(self, cr, context={}):
- super(wkf_instance, self)._auto_init(cr, context)
- cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'wkf_instance_res_id_res_type_state_index\'')
- if not cr.fetchone():
- cr.execute('CREATE INDEX wkf_instance_res_id_res_type_state_index ON wkf_instance (res_id, res_type, state)')
- cr.commit()
+ _table = "wkf_instance"
+ _name = "workflow.instance"
+ _rec_name = 'res_type'
+ _log_access = False
+ _columns = {
+ 'wkf_id': fields.many2one('workflow', 'Workflow', ondelete='restrict'),
+ 'uid': fields.integer('User ID'),
+ 'res_id': fields.integer('Resource ID'),
+ 'res_type': fields.char('Resource Model', size=64),
+ 'state': fields.char('State', size=32),
+ }
+ def _auto_init(self, cr, context={}):
+ super(wkf_instance, self)._auto_init(cr, context)
+ cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'wkf_instance_res_id_res_type_state_index\'')
+ if not cr.fetchone():
+ cr.execute('CREATE INDEX wkf_instance_res_id_res_type_state_index ON wkf_instance (res_id, res_type, state)')
+ cr.commit()
wkf_instance()
class wkf_workitem(osv.osv):
- _table = "wkf_workitem"
- _name = "workflow.workitem"
- _log_access = False
- _rec_name = 'state'
- _columns = {
- 'act_id': fields.many2one('workflow.activity', 'Activity', required=True, ondelete="cascade"),
- 'subflow_id': fields.many2one('workflow.instance', 'Subflow', ondelete="cascade"),
- 'inst_id': fields.many2one('workflow.instance', 'Instance', required=True, ondelete="cascade", select=1),
- 'state': fields.char('State', size=64),
- }
+ _table = "wkf_workitem"
+ _name = "workflow.workitem"
+ _log_access = False
+ _rec_name = 'state'
+ _columns = {
+ 'act_id': fields.many2one('workflow.activity', 'Activity', required=True, ondelete="cascade"),
+ 'subflow_id': fields.many2one('workflow.instance', 'Subflow', ondelete="cascade"),
+ 'inst_id': fields.many2one('workflow.instance', 'Instance', required=True, ondelete="cascade", select=1),
+ 'state': fields.char('State', size=64),
+ }
wkf_workitem()
class wkf_triggers(osv.osv):
- _table = "wkf_triggers"
- _name = "workflow.triggers"
- _log_access = False
- _columns = {
- 'res_id': fields.integer('Resource ID', size=128),
- 'model': fields.char('Model', size=128),
- 'instance_id': fields.many2one('workflow.instance', 'Destination Instance', ondelete="cascade"),
- 'workitem_id': fields.many2one('workflow.workitem', 'Workitem', required=True, ondelete="cascade"),
- }
- def _auto_init(self, cr, context={}):
- super(wkf_triggers, self)._auto_init(cr, context)
- cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'wkf_triggers_res_id_model_index\'')
- if not cr.fetchone():
- cr.execute('CREATE INDEX wkf_triggers_res_id_model_index ON wkf_triggers (res_id, model)')
- cr.commit()
+ _table = "wkf_triggers"
+ _name = "workflow.triggers"
+ _log_access = False
+ _columns = {
+ 'res_id': fields.integer('Resource ID', size=128),
+ 'model': fields.char('Model', size=128),
+ 'instance_id': fields.many2one('workflow.instance', 'Destination Instance', ondelete="cascade"),
+ 'workitem_id': fields.many2one('workflow.workitem', 'Workitem', required=True, ondelete="cascade"),
+ }
+ def _auto_init(self, cr, context={}):
+ super(wkf_triggers, self)._auto_init(cr, context)
+ cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'wkf_triggers_res_id_model_index\'')
+ if not cr.fetchone():
+ cr.execute('CREATE INDEX wkf_triggers_res_id_model_index ON wkf_triggers (res_id, model)')
+ cr.commit()
wkf_triggers()