Add initial support for PDNS-Admin settings management.

This commit is contained in:
Ivan Filippov
2016-04-29 15:36:37 -06:00
parent 7c5814beed
commit 98ddd7302b
5 changed files with 183 additions and 1 deletions

View File

@ -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