diff options
| author | Christophe Simonis <christophe@tinyerp.com> | 2008-07-22 16:24:36 +0200 |
|---|---|---|
| committer | Christophe Simonis <christophe@tinyerp.com> | 2008-07-22 16:24:36 +0200 |
| commit | 2dd9723b8b3d38df8c8962300ab67afffa5cdaaa (patch) | |
| tree | 13dbea91b265af5ad775af16efcdef4ae6ef962c /bin/addons/base/ir/workflow/workflow.py | |
| parent | c5c7c2ef07b346b72eb5a48d6e8cc7a433fba2e8 (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.py | 260 |
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() |
