Workflow function activities explode if they contain empty lines

Bug #1035976 reported by Christophe Combelles
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Odoo Server (MOVED TO GITHUB)
Fix Committed
Medium
OpenERP's Framework R&D

Bug Description

- install a fresh base, for example with the 'account' module.
- Modify the invoice workflow 'open' activity, just by adding a newline at the end, or by inserting blank lines
- create an invoice
- try to validate the invoice

→ traceback

Traceback (most recent call last):
  File "/home/dadafkas/projets/anybox/bug/parts/openerp-6.1-1/openerp/osv/osv.py", line 121, in wrapper
    return f(self, dbname, *args, **kwargs)
  File "/home/dadafkas/projets/anybox/bug/parts/openerp-6.1-1/openerp/osv/osv.py", line 196, in exec_workflow
    res = self.exec_workflow_cr(cr, uid, obj, method, *args)
  File "/home/dadafkas/projets/anybox/bug/parts/openerp-6.1-1/openerp/osv/osv.py", line 189, in exec_workflow_cr
    return wf_service.trg_validate(uid, obj, args[0], method, cr)
  File "/home/dadafkas/projets/anybox/bug/parts/openerp-6.1-1/openerp/workflow/wkf_service.py", line 124, in trg_validate
    res2 = instance.validate(cr, id, ident, signal)
  File "/home/dadafkas/projets/anybox/bug/parts/openerp-6.1-1/openerp/workflow/instance.py", line 48, in validate
    workitem.process(cr, witem, ident, signal, force_running, stack=stack)
  File "/home/dadafkas/projets/anybox/bug/parts/openerp-6.1-1/openerp/workflow/workitem.py", line 61, in process
    ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
  File "/home/dadafkas/projets/anybox/bug/parts/openerp-6.1-1/openerp/workflow/workitem.py", line 176, in _split_test
    _join_test(cr, t[0], t[1], ident, stack)
  File "/home/dadafkas/projets/anybox/bug/parts/openerp-6.1-1/openerp/workflow/workitem.py", line 184, in _join_test
    create(cr,[activity], inst_id, ident, stack)
  File "/home/dadafkas/projets/anybox/bug/parts/openerp-6.1-1/openerp/workflow/workitem.py", line 41, in create
    process(cr, res, ident, stack=stack)
  File "/home/dadafkas/projets/anybox/bug/parts/openerp-6.1-1/openerp/workflow/workitem.py", line 53, in process
    result = _execute(cr, workitem, activity, ident, stack)
  File "/home/dadafkas/projets/anybox/bug/parts/openerp-6.1-1/openerp/workflow/workitem.py", line 107, in _execute
    returned_action = wkf_expr.execute(cr, ident, workitem, activity)
  File "/home/dadafkas/projets/anybox/bug/parts/openerp-6.1-1/openerp/workflow/wkf_expr.py", line 68, in execute
    return _eval_expr(cr, ident, workitem, activity['action'])
  File "/home/dadafkas/projets/anybox/bug/parts/openerp-6.1-1/openerp/workflow/wkf_expr.py", line 58, in _eval_expr
    ret = eval(line, env, nocopy=True)
  File "/home/dadafkas/projets/anybox/bug/parts/openerp-6.1-1/openerp/tools/safe_eval.py", line 241, in safe_eval
    return eval(test_expr(expr,_SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
  File "/home/dadafkas/projets/anybox/bug/parts/openerp-6.1-1/openerp/tools/safe_eval.py", line 108, in test_expr
    code_obj = compile(expr, "", mode)
  File "<string>", line 0

Related branches

summary: - Workflow transitions explode if there are newlines in the activity
+ Workflow function activities explode if they contain empty lines
Revision history for this message
Christophe Combelles (ccomb) wrote :

I've pushed a simple fix to lp:~anybox/openobject-server/lp1035976

Changed in openobject-server:
assignee: nobody → OpenERP's Framework R&D (openerp-dev-framework)
importance: Undecided → Medium
status: New → Confirmed
Changed in openobject-server:
status: Confirmed → In Progress
Revision history for this message
Turkesh Patel (openERP) (turkesh-tinyerp) wrote :

Hello,

It has been Fixed in https://code.launchpad.net/~openerp-dev/openobject-server/trunk-bug-1035976-tpa

revision-id: <email address hidden>

revno: 4393

Thanks,
Turkesh Patel

Changed in openobject-server:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.