← Back to team overview

openerp-india team mailing list archive

[Bug 1035976] [NEW] Workflow function activities explode if they contain empty lines

 

Public bug reported:

- 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

** Affects: openobject-server
     Importance: Undecided
         Status: New

** Summary changed:

- Workflow transitions explode if there are newlines in the activity
+ Workflow function activities explode if they contain empty lines

-- 
You received this bug notification because you are a member of OpenERP
Indian Team, which is subscribed to OpenERP Server.
https://bugs.launchpad.net/bugs/1035976

Title:
  Workflow function activities explode if they contain empty lines

Status in OpenERP Server:
  New

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

To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-server/+bug/1035976/+subscriptions


Follow ups

References