2015-02-25 17:29:39 +00:00
|
|
|
from django import forms
|
|
|
|
from django.core.exceptions import ValidationError
|
2015-03-10 21:51:10 +00:00
|
|
|
|
2015-03-10 22:27:32 +00:00
|
|
|
from .validators import validate_domain_protocol
|
2015-02-25 17:29:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
class WebsiteAdminForm(forms.ModelForm):
|
|
|
|
def clean(self):
|
2015-03-10 21:51:10 +00:00
|
|
|
""" Prevent multiples domains on the same protocol """
|
2015-02-25 17:29:39 +00:00
|
|
|
domains = self.cleaned_data.get('domains')
|
2015-03-10 21:51:10 +00:00
|
|
|
if not domains:
|
|
|
|
return self.cleaned_data
|
|
|
|
protocol = self.cleaned_data.get('protocol')
|
2015-02-25 17:29:39 +00:00
|
|
|
for domain in domains.all():
|
2015-03-10 22:27:32 +00:00
|
|
|
try:
|
|
|
|
validate_domain_protocol(self.instance, domain, protocol)
|
|
|
|
except ValidationError as e:
|
|
|
|
# TODO not sure about this one
|
|
|
|
self.add_error(None, e)
|
2015-02-25 17:29:39 +00:00
|
|
|
return self.cleaned_data
|
|
|
|
|