got delete working all the way to but not including form_valid

This commit is contained in:
Rachid Mrad 2023-10-03 00:03:45 -04:00
parent 4399aa058c
commit f848e1fee2
No known key found for this signature in database
GPG key ID: EF38E4CEC4A8F3CF
4 changed files with 72 additions and 12 deletions

View file

@ -102,4 +102,22 @@ abbr[title] {
// workaround for underlining abbr element
border-bottom: none;
text-decoration: none;
}
@include at-media(tablet) {
.float-right-tablet {
float: right;
}
.float-left-tablet {
float: left;
}
}
@include at-media(desktop) {
.float-right-desktop {
float: right;
}
.float-left-desktop {
float: left;
}
}

View file

@ -179,7 +179,7 @@ class DomainDsdataForm(forms.Form):
algorithm = forms.TypedChoiceField(
required=True,
label="Algorithm",
choices=[(-1, "--Select--")] + ALGORITHM_CHOICES,
choices=[(None, "--Select--")] + ALGORITHM_CHOICES,
# Q: Is this even needed or is a required=True sufficient?
# error_messages={
# "required": (
@ -191,7 +191,7 @@ class DomainDsdataForm(forms.Form):
# (TypedChoiceField)
digest_type = forms.TypedChoiceField(
label="Digest Type",
choices=[(-1, "--Select--")] + DIGEST_TYPE_CHOICES,
choices=[(None, "--Select--")] + DIGEST_TYPE_CHOICES,
# Q: Is this even needed or is a required=True sufficient?
error_messages={
"required": (

View file

@ -35,11 +35,22 @@
{% endwith %}
</div>
</div>
{% with attr_required=True %}
{% input_with_errors form.digest %}
{% endwith %}
{% comment %} {% input_with_errors form.delete_checkbox %} {% endcomment %}
<div class="grid-row">
<div class="grid-col">
{% with attr_required=True %}
{% input_with_errors form.digest %}
{% endwith %}
</div>
</div>
<div class="grid-row margin-top-2">
<div class="grid-col">
{% with add_group_class="float-right-tablet" %}
{% input_with_errors form.delete %}
{% endwith %}
</div>
</div>
</fieldset>
{% endfor %}

View file

@ -242,7 +242,7 @@ class DomainDsdataView(DomainPermissionView, FormMixin):
template_name = "domain_dsdata.html"
form_class = DomainDsdataFormset
form = DomainDsdataForm
def get_initial(self):
"""The initial value for the form (which is a formset here)."""
@ -259,10 +259,6 @@ class DomainDsdataView(DomainPermissionView, FormMixin):
if dnssecdata.dsData is not None:
# Add existing nameservers as initial data
initial_data.extend({"key_tag": record.keyTag, "algorithm": record.alg, "digest_type": record.digestType, "digest": record.digest} for record in dnssecdata.dsData)
# form = DomainDsdataForm()
# delete_checkbox = form.fields['delete']
# initial_data.extend({delete_checkbox: delete_checkbox})
return initial_data
@ -285,6 +281,23 @@ class DomainDsdataView(DomainPermissionView, FormMixin):
if formset.is_valid():
return self.form_valid(formset)
else:
#
#
#
# testing delete
try:
for form in formset:
if 'delete' in form.cleaned_data:
logger.debug(f"delete: {form.cleaned_data['delete']}")
else:
logger.debug(f"delete key does not exist, harcoding false")
except KeyError:
logger.debug(f"KeyError: {KeyError}")
#
#
#
#
return self.form_invalid(formset)
def form_valid(self, formset):
@ -295,7 +308,25 @@ class DomainDsdataView(DomainPermissionView, FormMixin):
for form in formset:
try:
# TODO: build the right list of dicts to be passed
#
#
#
# untested
if 'delete' in form.cleaned_data:
if form.cleaned_data['delete'] == False:
pass
else:
# delete key exists and is true, delete this record
logger.debug(f"delete: {form.cleaned_data['delete']}")
else:
logger.debug(f"delete key does not exist, pass")
pass
#
#
#
#
dsrecord = {
"keyTag": form.cleaned_data["key_tag"],
"alg": form.cleaned_data["algorithm"],