def get(self, target, path): params = {} params.update(request.args) params.update(request.form) request_func = current_app.edm.get_passthrough passthrough_kwargs = {'params': params} response = _request_passthrough(target, path, request_func, passthrough_kwargs) # private means cannot be read other than admin ####@edm_configuration.login_required(oauth_scopes=['configuration:write']) TODO somehow need to *allow* private if has auth!!! data = response.json() if (response.ok and 'response' in data and 'private' in data['response'] and data['response']['private']): abort(code=HTTPStatus.FORBIDDEN, message='unavailable') if path == '__bundle_setup': data = response.json() data['response']['configuration'][ 'site.adminUserInitialized'] = User.admin_user_initialized() return data return response
def create_admin_user(email=None, password=None, repeat_password=None, *args, **kwargs): """ This endpoint creates the initial admin user if none exists """ message = None if User.admin_user_initialized(): message = 'This function is disabled. Admin user exists.' else: log.info('Attempting to create first run admin user.') if email is None: email = request.form.get('email', None) if password is None: password = request.form.get('password', None) if repeat_password is None: repeat_password = request.form.get('repeat_password', None) if password == repeat_password: if None not in [email, password, repeat_password]: admin = User.ensure_user( email, password, is_admin=True, update=True, ) if admin.is_admin: message = 'Success creating startup admin user.' # update configuration value for admin user created return flask.redirect(_url_for('backend.home')) else: message = 'We failed to create or update the user as an admin.' else: message = 'You must specify all fields.' else: message = 'The password fields do not match.' if message is not None: flash(message)
def admin_init(*args, **kwargs): """ This endpoint is for initial admin user creation """ return _render_template('home.admin_init.jinja2', admin_exists=User.admin_user_initialized())
def decorated_function(*args, **kwargs): if not current_user and not User.admin_user_initialized(): return redirect(url_for('backend.admin_init')) return func(*args, **kwargs)