← Back to team overview

c2c-oerpscenario team mailing list archive

Re: [Bug 797089] Re: bug with share_create object

 

On 07/01/2011 11:06 AM, Dominique Chabord wrote:
>> Unfortunately, being able to execute several web client instance
>> within the same directory has never been a documented feature as
>> far as I know. "
> 
> for the record, here is the time when this feature was supported by
> the author of eTiny aka openerp-web 
> http://www.openerp.com/forum/topic5216.html

Thanks for the reference. Doesn't change what I said, it was not a
"designed feature", it just happened to be possible, and Amit told you
so, to help you in the setup of your SaaS service.

Moreover, even it if was a fully documented technical spec, these can
change for each new major version. For example you can currently run
OpenERP with postgres 8.3 and python 2.5, and perhaps for 6.1 we'll drop
that capability and required postgres 8.4 or python 2.6.
No, that won't be a "regression", just a change, because there will be
nowhere in the documentation where we will say: You can run all OpenERP
versions with Python 2.5.

If there is a regression, it's in your own SaaS service, that failed to
properly adapt to 6.0, even if you only noticed it now, with the
(not-released-yet) 6.0.3. OpenERP is not released as a DIY SaaS package,
so if you want to run it as such, do your homework, please.
End of story.


PS: You could use hardlinks for the common part of the web client source
(e.g. "cp -al"), making them immutable by the users, and let them upload
new web addons normally. You could save almost 100% of the disk space.
DISCLAIMER: It's not a documented feature. This advice is distributed in
the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
the implied warranty of FITNESS FOR A PARTICULAR PURPOSE.

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

Title:
  bug with share_create object

Status in OpenERP Web Client:
  Invalid

