[#8451] log blog options in audit log
diff --git a/ForgeBlog/forgeblog/main.py b/ForgeBlog/forgeblog/main.py
index 40d474f..59fe8e8 100644
--- a/ForgeBlog/forgeblog/main.py
+++ b/ForgeBlog/forgeblog/main.py
@@ -535,10 +535,20 @@
@expose()
@require_post()
def set_options(self, show_discussion=False, allow_email_posting=False):
- self.app.config.options[
- 'show_discussion'] = show_discussion and True or False
- self.app.config.options[
- 'AllowEmailPosting'] = allow_email_posting and True or False
+ mount_point = self.app.config.options['mount_point']
+
+ if self.app.config.options.get('show_discussion') != bool(show_discussion):
+ M.AuditLog.log('{}: set option "{}" {} => {}'.format(
+ mount_point, "show_discussion", self.app.config.options.get('show_discussion'),
+ bool(show_discussion)))
+ self.app.config.options['show_discussion'] = bool(show_discussion)
+
+ if self.app.config.options.get('AllowEmailPosting') != bool(allow_email_posting):
+ M.AuditLog.log('{}: set option "{}" {} => {}'.format(
+ mount_point, "AllowEmailPosting", self.app.config.options.get('AllowEmailPosting'),
+ bool(allow_email_posting)))
+ self.app.config.options['AllowEmailPosting'] = bool(allow_email_posting)
+
flash('Blog options updated')
redirect(six.ensure_text(request.referer or '/'))