def index(): """ Generates the main page and the automatic form using a generic AppItem object :return: the template to be served to the client """ params = {'title': 'Main'} app_item = AppItem() # crates a model class from the application item app_item_form = model_form(AppItem, db.session, base_class=Form, field_args=app_item.field_args) login_form = LoginForm(request.form) if helpers.validate_form_on_submit(login_form): user = login_form.get_user() login.login_user(user) params['retry_login'] = False # redirect to prevent form double submit return redirect(request.url) else: if login_form.errors: params['retry_login'] = True params['is_authenticated'] = login.current_user.is_authenticated() check_errors() return render_template('index.html', params=params, form=app_item_form(obj=app_item), login_form=login_form, app_config=ActiveConfig)
def login_view(self): form = LoginForm(request.form) if helpers.validate_form_on_submit(form): user = form.get_user() if user is not None: login.login_user(user) if login.current_user.is_authenticated: return redirect(url_for('.index')) self._template_args['form'] = form return super(AdminIndexView, self).index()
def login_view(self): req_form = LoginForm(request.form) if helpers.validate_form_on_submit(req_form): user = req_form.get_user() login.login_user(user) if login.current_user.is_authenticated(): return redirect(request.args.get('next') or '/admin') check_errors() self._template_args['form'] = req_form return super(AdminMainView, self).index()