Settings Management
+| Name | +Value | +Change | +
|---|---|---|
| {{ setting.name }} | +{{ setting.value }} | ++ {% if setting.value == "True" or setting.value == "False" %} + + {% else %} + + {% endif %} + | +
diff --git a/app/models.py b/app/models.py index fe16422..9d0fbc8 100644 --- a/app/models.py +++ b/app/models.py @@ -957,3 +957,22 @@ class Setting(db.Model): db.session.rollback() return False + def toggle(self, setting): + setting = str(setting) + current_setting = Setting.query.filter(Setting.name==setting).first() + try: + if current_setting: + if current_setting.value == "True": + current_setting.value = "False" + else: + current_setting.value = "True" + db.session.commit() + return True + else: + logging.error('Setting %s does not exist' % setting) + return False + except: + logging.error('Cannot toggle setting %s' % setting) + logging.debug(traceback.format_exec()) + db.session.rollback() + return False \ No newline at end of file diff --git a/app/templates/admin_settings.html b/app/templates/admin_settings.html new file mode 100644 index 0000000..c828315 --- /dev/null +++ b/app/templates/admin_settings.html @@ -0,0 +1,137 @@ +{% extends "base.html" %} {% block title %} +
| Name | +Value | +Change | +
|---|---|---|
| {{ setting.name }} | +{{ setting.value }} | ++ {% if setting.value == "True" or setting.value == "False" %} + + {% else %} + + {% endif %} + | +