mirror of
https://github.com/YunoHost/moulinette.git
synced 2024-09-03 20:06:31 +02:00
commit
c1a0332a38
2 changed files with 29 additions and 19 deletions
|
@ -221,6 +221,7 @@ def app_map(app=None, raw=False):
|
||||||
'label': app_settings['label'],
|
'label': app_settings['label'],
|
||||||
'uid': app_settings['uid'],
|
'uid': app_settings['uid'],
|
||||||
'instance': app_settings['instance'],
|
'instance': app_settings['instance'],
|
||||||
|
'mode': app_settings['mode'],
|
||||||
}
|
}
|
||||||
else:
|
else:
|
||||||
result['https://'+app_settings['domain']+app_settings['path']] = app_settings['label']
|
result['https://'+app_settings['domain']+app_settings['path']] = app_settings['label']
|
||||||
|
@ -327,12 +328,13 @@ def app_upgrade(app, instance=[], url=None, file=None):
|
||||||
#########################################
|
#########################################
|
||||||
|
|
||||||
# TMP: Remove old application
|
# TMP: Remove old application
|
||||||
if os.path.exists(app_final_path): shutil.rmtree(app_final_path)
|
# if os.path.exists(app_final_path): shutil.rmtree(app_final_path)
|
||||||
|
|
||||||
os.system('cp -a "'+ app_tmp_folder +'" "'+ app_final_path +'"')
|
os.system('cp -a "'+ app_tmp_folder +'" "'+ app_final_path +'"')
|
||||||
|
|
||||||
if is_web:
|
if is_web:
|
||||||
os.system('chown -R www-data: "'+ app_final_path +'"')
|
if manifest['type'] != 'privileged' and manifest['type'] != 'certified':
|
||||||
|
os.system('chown -R www-data: "'+ app_final_path +'"')
|
||||||
os.system('service apache2 reload')
|
os.system('service apache2 reload')
|
||||||
shutil.rmtree(app_final_path + manifest['yunohost']['script_path'])
|
shutil.rmtree(app_final_path + manifest['yunohost']['script_path'])
|
||||||
|
|
||||||
|
@ -407,6 +409,9 @@ def app_install(app, domain, path='/', label=None, mode='private'):
|
||||||
if app_path in path and app_path.count('/') < path.count('/'):
|
if app_path in path and app_path.count('/') < path.count('/'):
|
||||||
raise YunoHostError(1, _("Unable to install app at this location"))
|
raise YunoHostError(1, _("Unable to install app at this location"))
|
||||||
|
|
||||||
|
if path != '/' and lvl(manifest, 'yunohost', 'webapp', 'domain_root_only') and is_true(manifest['yunohost']['domain_root_only']):
|
||||||
|
raise YunoHostError(1, _("App must be installed to domain root"))
|
||||||
|
|
||||||
|
|
||||||
##########################################
|
##########################################
|
||||||
# Fetch or extract sources #
|
# Fetch or extract sources #
|
||||||
|
@ -512,20 +517,23 @@ def app_install(app, domain, path='/', label=None, mode='private'):
|
||||||
# Apache #
|
# Apache #
|
||||||
##########
|
##########
|
||||||
|
|
||||||
a2_conf_lines = [ 'Alias '+ path +' '+ app_final_path + manifest['launch_path'] ]
|
if lvl(manifest,'yunohost','webapp','custom_apache_conf'):
|
||||||
if path != '/':
|
os.system('mv '+app_tmp_folder+'/'+manifest['yunohost']['webapp']['custom_apache_conf']+' '+a2_settings_path +'/'+ domain +'.d/'+ unique_app_id +'.app.conf')
|
||||||
a2_conf_lines.append('Alias '+ path[:len(path)-1] +' '+ app_final_path + manifest['launch_path'])
|
else:
|
||||||
|
a2_conf_lines = [ 'Alias '+ path +' '+ app_final_path + manifest['launch_path'] ]
|
||||||
|
if path != '/':
|
||||||
|
a2_conf_lines.append('Alias '+ path[:len(path)-1] +' '+ app_final_path + manifest['launch_path'])
|
||||||
|
|
||||||
a2_conf_lines.append('<Directory '+ app_final_path +'>')
|
a2_conf_lines.append('<Directory '+ app_final_path +'>')
|
||||||
|
|
||||||
if lvl(manifest, 'yunohost', 'webapp', 'language') and manifest['yunohost']['webapp']['language'] == 'php':
|
if lvl(manifest, 'yunohost', 'webapp', 'language') and manifest['yunohost']['webapp']['language'] == 'php':
|
||||||
for line in open(a2_template_path +'/php.conf'): a2_conf_lines.append(line.rstrip())
|
for line in open(a2_template_path +'/php.conf'): a2_conf_lines.append(line.rstrip())
|
||||||
|
|
||||||
a2_conf_lines.append('</Directory>')
|
a2_conf_lines.append('</Directory>')
|
||||||
|
|
||||||
with open(a2_settings_path +'/'+ domain +'.d/'+ unique_app_id +'.app.conf', 'w') as a2_conf:
|
with open(a2_settings_path +'/'+ domain +'.d/'+ unique_app_id +'.app.conf', 'w') as a2_conf:
|
||||||
for line in a2_conf_lines:
|
for line in a2_conf_lines:
|
||||||
a2_conf.write(line + '\n')
|
a2_conf.write(line + '\n')
|
||||||
|
|
||||||
|
|
||||||
#########################################
|
#########################################
|
||||||
|
@ -536,12 +544,13 @@ def app_install(app, domain, path='/', label=None, mode='private'):
|
||||||
except OSError: os.makedirs(apps_path)
|
except OSError: os.makedirs(apps_path)
|
||||||
|
|
||||||
# TMP: Remove old application
|
# TMP: Remove old application
|
||||||
if os.path.exists(app_final_path): shutil.rmtree(app_final_path)
|
# if os.path.exists(app_final_path): shutil.rmtree(app_final_path)
|
||||||
|
|
||||||
os.system('cp -a "'+ app_tmp_folder +'" "'+ app_final_path +'"')
|
os.system('cp -a "'+ app_tmp_folder +'" "'+ app_final_path +'"')
|
||||||
|
|
||||||
if is_web:
|
if is_web:
|
||||||
os.system('chown -R www-data: "'+ app_final_path +'"')
|
if manifest['type'] != 'privileged' and manifest['type'] != 'certified':
|
||||||
|
os.system('chown -R www-data: "'+ app_final_path +'"')
|
||||||
os.system('service apache2 reload')
|
os.system('service apache2 reload')
|
||||||
shutil.rmtree(app_final_path + manifest['yunohost']['script_path'])
|
shutil.rmtree(app_final_path + manifest['yunohost']['script_path'])
|
||||||
|
|
||||||
|
|
|
@ -72,10 +72,11 @@ def user_list(fields=None, filter=None, limit=None, offset=None):
|
||||||
entry = {
|
entry = {
|
||||||
'Username': user['uid'][0],
|
'Username': user['uid'][0],
|
||||||
'Fullname': user['cn'][0],
|
'Fullname': user['cn'][0],
|
||||||
'Mail': user['mail'][0]
|
|
||||||
}
|
}
|
||||||
if len(user['mail']) > 1:
|
if 'mail' in user.keys():
|
||||||
entry['Mail Aliases'] = user['mail'][1:]
|
entry['Mail'] = user['mail'][0]
|
||||||
|
if len(user['mail']) > 1:
|
||||||
|
entry['Mail Aliases'] = user['mail'][1:]
|
||||||
if 'maildrop' in user:
|
if 'maildrop' in user:
|
||||||
entry['Mail Forward'] = user['maildrop']
|
entry['Mail Forward'] = user['maildrop']
|
||||||
|
|
||||||
|
@ -194,7 +195,7 @@ def user_update(username, firstname=None, lastname=None, mail=None, change_passw
|
||||||
new_attr_dict['cn'] = new_attr_dict['displayName'] = firstname + ' ' + lastname
|
new_attr_dict['cn'] = new_attr_dict['displayName'] = firstname + ' ' + lastname
|
||||||
|
|
||||||
if change_password:
|
if change_password:
|
||||||
pwd_changed = os.system('echo "'+ password +'\n'+ password +'" | smbldap-passwd '+ username)
|
pwd_changed = os.system('echo "'+ change_password +'\n'+ change_password +'" | smbldap-passwd '+ username)
|
||||||
if pwd_changed > 0:
|
if pwd_changed > 0:
|
||||||
raise YunoHostError(169, _("An error occured during password update"))
|
raise YunoHostError(169, _("An error occured during password update"))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue