odoo/addons/document/ftpserver/authorizer.py

71 lines
1.8 KiB
Python

#import pooler
class authorizer:
read_perms = "elr"
write_perms = "adfmw"
def __init__(self):
self.password = ''
def validate_authentication(self, username, password):
"""Return True if the supplied username and password match the
stored credentials."""
self.password = password
return True
def impersonate_user(self, username, password):
"""Impersonate another user (noop).
It is always called before accessing the filesystem.
By default it does nothing. The subclass overriding this
method is expected to provide a mechanism to change the
current user.
"""
def terminate_impersonation(self):
"""Terminate impersonation (noop).
It is always called after having accessed the filesystem.
By default it does nothing. The subclass overriding this
method is expected to provide a mechanism to switch back
to the original user.
"""
def has_user(self, username):
"""Whether the username exists in the virtual users table."""
return True
def has_perm(self, username, perm, path=None):
"""Whether the user has permission over path (an absolute
pathname of a file or a directory).
Expected perm argument is one of the following letters:
"elradfmw".
"""
return True
paths = path.split('/')
if not len(paths)>2:
return True
db_name = paths[1]
db,pool = pooler.get_db_and_pool(db_name)
res = security.login(db_name, username, self.password)
return bool(res)
def get_perms(self, username):
"""Return current user permissions."""
return 'elr'
def get_home_dir(self, username):
"""Return the user's home directory."""
return '/'
def get_msg_login(self, username):
"""Return the user's login message."""
return 'Welcome on OpenERP document management system.'
def get_msg_quit(self, username):
"""Return the user's quitting message."""
return 'Bye.'