From: Alex Dehnert Date: Mon, 10 Sep 2012 08:50:40 +0000 (-0400) Subject: Validate constitution_url (ASA-#76) X-Git-Url: https://snippets.scripts.mit.edu/gitweb.cgi/Scripts/git/.git/commitdiff_plain/6650ee780daad6ce2a35cf8ca8d308b7411b08d8 Validate constitution_url (ASA-#76) --- diff --git a/__init__.py b/__init__.py index d0f6993..62ec848 100644 --- a/__init__.py +++ b/__init__.py @@ -9,6 +9,8 @@ from django.contrib.auth import REDIRECT_FIELD_NAME from django.http import HttpResponseRedirect from django.contrib import auth from django.core.exceptions import ObjectDoesNotExist +from django.core.validators import URLValidator, ValidationError + import settings def zephyr(msg, clas='message', instance='log', rcpt='nobody',): @@ -18,6 +20,15 @@ def zephyr(msg, clas='message', instance='log', rcpt='nobody',): ) proc.communicate(msg) +def UrlOrAfsValidator(value): + if value.startswith('/mit/') or value.startswith('/afs/'): + return + else: + try: + URLValidator()(value) + except ValidationError: + raise ValidationError('Provide a valid URL or AFS path') + class ScriptsRemoteUserMiddleware(RemoteUserMiddleware): header = 'SSL_CLIENT_S_DN_Email'