← Back to team overview

openerp-india team mailing list archive

[Bug 1098076] Re: procurement_order.message field to small

 

*** This bug is a duplicate of bug 1079548 ***
    https://bugs.launchpad.net/bugs/1079548

** This bug has been marked a duplicate of bug 1079548
   Message field(char) not proper on procurement as per the coding convention.

** This bug is no longer a duplicate of bug 1079548
   Message field(char) not proper on procurement as per the coding convention.

** This bug has been marked a duplicate of bug 1079548
   Message field(char) not proper on procurement as per the coding convention.

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

Title:
  procurement_order.message field to small

Status in OpenERP Addons (modules):
  New

Bug description:
  After confirming a sale order i get this message if a product title on
  the order is long and not on stock:

  2013-01-09 18:33:06,367 1353 ERROR os_prod openerp.sql_db: bad query: update procurement_order set message='Beschaffung ''BACHMANN 48,3cm 19Zoll Steckdosenleiste 8fach 2m mit IEC320 C14 Stecker rote Schukodosenei
  nsaetze'' ist im Ausnahmezustand Nicht genug Lagerbestand.' where id=3
  Traceback (most recent call last):
    File "/opt/openerp/server/openerp/sql_db.py", line 227, in execute
      res = self._obj.execute(query, params)
  DataError: value too long for type character varying(124)

  2013-01-09 18:33:06,367 1353 ERROR os_prod openerp.tools.safe_eval: Cannot eval u'check_make_to_stock()'
  Traceback (most recent call last):
    File "/opt/openerp/server/openerp/tools/safe_eval.py", line 241, in safe_eval
      return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
    File "", line 1, in <module>
    File "/opt/openerp/server/openerp/osv/orm.py", line 374, in function_proxy
      return attr(self._cr, self._uid, [self._id], *args, **kwargs)
    File "/opt/openerp/server/openerp/addons/procurement/procurement.py", line 257, in check_make_to_stock
      ok = ok and self._check_make_to_stock_product(cr, uid, procurement, context)
    File "/opt/openerp/server/openerp/addons/procurement/procurement.py", line 370, in _check_make_to_stock_product
      cr.execute('update procurement_order set message=%s where id=%s', (message, procurement.id))
    File "/opt/openerp/server/openerp/sql_db.py", line 162, in wrapper
      return f(self, *args, **kwargs)
    File "/opt/openerp/server/openerp/sql_db.py", line 227, in execute
      res = self._obj.execute(query, params)
  DataError: value too long for type character varying(124)

  2013-01-09 18:33:06,368 1353 ERROR os_prod openerp.tools.safe_eval: Cannot eval u'action_ship_create()'
  Traceback (most recent call last):
    File "/opt/openerp/server/openerp/tools/safe_eval.py", line 241, in safe_eval
      return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
    File "", line 1, in <module>
    File "/opt/openerp/server/openerp/osv/orm.py", line 374, in function_proxy
      return attr(self._cr, self._uid, [self._id], *args, **kwargs)
    File "/opt/openerp/server/openerp/addons/sale_stock/sale_stock.py", line 420, in action_ship_create
      self._create_pickings_and_procurements(cr, uid, order, order.order_line, None, context=context)
    File "/opt/openerp/server/openerp/addons/sale_stock/sale_stock.py", line 403, in _create_pickings_and_procurements
      wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
    File "/opt/openerp/server/openerp/workflow/wkf_service.py", line 119, in trg_validate
      res2 = instance.validate(cr, id, ident, signal)
    File "/opt/openerp/server/openerp/workflow/instance.py", line 43, in validate
      workitem.process(cr, witem, ident, signal, force_running, stack=stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
      ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
      _join_test(cr, t[0], t[1], ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
      create(cr,[activity], inst_id, ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
      process(cr, res, ident, stack=stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
      ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
      _join_test(cr, t[0], t[1], ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
      create(cr,[activity], inst_id, ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
      process(cr, res, ident, stack=stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
      ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
      _join_test(cr, t[0], t[1], ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
      create(cr,[activity], inst_id, ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
      process(cr, res, ident, stack=stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
      ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 157, in _split_test
      if wkf_expr.check(cr, workitem, ident, transition,signal):
    File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 80, in check
      return _eval_expr(cr, ident, workitem, transition['condition'])
    File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
      ret = eval(line, env, nocopy=True)
    File "/opt/openerp/server/openerp/tools/safe_eval.py", line 241, in safe_eval
      return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
    File "", line 1, in <module>
    File "/opt/openerp/server/openerp/osv/orm.py", line 374, in function_proxy
      return attr(self._cr, self._uid, [self._id], *args, **kwargs)
    File "/opt/openerp/server/openerp/addons/procurement/procurement.py", line 257, in check_make_to_stock
      ok = ok and self._check_make_to_stock_product(cr, uid, procurement, context)
    File "/opt/openerp/server/openerp/addons/procurement/procurement.py", line 370, in _check_make_to_stock_product
      cr.execute('update procurement_order set message=%s where id=%s', (message, procurement.id))
    File "/opt/openerp/server/openerp/sql_db.py", line 162, in wrapper
      return f(self, *args, **kwargs)
    File "/opt/openerp/server/openerp/sql_db.py", line 227, in execute
      res = self._obj.execute(query, params)
  DataError: value too long for type character varying(124)

  2013-01-09 18:33:06,370 1353 ERROR os_prod openerp.osv.osv: Uncaught exception
  Traceback (most recent call last):
    File "/opt/openerp/server/openerp/osv/osv.py", line 123, in wrapper
      return f(self, dbname, *args, **kwargs)
    File "/opt/openerp/server/openerp/osv/osv.py", line 179, in execute
      res = self.execute_cr(cr, uid, obj, method, *args, **kw)
    File "/opt/openerp/server/openerp/osv/osv.py", line 166, in execute_cr
      return getattr(object, method)(cr, uid, *args, **kw)
    File "/opt/openerp/server/openerp/addons/portal_sale/portal_sale.py", line 76, in action_button_confirm
      return super(sale_order, self).action_button_confirm(cr, uid, ids, context=context)
    File "/opt/openerp/server/openerp/addons/sale/sale.py", line 571, in action_button_confirm
      wf_service.trg_validate(uid, 'sale.order', ids[0], 'order_confirm', cr)
    File "/opt/openerp/server/openerp/workflow/wkf_service.py", line 119, in trg_validate
      res2 = instance.validate(cr, id, ident, signal)
    File "/opt/openerp/server/openerp/workflow/instance.py", line 43, in validate
      workitem.process(cr, witem, ident, signal, force_running, stack=stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
      ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
      _join_test(cr, t[0], t[1], ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
      create(cr,[activity], inst_id, ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
      process(cr, res, ident, stack=stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
      ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
      _join_test(cr, t[0], t[1], ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
      create(cr,[activity], inst_id, ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
      process(cr, res, ident, stack=stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
      ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
      _join_test(cr, t[0], t[1], ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
      create(cr,[activity], inst_id, ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
      process(cr, res, ident, stack=stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 52, in process
      result = _execute(cr, workitem, activity, ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 106, in _execute
      returned_action = wkf_expr.execute(cr, ident, workitem, activity)
    File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 67, in execute
      return _eval_expr(cr, ident, workitem, activity['action'])
    File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
      ret = eval(line, env, nocopy=True)
    File "/opt/openerp/server/openerp/tools/safe_eval.py", line 241, in safe_eval
      return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
    File "", line 1, in <module>
    File "/opt/openerp/server/openerp/osv/orm.py", line 374, in function_proxy
      return attr(self._cr, self._uid, [self._id], *args, **kwargs)
    File "/opt/openerp/server/openerp/addons/sale_stock/sale_stock.py", line 420, in action_ship_create
      self._create_pickings_and_procurements(cr, uid, order, order.order_line, None, context=context)
    File "/opt/openerp/server/openerp/addons/sale_stock/sale_stock.py", line 403, in _create_pickings_and_procurements
      wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
    File "/opt/openerp/server/openerp/workflow/wkf_service.py", line 119, in trg_validate
      res2 = instance.validate(cr, id, ident, signal)
    File "/opt/openerp/server/openerp/workflow/instance.py", line 43, in validate
      workitem.process(cr, witem, ident, signal, force_running, stack=stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
      ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
      _join_test(cr, t[0], t[1], ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
      create(cr,[activity], inst_id, ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
      process(cr, res, ident, stack=stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
      ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
      _join_test(cr, t[0], t[1], ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
      create(cr,[activity], inst_id, ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
      process(cr, res, ident, stack=stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
      ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 175, in _split_test
      _join_test(cr, t[0], t[1], ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 183, in _join_test
      create(cr,[activity], inst_id, ident, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 40, in create
      process(cr, res, ident, stack=stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 60, in process
      ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
    File "/opt/openerp/server/openerp/workflow/workitem.py", line 157, in _split_test
      if wkf_expr.check(cr, workitem, ident, transition,signal):
    File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 80, in check
      return _eval_expr(cr, ident, workitem, transition['condition'])
    File "/opt/openerp/server/openerp/workflow/wkf_expr.py", line 57, in _eval_expr
      ret = eval(line, env, nocopy=True)
    File "/opt/openerp/server/openerp/tools/safe_eval.py", line 241, in safe_eval
      return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
    File "", line 1, in <module>
    File "/opt/openerp/server/openerp/osv/orm.py", line 374, in function_proxy
      return attr(self._cr, self._uid, [self._id], *args, **kwargs)
    File "/opt/openerp/server/openerp/addons/procurement/procurement.py", line 257, in check_make_to_stock
      ok = ok and self._check_make_to_stock_product(cr, uid, procurement, context)
    File "/opt/openerp/server/openerp/addons/procurement/procurement.py", line 370, in _check_make_to_stock_product
      cr.execute('update procurement_order set message=%s where id=%s', (message, procurement.id))
    File "/opt/openerp/server/openerp/sql_db.py", line 162, in wrapper
      return f(self, *args, **kwargs)
    File "/opt/openerp/server/openerp/sql_db.py", line 227, in execute
      res = self._obj.execute(query, params)
  DataError: value too long for type character varying(124)

  This is because the generated message is too long for the message
  field.

  To reproduce this:

  - Create an Produkt "Make from Stock" with the title: "BACHMANN 48,3cm 19Zoll Steckdosenleiste 8fach 2m mit IEC320 C14 Stecker rote Schukodoseneinsaetze"
  - Sale it on a sale order
  - Confirm the order

  To fix the problem, define a larger db field for "message" in
  procurement_order (actual varchar(124)).

  We are using: openerp-7.0-20130102-002519

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


References