[IMP] account: remove inexistant sequence get
[odoo/odoo.git] / openerp / service / common.py
1 # -*- coding: utf-8 -*-
2
3 import logging
4
5 import openerp.release
6 import openerp.tools
7
8 import security
9
10 _logger = logging.getLogger(__name__)
11
12 RPC_VERSION_1 = {
13         'server_version': openerp.release.version,
14         'server_version_info': openerp.release.version_info,
15         'server_serie': openerp.release.serie,
16         'protocol_version': 1,
17 }
18
19 def dispatch(method, params):
20     if method in ['login', 'about', 'timezone_get',
21                   'version', 'authenticate']:
22         pass
23     elif method in ['set_loglevel']:
24         passwd = params[0]
25         params = params[1:]
26         security.check_super(passwd)
27     else:
28         raise Exception("Method not found: %s" % method)
29
30     fn = globals()['exp_' + method]
31     return fn(*params)
32
33 def exp_login(db, login, password):
34     # TODO: legacy indirection through 'security', should use directly
35     # the res.users model
36     res = security.login(db, login, password)
37     msg = res and 'successful login' or 'bad login or password'
38     _logger.info("%s from '%s' using database '%s'", msg, login, db.lower())
39     return res or False
40
41 def exp_authenticate(db, login, password, user_agent_env):
42     res_users = openerp.registry(db)['res.users']
43     return res_users.authenticate(db, login, password, user_agent_env)
44
45 def exp_version():
46     return RPC_VERSION_1
47
48 def exp_about(extended=False):
49     """Return information about the OpenERP Server.
50
51     @param extended: if True then return version info
52     @return string if extended is False else tuple
53     """
54
55     info = _('See http://openerp.com')
56
57     if extended:
58         return info, openerp.release.version
59     return info
60
61 def exp_timezone_get(db, login, password):
62     return openerp.tools.misc.get_server_timezone()
63
64 def exp_set_loglevel(loglevel, logger=None):
65     # TODO Previously, the level was set on the now deprecated
66     # `openerp.netsvc.Logger` class.
67     return True
68
69 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: