Add (protected) email settings for upgrade success, failure
This commit is contained in:
parent
12c8b3b8dd
commit
e91858b567
|
@ -5,5 +5,14 @@ Email definitions
|
|||
|
||||
from __future__ import unicode_literals, absolute_import
|
||||
|
||||
from rattail.emails import user_feedback
|
||||
from rattail_tempmon.emails import tempmon_low_temp, tempmon_high_temp, tempmon_critical_temp, tempmon_error
|
||||
|
||||
# bring in some common config from rattail
|
||||
from rattail.emails import (upgrade_failure,
|
||||
upgrade_success,
|
||||
user_feedback)
|
||||
|
||||
# bring in some common config from rattail_tempmon
|
||||
from rattail.emails import (tempmon_low_temp,
|
||||
tempmon_high_temp,
|
||||
tempmon_critical_temp,
|
||||
tempmon_error)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# -*- coding: utf-8; -*-
|
||||
"""
|
||||
Email views
|
||||
"""
|
||||
|
@ -13,11 +13,17 @@ class ProfilesView(base.ProfilesView):
|
|||
Prevent edit/delete for 'feedback' email config
|
||||
"""
|
||||
|
||||
protected = [
|
||||
'user_feedback',
|
||||
'upgrade_success',
|
||||
'upgrade_failure',
|
||||
]
|
||||
|
||||
def editable_instance(self, profile):
|
||||
return profile['key'] != 'user_feedback'
|
||||
return profile['key'] not in self.protected
|
||||
|
||||
def deletable_instance(self, profile):
|
||||
return profile['key'] != 'user_feedback'
|
||||
return profile['key'] not in self.protected
|
||||
|
||||
|
||||
def includeme(config):
|
||||
|
|
|
@ -14,13 +14,23 @@ class SettingsView(base.SettingsView):
|
|||
"""
|
||||
Prevent edit/delete for 'feedback' email settings
|
||||
"""
|
||||
feedback = re.compile(r'^rattail\.mail\.user_feedback\..*')
|
||||
protected = [
|
||||
re.compile(r'^rattail\.mail\.user_feedback\..*'),
|
||||
re.compile(r'^rattail\.mail\.upgrade_success\..*'),
|
||||
re.compile(r'^rattail\.mail\.upgrade_failure\..*'),
|
||||
]
|
||||
|
||||
def editable_instance(self, setting):
|
||||
return not bool(self.feedback.match(setting.name))
|
||||
for pattern in self.protected:
|
||||
if pattern.match(setting.name):
|
||||
return False
|
||||
return True
|
||||
|
||||
def deletable_instance(self, setting):
|
||||
return not bool(self.feedback.match(setting.name))
|
||||
for pattern in self.protected:
|
||||
if pattern.match(setting.name):
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
def includeme(config):
|
||||
|
|
Loading…
Reference in a new issue