merging from the trunk
bzr revid: mga@tinyerp.com-20081211140646-j9ue05ukzrqbu5k5
This commit is contained in:
commit
1459580158
|
@ -248,7 +248,6 @@ class module(osv.osv):
|
|||
def button_upgrade(self, cr, uid, ids, context=None):
|
||||
depobj = self.pool.get('ir.module.module.dependency')
|
||||
todo = self.browse(cr, uid, ids, context=context)
|
||||
to_install = set()
|
||||
i = 0
|
||||
while i<len(todo):
|
||||
mod = todo[i]
|
||||
|
@ -260,10 +259,7 @@ class module(osv.osv):
|
|||
for dep in depobj.browse(cr, uid, iids, context=context):
|
||||
if dep.module_id.state=='installed':
|
||||
todo.append(dep.module_id)
|
||||
elif dep.module_id.state == 'uninstalled':
|
||||
to_install.add(dep.module_id.id)
|
||||
self.write(cr,uid, map(lambda x: x.id, todo), {'state':'to upgrade'}, context=context)
|
||||
self.button_install(cr, uid, list(to_install))
|
||||
return True
|
||||
|
||||
def button_upgrade_cancel(self, cr, uid, ids, context={}):
|
||||
|
|
|
@ -35,6 +35,16 @@ def login(db, login, password):
|
|||
else:
|
||||
return False
|
||||
|
||||
def logout(db, login, password):
|
||||
cr = pooler.get_db(db).cursor()
|
||||
cr.execute('select login from res_users where id=%d'%(login))
|
||||
res = cr.fetchone()
|
||||
cr.close()
|
||||
if res:
|
||||
return res[0]
|
||||
else:
|
||||
return False
|
||||
|
||||
def check_super(passwd):
|
||||
if passwd == tools.config['admin_passwd']:
|
||||
return True
|
||||
|
|
|
@ -282,6 +282,7 @@ class common(netsvc.Service):
|
|||
self.exportMethod(self.ir_del)
|
||||
self.exportMethod(self.about)
|
||||
self.exportMethod(self.login)
|
||||
self.exportMethod(self.logout)
|
||||
self.exportMethod(self.timezone_get)
|
||||
|
||||
def ir_set(self, db, uid, password, keys, args, name, value, replace=True, isobject=False):
|
||||
|
@ -316,8 +317,29 @@ class common(netsvc.Service):
|
|||
res = security.login(db, login, password)
|
||||
logger = netsvc.Logger()
|
||||
msg = res and 'successful login' or 'bad login or password'
|
||||
logger.notifyChannel("web-services", netsvc.LOG_INFO, "%s from '%s' using database '%s'" % (msg, login, db.lower()))
|
||||
logger.notifyChannel("web-service", netsvc.LOG_INFO, "%s from '%s' using database '%s'" % (msg, login, db.lower()))
|
||||
return res or False
|
||||
|
||||
def logout(self, db, login, password):
|
||||
res = security.logout(db, login, password)
|
||||
service = netsvc.LocalService("object_proxy")
|
||||
fields = service.execute(db, login, 'res.users', 'fields_get', {})
|
||||
try:
|
||||
if 'current_status' in fields.keys():
|
||||
service.execute(db, login, 'res.users', 'write', login, {'current_status':False})
|
||||
emp_id = service.execute(db, login, 'hr.employee', 'search',[('user_id','=',login)])
|
||||
emp = emp_id[0]
|
||||
service.execute(db, login, 'hr.attendance', 'create',{'action':'sign_out','employee_id':emp})
|
||||
cr = pooler.get_db(db).cursor()
|
||||
cr.execute("delete from time_sheet_remote_temp where user_id = '%s'"%(res))
|
||||
cr.commit()
|
||||
cr.close()
|
||||
except:
|
||||
pass
|
||||
logger = netsvc.Logger()
|
||||
logger.notifyChannel("web-service", netsvc.LOG_INFO,'Logout=>%s from database %s'%(res,db.lower()))
|
||||
|
||||
|
||||
|
||||
def about(self, extended=False):
|
||||
"""Return information about the OpenERP Server.
|
||||
|
|
Loading…
Reference in New Issue