Do not create demo user for every language
Instead we rely on the client language.
This commit is contained in:
+26
-35
@@ -41,51 +41,41 @@ def activate_modules(config, modules):
|
|||||||
return modules, activated_modules
|
return modules, activated_modules
|
||||||
|
|
||||||
|
|
||||||
def setup_languages(config, demo_password, company=None):
|
def setup_user(config, demo_password, company=None):
|
||||||
Lang = Model.get('ir.lang')
|
|
||||||
User = Model.get('res.user')
|
User = Model.get('res.user')
|
||||||
Group = Model.get('res.group')
|
Group = Model.get('res.group')
|
||||||
Action = Model.get('ir.action')
|
|
||||||
|
|
||||||
langs = Lang.find()
|
|
||||||
Lang.click(langs, 'load_translations')
|
|
||||||
|
|
||||||
admin = config.user
|
admin = config.user
|
||||||
# Use root to skip password validation
|
# Use root to skip password validation
|
||||||
config.user = 0
|
config.user = 0
|
||||||
|
|
||||||
menu, = Action.find([('usage', '=', 'menu')])
|
try:
|
||||||
for lang in langs:
|
user, = User.find([('login', '=', 'demo')])
|
||||||
if lang.code == 'en':
|
except ValueError:
|
||||||
name = 'Demo'
|
user = User()
|
||||||
login = 'demo'
|
user.name = "Demo"
|
||||||
else:
|
user.login = 'demo'
|
||||||
if lang.code[:2] != lang.code[-2:].lower():
|
user.password = demo_password
|
||||||
continue
|
groups = Group.find([
|
||||||
name = 'Demo %s' % lang.name
|
('name', 'not ilike', '%Admin%'),
|
||||||
login = 'demo_%s' % lang.code[:2]
|
])
|
||||||
try:
|
user.groups.extend(groups)
|
||||||
user, = User.find([('login', '=', login)])
|
if company:
|
||||||
except ValueError:
|
Company = Model.get('company.company')
|
||||||
user = User()
|
user.companies.append(Company(company.id))
|
||||||
user.name = name
|
user.company = company
|
||||||
user.login = login
|
user.save()
|
||||||
user.password = demo_password
|
|
||||||
groups = Group.find([
|
|
||||||
('name', 'not ilike', '%Admin%'),
|
|
||||||
])
|
|
||||||
user.groups.extend(groups)
|
|
||||||
user.language = lang
|
|
||||||
user.menu = menu
|
|
||||||
if company:
|
|
||||||
Company = Model.get('company.company')
|
|
||||||
user.companies.append(Company(company.id))
|
|
||||||
user.company = company
|
|
||||||
user.save()
|
|
||||||
|
|
||||||
config.user = admin
|
config.user = admin
|
||||||
|
|
||||||
|
|
||||||
|
def setup_languages(config):
|
||||||
|
Lang = Model.get('ir.lang')
|
||||||
|
|
||||||
|
langs = Lang.find()
|
||||||
|
Lang.click(langs, 'load_translations')
|
||||||
|
|
||||||
|
|
||||||
def main(database, modules, demo_password, config_file=None):
|
def main(database, modules, demo_password, config_file=None):
|
||||||
config = set_config(database, config_file)
|
config = set_config(database, config_file)
|
||||||
to_activate, activated = activate_modules(config, modules)
|
to_activate, activated = activate_modules(config, modules)
|
||||||
@@ -148,7 +138,8 @@ def main(database, modules, demo_password, config_file=None):
|
|||||||
if 'production' in to_activate:
|
if 'production' in to_activate:
|
||||||
production.setup(config, activated, company)
|
production.setup(config, activated, company)
|
||||||
|
|
||||||
setup_languages(config, demo_password, company=company)
|
setup_user(config, demo_password, company=company)
|
||||||
|
setup_languages(config)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
Reference in New Issue
Block a user