This question has been flagged
1 Reply
8149 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)
Avatar
Discard
Author Best Answer

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.

Avatar
Discard