Public bug reported:

OpenERP will crash if imported model does not have any 'active' column

To test it try calling:
sock.execute(dbname, uid, pwd, 'ir.ui.view', 'search', 
[('active','in',['True','False'])])

  File "/usr/local/openerp/6.0/server/bin/netsvc.py", line 489, in dispatch
    result = ExportService.getService(service_name).dispatch(method, auth, 
params)
  File "/usr/local/openerp/6.0/server/bin/service/web_services.py", line 599, 
in dispatch
    res = fn(db, uid, *params)
  File "/usr/local/openerp/6.0/server/bin/osv/osv.py", line 122, in wrapper
    return f(self, dbname, *args, **kwargs)
  File "/usr/local/openerp/6.0/server/bin/osv/osv.py", line 176, in execute
    res = self.execute_cr(cr, uid, obj, method, *args, **kw)
  File "/usr/local/openerp/6.0/server/bin/osv/osv.py", line 167, in execute_cr
    return getattr(object, method)(cr, uid, *args, **kw)
  File "/usr/local/openerp/6.0/server/bin/osv/orm.py", line 870, in import_data
    process_liness(self, datas, [], current_module, self._name, fields_def, 
position=position)
  File "/usr/local/openerp/6.0/server/bin/osv/orm.py", line 789, in 
process_liness
    data_res_id = _get_id(model_name, line[i], current_module, '.id')
  File "/usr/local/openerp/6.0/server/bin/osv/orm.py", line 726, in _get_id
    ids = obj_model.search(cr, uid, [('id', '=', 
int(id)),('active','in',['True','False'])], context=context)
  File "/usr/local/openerp/6.0/server/bin/osv/orm.py", line 1745, in search
    return self._search(cr, user, args, offset=offset, limit=limit, 
order=order, context=context, count=count)
  File "/usr/local/openerp/6.0/server/bin/osv/orm.py", line 4016, in _search
    query = self._where_calc(cr, user, args, context=context)
  File "/usr/local/openerp/6.0/server/bin/osv/orm.py", line 3871, in _where_calc
    where_clause, where_params = e.to_sql()
  File "/usr/local/openerp/6.0/server/bin/osv/expression.py", line 490, in 
to_sql
    q, p = self.__leaf_to_sql(e, table)
  File "/usr/local/openerp/6.0/server/bin/osv/expression.py", line 416, in 
__leaf_to_sql
    instr = ','.join([table._columns[left]._symbol_set[0]] * len_after)
KeyError: 'active'

See: http://bazaar.launchpad.net/~openerp/openobject-server/6.0/revision/3547
'active_test': True in the context should have been used instead of this ....

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

-- 
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to OpenERP Project Group.
https://bugs.launchpad.net/bugs/904541

Title:
  import_data regression: merge revision 3547

Status in OpenERP Server:
  New

Bug description:
  OpenERP will crash if imported model does not have any 'active' column

  To test it try calling:
  sock.execute(dbname, uid, pwd, 'ir.ui.view', 'search', 
[('active','in',['True','False'])])

    File "/usr/local/openerp/6.0/server/bin/netsvc.py", line 489, in dispatch
      result = ExportService.getService(service_name).dispatch(method, auth, 
params)
    File "/usr/local/openerp/6.0/server/bin/service/web_services.py", line 599, 
in dispatch
      res = fn(db, uid, *params)
    File "/usr/local/openerp/6.0/server/bin/osv/osv.py", line 122, in wrapper
      return f(self, dbname, *args, **kwargs)
    File "/usr/local/openerp/6.0/server/bin/osv/osv.py", line 176, in execute
      res = self.execute_cr(cr, uid, obj, method, *args, **kw)
    File "/usr/local/openerp/6.0/server/bin/osv/osv.py", line 167, in execute_cr
      return getattr(object, method)(cr, uid, *args, **kw)
    File "/usr/local/openerp/6.0/server/bin/osv/orm.py", line 870, in 
import_data
      process_liness(self, datas, [], current_module, self._name, fields_def, 
position=position)
    File "/usr/local/openerp/6.0/server/bin/osv/orm.py", line 789, in 
process_liness
      data_res_id = _get_id(model_name, line[i], current_module, '.id')
    File "/usr/local/openerp/6.0/server/bin/osv/orm.py", line 726, in _get_id
      ids = obj_model.search(cr, uid, [('id', '=', 
int(id)),('active','in',['True','False'])], context=context)
    File "/usr/local/openerp/6.0/server/bin/osv/orm.py", line 1745, in search
      return self._search(cr, user, args, offset=offset, limit=limit, 
order=order, context=context, count=count)
    File "/usr/local/openerp/6.0/server/bin/osv/orm.py", line 4016, in _search
      query = self._where_calc(cr, user, args, context=context)
    File "/usr/local/openerp/6.0/server/bin/osv/orm.py", line 3871, in 
_where_calc
      where_clause, where_params = e.to_sql()
    File "/usr/local/openerp/6.0/server/bin/osv/expression.py", line 490, in 
to_sql
      q, p = self.__leaf_to_sql(e, table)
    File "/usr/local/openerp/6.0/server/bin/osv/expression.py", line 416, in 
__leaf_to_sql
      instr = ','.join([table._columns[left]._symbol_set[0]] * len_after)
  KeyError: 'active'

  See: http://bazaar.launchpad.net/~openerp/openobject-server/6.0/revision/3547
  'active_test': True in the context should have been used instead of this ....

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

_______________________________________________
Mailing list: https://launchpad.net/~c2c-oerpscenario
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~c2c-oerpscenario
More help   : https://help.launchpad.net/ListHelp

Reply via email to