Bug description:
  in trunk (tested on chrome and web client)

  create a db. In configuration wizard, install extra tools and then, web share. 
  I got a bug : 

  In server side : 
  ----------------------------

  [2011-06-14 10:52:24,172][?] ERROR:web-services:Uncaught exception
  Traceback (most recent call last):
    File "/home/aline/openerp/server/trunk/openerp/osv/osv.py", line 122, in wrapper
      return f(self, dbname, *args, **kwargs)
    File "/home/aline/openerp/server/trunk/openerp/osv/osv.py", line 176, in execute
      res = self.execute_cr(cr, uid, obj, method, *args, **kw)
    File "/home/aline/openerp/server/trunk/openerp/osv/osv.py", line 167, in execute_cr
      return getattr(object, method)(cr, uid, *args, **kw)
  AttributeError: 'share_create' object has no attribute 'has_share'



  
  <type 'exceptions.AttributeError'>
  Python 2.6.5: /usr/bin/python
  Tue Jun 14 10:52:54 2011

  A problem occurred in a Python script.  Here is the sequence of
  function calls leading up to the error, in the order they occurred.

   /home/aline/openerp/server/trunk/openerp/netsvc.py in dispatch(self=<TinySocketClientThread(netrpc-client-127.0.0.1:47265, started 140017077249792)>, service_name='object', method='execute', params=('testbug_14juin', 1, u'a', 'share.wizard', 'has_share'))
    426             self.log('service', tuple(replace_request_password(params)), depth=(None if logger.isEnabledFor(logging.DEBUG_RPC_ANSWER) else 1), fn='%s.%s'%(service_name,method))
    427             auth = getattr(self, 'auth_provider', None)
    428             result = ExportService.getService(service_name).dispatch(method, auth, params)
    429             self.log('result', result, channel=logging.DEBUG_RPC_ANSWER)
    430             return result
  result undefined
  global ExportService = <class 'openerp.netsvc.ExportService'>
  ExportService.getService = <bound method type.getService of <class 'openerp.netsvc.ExportService'>>
  service_name = 'object'
  ).dispatch undefined
  method = 'execute'
  auth = None
  params = ('testbug_14juin', 1, u'a', 'share.wizard', 'has_share')

   /home/aline/openerp/server/trunk/openerp/service/web_services.py in dispatch(self=<openerp.service.web_services.objects_proxy object>, method='execute', auth=None, params=('share.wizard', 'has_share'))
    577         ls = netsvc.LocalService('object_proxy')
    578         fn = getattr(ls, method)
    579         res = fn(db, uid, *params)
    580         return res
    581 
  res undefined
  fn = <bound method object_proxy.execute of <openerp.osv.osv.object_proxy object>>
  db = 'testbug_14juin'
  uid = 1
  params = ('share.wizard', 'has_share')

   /home/aline/openerp/server/trunk/openerp/osv/osv.py in wrapper(self=<openerp.osv.osv.object_proxy object>, dbname='testbug_14juin', *args=(1, 'share.wizard', 'has_share'), **kwargs={})
    120                 if pooler.get_pool(dbname)._init:
    121                     raise except_osv('Database not ready', 'Currently, this database is not fully loaded and can not be used.')
    122                 return f(self, dbname, *args, **kwargs)
    123             except orm.except_orm, inst:
    124                 if inst.name == 'AccessError':
  f = <function execute>
  self = <openerp.osv.osv.object_proxy object>
  dbname = 'testbug_14juin'
  args = (1, 'share.wizard', 'has_share')
  kwargs = {}

   /home/aline/openerp/server/trunk/openerp/osv/osv.py in execute(self=<openerp.osv.osv.object_proxy object>, db='testbug_14juin', uid=1, obj='share.wizard', method='has_share', *args=(), **kw={})
    174                 if method.startswith('_'):
    175                     raise except_osv('Access Denied', 'Private methods (such as %s) cannot be called remotely.' % (method,))
    176                 res = self.execute_cr(cr, uid, obj, method, *args, **kw)
    177                 if res is None:
    178                     self.logger.warning('The method %s of the object %s can not return `None` !', method, obj)
  res undefined
  self = <openerp.osv.osv.object_proxy object>
  self.execute_cr = <bound method object_proxy.execute_cr of <openerp.osv.osv.object_proxy object>>
  cr = <openerp.sql_db.Cursor object>
  uid = 1
  obj = 'share.wizard'
  method = 'has_share'
  args = ()
  kw = {}

   /home/aline/openerp/server/trunk/openerp/osv/osv.py in execute_cr(self=<openerp.osv.osv.object_proxy object>, cr=<openerp.sql_db.Cursor object>, uid=1, obj='share.wizard', method='has_share', *args=(), **kw={})
    165         if not object:
    166             raise except_osv('Object Error', 'Object %s doesn\'t exist' % str(obj))
    167         return getattr(object, method)(cr, uid, *args, **kw)
    168 
    169     @check
  builtingetattr = <built-in function getattr>
  object = <share.wizard.share_wizard.share_create object>
  method = 'has_share'
  cr = <openerp.sql_db.Cursor object>
  uid = 1
  args = ()
  kw = {}
  <type 'exceptions.AttributeError'>: 'share_create' object has no attribute 'has_share'
      __class__ = <type 'exceptions.AttributeError'>
      __delattr__ = <method-wrapper '__delattr__' of exceptions.AttributeError object>
      __dict__ = {}
      __doc__ = 'Attribute not found.'
      __format__ = <built-in method __format__ of exceptions.AttributeError object>
      __getattribute__ = <method-wrapper '__getattribute__' of exceptions.AttributeError object>
      __getitem__ = <method-wrapper '__getitem__' of exceptions.AttributeError object>
      __getslice__ = <method-wrapper '__getslice__' of exceptions.AttributeError object>
      __hash__ = <method-wrapper '__hash__' of exceptions.AttributeError object>
      __init__ = <method-wrapper '__init__' of exceptions.AttributeError object>
      __new__ = <built-in method __new__ of type object>
      __reduce__ = <built-in method __reduce__ of exceptions.AttributeError object>
      __reduce_ex__ = <built-in method __reduce_ex__ of exceptions.AttributeError object>
      __repr__ = <method-wrapper '__repr__' of exceptions.AttributeError object>
      __setattr__ = <method-wrapper '__setattr__' of exceptions.AttributeError object>
      __setstate__ = <built-in method __setstate__ of exceptions.AttributeError object>
      __sizeof__ = <built-in method __sizeof__ of exceptions.AttributeError object>
      __str__ = <method-wrapper '__str__' of exceptions.AttributeError object>
      __subclasshook__ = <built-in method __subclasshook__ of type object>
      __unicode__ = <built-in method __unicode__ of exceptions.AttributeError object>
      args = ("'share_create' object has no attribute 'has_share'",)
      message = "'share_create' object has no attribute 'has_share'"

  The above is a description of an error in a Python program.  Here is
  the original traceback:

  Traceback (most recent call last):
    File "/home/aline/openerp/server/trunk/openerp/netsvc.py", line 428, in dispatch
      result = ExportService.getService(service_name).dispatch(method, auth, params)
    File "/home/aline/openerp/server/trunk/openerp/service/web_services.py", line 579, in dispatch
      res = fn(db, uid, *params)
    File "/home/aline/openerp/server/trunk/openerp/osv/osv.py", line 122, in wrapper
      return f(self, dbname, *args, **kwargs)
    File "/home/aline/openerp/server/trunk/openerp/osv/osv.py", line 176, in execute
      res = self.execute_cr(cr, uid, obj, method, *args, **kw)
    File "/home/aline/openerp/server/trunk/openerp/osv/osv.py", line 167, in execute_cr
      return getattr(object, method)(cr, uid, *args, **kw)
  AttributeError: 'share_create' object has no attribute 'has_share'

To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-client-web/+bug/797089/+subscriptions


References