def settings_users(): """ Display user settings """ if not utils_general.user_has_permission('view_settings'): return redirect(url_for('routes_general.home')) users = User.query.all() user_roles = Role.query.all() form_add_user = forms_settings.UserAdd() form_mod_user = forms_settings.UserMod() form_user_roles = forms_settings.UserRoles() if request.method == 'POST': if not utils_general.user_has_permission('edit_users'): return redirect(url_for('routes_general.home')) if form_add_user.add_user.data: utils_settings.user_add(form_add_user) elif form_mod_user.delete.data: if utils_settings.user_del(form_mod_user) == 'logout': return redirect('/logout') elif form_mod_user.save.data: if utils_settings.user_mod(form_mod_user) == 'logout': return redirect('/logout') elif (form_user_roles.add_role.data or form_user_roles.save_role.data or form_user_roles.delete_role.data): utils_settings.user_roles(form_user_roles) return redirect(url_for('routes_settings.settings_users')) return render_template('settings/users.html', themes=THEMES, users=users, user_roles=user_roles, form_add_user=form_add_user, form_mod_user=form_mod_user, form_user_roles=form_user_roles)
def settings_users(): """Display user settings.""" if not utils_general.user_has_permission('view_settings'): return redirect(url_for('routes_general.home')) messages = {"success": [], "info": [], "warning": [], "error": []} misc = Misc.query.first() form_user = forms_settings.User() form_add_user = forms_settings.UserAdd() form_mod_user = forms_settings.UserMod() form_user_roles = forms_settings.UserRoles() if request.method == 'POST': if not utils_general.user_has_permission('edit_users'): return redirect(url_for('routes_general.home')) if form_add_user.user_add.data: utils_settings.user_add(form_add_user) elif form_user_roles.user_role_add.data: messages, page_refresh = utils_settings.user_roles(form_user_roles) for each_error in messages["error"]: flash(each_error, "error") for each_warn in messages["warning"]: flash(each_warn, "warning") for each_info in messages["info"]: flash(each_info, "info") for each_success in messages["success"]: flash(each_success, "success") users = User.query.all() user_roles = Role.query.all() return render_template('settings/users.html', misc=misc, themes=THEMES, users=users, user_roles=user_roles, form_add_user=form_add_user, form_mod_user=form_mod_user, form_user=form_user, form_user_roles=form_user_roles)