Fix #294 -- Blacklist for slug validation (#325)

* Fix #294 - blacklist for slug validation

* Fix #294 - blacklist for slug validation

* fix for failing test
This commit is contained in:
Christopher Dambamuromo
2016-11-21 10:57:52 +00:00
committed by Raphael Michel
parent 4820a8423f
commit 9662b956ed
5 changed files with 82 additions and 2 deletions

View File

@@ -0,0 +1,48 @@
from django.core.exceptions import ValidationError
from django.utils.translation import ugettext_lazy as _
class BlacklistValidator:
blacklist = []
def __call__(self, value):
# Validation logic
if value in self.blacklist:
raise ValidationError(
_('This slug has an invalid value: %(value)s.'),
code='invalid',
params={'value': value},
)
class EventSlugBlacklistValidator(BlacklistValidator):
blacklist = [
'download',
'healthcheck',
'locale',
'control',
'redirect',
'jsi18n',
'metrics',
'_global',
'__debug__'
]
class OrganizerSlugBlacklistValidator(BlacklistValidator):
blacklist = [
'download',
'healthcheck',
'locale',
'control',
'pretixdroid',
'redirect',
'jsi18n',
'metrics',
'_global',
'__debug__',
'about'
]