← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 676517] Re: xmlrpc interface: inconsistent default arguments

 

The problem concerns addons.
For instance, here's the list of objects where 'name' doesn't default to an empty string (thus requiring one more argument):

> grep -R 'def name_search.*name,' *
addons/analytic/analytic.py:    def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
addons/auction/auction.py:    def name_search(self, cr, user, name, args=None, operator='ilike', context=None):
addons/project_scrum/project_scrum.py:    def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
addons/account/account.py:    def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
addons/account/account.py:    def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
addons/account/account.py:    def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
addons/account/account.py:    def name_search(self, cr, user, name, args=None, operator='ilike', context={}, limit=80):
addons/account/account.py:    def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
addons/account/account.py:    def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
addons/account/account.py:    def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
addons/account/invoice.py:    def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
addons/l10n_be/wizard/l10_be_partner_vat_listing.py:    def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
addons/base/res/partner/partner.py:    def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
addons/base/res/partner/partner.py:    def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
addons/base/res/res_currency.py:    def name_search(self, cr, uid, name, args=[], operator='ilike', context={}, limit=100):

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

Status in OpenObject Server: Incomplete

Bug description:
for overloaded orm methods, default arguments are varying which make some basic xmlrpc calls to fail for some objects and succeed for others.
For instance, "name_search" is declared in orm.py as:
 /
| name_search(self, cr, user, name='', args=None, operator='ilike', context=None, limit=100):
 \
so basically:
 /
| OBJ.xmlrpclib.ServerProxy("http://%s:%u/xmlrpc/object"%(HOST,PORT))
| OBJ.execute(BASE,UID,PASS,NAME,"name_search")
 \
should work for any object name (NAME) in the system, unfortunately, it's not, as some overloaded name_search method don't set all the default values (e.g. 3rd arg name).

Some other calls are also probably affected. This is not a critical issue, but the behavior should be consistent (either _no_ defaults or same defaults everywhere).





References