wip passing domain from view to form

This commit is contained in:
Rachid Mrad 2023-10-19 13:24:35 -04:00
parent b4596d3bcd
commit d48312f74b
No known key found for this signature in database
GPG key ID: EF38E4CEC4A8F3CF
2 changed files with 17 additions and 17 deletions

View file

@ -60,9 +60,8 @@ class DomainNameserverForm(forms.Form):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
# Access the context object passed to the form # Access the context object passed to the form
print(f"domain domain domain {kwargs}") print(f"kwargs in __init__ {kwargs}")
self.domain = kwargs.pop('rachid', None) self.domain = kwargs.pop('domain', None)
print(f"domain domain domain {kwargs}")
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
# def __init__(self, request, *args, **kwargs): # def __init__(self, request, *args, **kwargs):
@ -78,27 +77,20 @@ class DomainNameserverForm(forms.Form):
# make sure there's a nameserver if an ip is passed # make sure there's a nameserver if an ip is passed
if ip: if ip:
ip_list = [ip.strip() for ip in ip.split(",")] ip_list = [ip.strip() for ip in ip.split(",")]
if not server: if len(server) < len(ip_list):
# If 'server' is empty, disallow 'ip' input # If 'server' is empty, disallow 'ip' input
raise forms.ValidationError("Name server must be provided to enter IP address.") raise forms.ValidationError("Name server must be provided to enter IP address.")
try:
Domain.checkHostIPCombo(server, ip_list)
except NameserverError as e:
raise forms.ValidationError(str(e))
# if there's a nameserver, validate nameserver/ip combo # if there's a nameserver and an ip, validate nameserver/ip combo
domain, _ = Domain.objects.get_or_create(name="magazine-claim.gov") domain, _ = Domain.objects.get_or_create(name="realize-shake-too.gov")
# Access session data from the request object # Access session data from the request object
# session_data = self.request.session.get('nameservers_form_domain', None) # session_data = self.request.session.get('nameservers_form_domain', None)
print(f"domain domain domain {self.domain}") print(f"domain in clean: {self.domain}")
if server: if server and ip:
if ip:
ip_list = [ip.strip() for ip in ip.split(",")] ip_list = [ip.strip() for ip in ip.split(",")]
else:
ip_list = [""]
try: try:
Domain.checkHostIPCombo(domain, server, ip_list) Domain.checkHostIPCombo(domain, server, ip_list)
except NameserverError as e: except NameserverError as e:
@ -110,6 +102,8 @@ class DomainNameserverForm(forms.Form):
NameserverFormset = formset_factory( NameserverFormset = formset_factory(
DomainNameserverForm, DomainNameserverForm,
extra=1, extra=1,
max_num=13,
validate_max=True,
) )

View file

@ -219,11 +219,13 @@ class DomainNameserversView(DomainFormBaseView, BaseFormSet):
template_name = "domain_nameservers.html" template_name = "domain_nameservers.html"
form_class = NameserverFormset form_class = NameserverFormset
model = Domain
def get_formset_kwargs(self, index): def get_formset_kwargs(self, index):
kwargs = super().get_formset_kwargs(index) kwargs = super().get_formset_kwargs(index)
# kwargs['domain'] = self.object # Pass the context data # kwargs['domain'] = self.object # Pass the context data
kwargs.update({"domain", self.object}) kwargs.update({"domain", self.object})
print(f"kwargs in get_formset_kwargs {kwargs}")
return kwargs return kwargs
def get_initial(self): def get_initial(self):
@ -254,8 +256,12 @@ class DomainNameserversView(DomainFormBaseView, BaseFormSet):
def get_form(self, **kwargs): def get_form(self, **kwargs):
"""Override the labels and required fields every time we get a formset.""" """Override the labels and required fields every time we get a formset."""
# kwargs.update({"domain", self.object})
formset = super().get_form(**kwargs) formset = super().get_form(**kwargs)
for i, form in enumerate(formset): for i, form in enumerate(formset):
# form = self.get_form(self, **kwargs)
form.fields["server"].label += f" {i+1}" form.fields["server"].label += f" {i+1}"
form.fields["ip"].label += f" {i+1}" form.fields["ip"].label += f" {i+1}"
if i < 2: if i < 2: