def edit_settings(): form = SettingsForm() if form.validate_on_submit(): form.save() flash('Updated settings.', 'success') return form.redirect(url_for('admin.index')) return render_template('admin/settings.html', title='Settings', form=form)
def settings(): # Get the current settings. There can only be one row in the settings table. current_settings = Settings.query.get_or_404(1) form = SettingsForm() if form.validate_on_submit(): # Save the new settings current_settings.dashboard_update_interval_s = form.dashboard_update_interval.data current_settings.threshold = form.explanation_threshold.data db.session.add(current_settings) db.session.commit() current_app.logger.info(f"Changed settings: {current_settings}") return redirect(url_for('admin.admin_home')) # Set the form data to show the existing settings form.dashboard_update_interval.data = current_settings.dashboard_update_interval_s form.explanation_threshold.data = current_settings.threshold return render_template('admin/settings.html', form=form)
def index(self): form = SettingsForm() ns = Setting.query.filter_by(name=u'namespace').first() bu = Setting.query.filter_by(name=u'base_url').first() rp = Setting.query.filter_by(name=u'show_register_page').first() rp_check = rp.value == 'true' if not form.is_submitted(): form.namespace.data = ns.value form.base_url.data = bu.value form.show_register_page.data = rp_check if form.validate_on_submit(): ns.value = form.namespace.data bu.value = form.base_url.data rp.value = str(form.show_register_page.data).lower() return self.render('admin/settings.html', form=form)
def test_save(self): form = SettingsForm() form.blog_name.data = 'foobar' form.save() self.assertEqual(self.app.config['SETTINGS']['blog_name'], 'foobar')
def configure_settings_form(): SettingsForm.configure()