[REF] services: moved the object service to openerp.service.model.

bzr revid: vmt@openerp.com-20130130150207-fz1ueou8prul05qa
This commit is contained in:
Vo Minh Thu 2013-01-30 16:02:07 +01:00
parent 8d23b8a63a
commit 93cdfeb86a
3 changed files with 19 additions and 21 deletions

View File

@ -113,6 +113,8 @@ class ExportService(object):
@classmethod
def getService(cls,name):
if name == 'object':
return openerp.service.model
if name == 'db':
return openerp.service.db
return cls._services[name]

View File

@ -9,8 +9,25 @@ import openerp
from openerp.tools.translate import translate
from openerp.osv.orm import except_orm
import security
_logger = logging.getLogger(__name__)
def dispatch(method, params):
(db, uid, passwd ) = params[0:3]
threading.current_thread().uid = uid
params = params[3:]
if method == 'obj_list':
raise NameError("obj_list has been discontinued via RPC as of 6.0, please query ir.model directly!")
if method not in ['execute', 'execute_kw', 'exec_workflow']:
raise NameError("Method not available %s" % method)
security.check(db,uid,passwd)
openerp.modules.registry.RegistryManager.check_registry_signaling(db)
fn = globals()[method]
res = fn(db, uid, *params)
openerp.modules.registry.RegistryManager.signal_caches_change(db)
return res
def check(f):
@wraps(f)
def wrapper(dbname, *args, **kwargs):

View File

@ -255,26 +255,6 @@ GNU Public Licence.
return sql_db.sql_counter
class objects_proxy(netsvc.ExportService):
def __init__(self, name="object"):
netsvc.ExportService.__init__(self,name)
def dispatch(self, method, params):
(db, uid, passwd ) = params[0:3]
threading.current_thread().uid = uid
params = params[3:]
if method == 'obj_list':
raise NameError("obj_list has been discontinued via RPC as of 6.0, please query ir.model directly!")
if method not in ['execute', 'execute_kw', 'exec_workflow']:
raise NameError("Method not available %s" % method)
security.check(db,uid,passwd)
openerp.modules.registry.RegistryManager.check_registry_signaling(db)
fn = getattr(openerp.service.model, method)
res = fn(db, uid, *params)
openerp.modules.registry.RegistryManager.signal_caches_change(db)
return res
#
# TODO: set a maximum report number per user to avoid DOS attacks
#
@ -413,7 +393,6 @@ class report_spool(netsvc.ExportService):
def start_service():
common()
objects_proxy()
report_spool()