Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

3

What is, "Iteration is not allowed on browse_record(res.users, 1)"?

By
Martin
on 4/9/13, 12:54 AM 4,278 views

I'm trying to use XMLRPC to set up a database for initial use, and I am hoping someone can give me a clue about :

  • what this message means?
  • what am I doing wrong?
  • what is Not Implemented (NotImplementedError)
  • why is res_users.py calling into mail_thread.py?
    (mail_group_obj.message_subscribe_users(cr, uid, mail_group_ids, ids, context=context))

This failure happens when I try to set the Technical Features field to True for the Administrator user ...

    key = 'in_group_6'
    val = True

... but immediately beforehand the same command user_model.write(thisUser, {key:val}) is successful with the Timezone field ...

    key = 'tz'
    val = 'America/Detroit'

File ". . . . . . /ResUsers.py", line 72, in update
  user_model.write(thisUser, {key:val})

File ". . . . . . /openerp_client_lib-1.1.1-py2.7.egg/openerplib/main.py", line 313, in proxy
  args, kw)

File ". . . . . . /openerp_client_lib-1.1.1-py2.7.egg/openerplib/main.py", line 180, in proxy
  result = self.connector.send(self.service_name, method, *args)

File ". . . . . . /openerp_client_lib-1.1.1-py2.7.egg/openerplib/main.py", line 83, in send
  return getattr(service, method)(*args)

File ". . /python2.7/xmlrpclib.py", line 1224, in __call__
  return self.__send(self.__name, args)

File ". . /python2.7/xmlrpclib.py", line 1578, in __request
  verbose=self.__verbose

File ". . /python2.7/xmlrpclib.py", line 1264, in request
  return self.single_request(host, handler, request_body, verbose)

File ". . /python2.7/xmlrpclib.py", line 1297, in single_request
  return self.parse_response(response)

File ". . /python2.7/xmlrpclib.py", line 1473, in parse_response
  return u.close()

File ". . /python2.7/xmlrpclib.py", line 793, in close
  raise Fault(**self._stack[0])

xmlrpclib.Fault: 
  Fault Iteration is not allowed on browse_record(res.users, 1): 

Traceback (most recent call last):

File ". . . /openerp/service/wsgi_server.py", line 82, in xmlrpc_return
  result = openerp.netsvc.dispatch_rpc(service, method, params)

File ". . . /openerp/netsvc.py", line 293, in dispatch_rpc      
  result = ExportService.getService(service_name).dispatch(method, params)

File ". . . /openerp/service/web_services.py", line 618, in dispatch
  res = fn(db, uid, *params)

File ". . . /openerp/osv/osv.py", line 188, in execute_kw
  return self.execute(db, uid, obj, method, *args, **kw or {})

File ". . . /openerp/osv/osv.py", line 131, in wrapper
  return f(self, dbname, *args, **kwargs)

File ". . . /openerp/osv/osv.py", line 197, in execute
  res = self.execute_cr(cr, uid, obj, method, *args, **kw)

File ". . . /openerp/osv/osv.py", line 185, in execute_cr
  return getattr(object, method)(cr, uid, *args, **kw)

File ". . . /openerp/addons/mail/res_users.py", line 162, in write
  mail_group_obj.message_subscribe_users(cr, uid, mail_group_ids, ids, context=context)

File ". . . /openerp/addons/mail/mail_thread.py", line 1035, in message_subscribe_users
  partner_ids = [user.partner_id.id for user in self.pool.get(\''res.users\'').browse(cr, uid, user_ids, context=context)]

File ". . . /openerp/osv/orm.py", line 492, in __iter__
  raise NotImplementedError("Iteration is not allowed on %s" % self)

NotImplementedError: Iteration is not allowed on browse_record(res.users, 1)
0

Martin

--Martin--
1978
| 5 6 8
Cornwall, Canada
--Martin--

Analysing, designing, coding and mentoring since 1975. Kilobytes to terabytes. Punch cards to punchy sites. My OpenERP video series: http://www.youtube.com/playlist?list=PLq7op4J183lX44ZlXPiHxUpRvmmRDtxye My Google Speadsheets --> OpenERP Data Pump project: http://martinhbramwell.github.io/GData_OpenERP_Data_Pump My email (with spaces removed) : mhb . warehouseman @ gmail . com

Martin
On 4/7/14, 9:53 PM

Ok, a year has passed and I have finally figured out the answer to this!

Quit using openerplib and user Sebastian Alix's excellent oerplib.

Read Should I use [oerplib] OR [openerp-client-lib] ?

The clue to the defect is :

   File ". . . /openerp/addons/mail/res_users.py", line 162, in write
mail_group_obj.message_subscribe_users(cr, uid, mail_group_ids, ids, context=context)

The openerplib library has no business whatsoever going to the mail addon for that data.

The oerplib library handles it correctly.

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

0 follower(s)

Stats

Asked: 4/9/13, 12:54 AM
Seen: 4278 times
Last updated: 3/16/15, 8:10 AM