django-orchestra-test/orchestra/contrib/letsencrypt/forms.py
Santiago L 70042f3b5c Regenerate commit inicio 2023/07/09
commit 0f26b5a8e0
Author: jorgepastorr <jorge.pastor.rr@gmail.com>
Date:   Sun Jul 9 07:51:51 2023 +0000
Repo:   https://gitea.pangea.org/pangea/django-orchestra.git
2023-11-17 13:25:13 +01:00

33 lines
1.2 KiB
Python

from django import forms
from django.core.exceptions import ValidationError
from django.utils.translation import ngettext, gettext_lazy as _
from .helpers import is_valid_domain
class LetsEncryptForm(forms.Form):
domains = forms.CharField(widget=forms.Textarea)
def __init__(self, domains, wildcards, *args, **kwargs):
self.domains = domains
self.wildcards = wildcards
super().__init__(*args, **kwargs)
if wildcards:
help_text = _("You can add domains maching the following wildcards: %s")
self.fields['domains'].help_text += help_text % ', '.join(wildcards)
def clean_domains(self):
domains = self.cleaned_data['domains'].split()
cleaned_domains = set()
for domain in domains:
domain = domain.strip()
if domain not in self.domains:
domain = domain.strip()
if not is_valid_domain(domain, self.domains, self.wildcards):
raise ValidationError(_(
"%s domain is not included on selected websites, "
"nor matches with any wildcard domain.") % domain
)
cleaned_domains.add(domain)
return cleaned_domains