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 // workaround for underlining abbr element
border-bottom: none; border-bottom: none;
text-decoration: 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( algorithm = forms.TypedChoiceField(
required=True, required=True,
label="Algorithm", label="Algorithm",
choices=[(-1, "--Select--")] + ALGORITHM_CHOICES, choices=[(None, "--Select--")] + ALGORITHM_CHOICES,
# Q: Is this even needed or is a required=True sufficient? # Q: Is this even needed or is a required=True sufficient?
# error_messages={ # error_messages={
# "required": ( # "required": (
@ -191,7 +191,7 @@ class DomainDsdataForm(forms.Form):
# (TypedChoiceField) # (TypedChoiceField)
digest_type = forms.TypedChoiceField( digest_type = forms.TypedChoiceField(
label="Digest Type", 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? # Q: Is this even needed or is a required=True sufficient?
error_messages={ error_messages={
"required": ( "required": (

View file

@ -35,11 +35,22 @@
{% endwith %} {% endwith %}
</div> </div>
</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> </fieldset>
{% endfor %} {% endfor %}

View file

@ -242,7 +242,7 @@ class DomainDsdataView(DomainPermissionView, FormMixin):
template_name = "domain_dsdata.html" template_name = "domain_dsdata.html"
form_class = DomainDsdataFormset form_class = DomainDsdataFormset
form = DomainDsdataForm
def get_initial(self): def get_initial(self):
"""The initial value for the form (which is a formset here).""" """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: if dnssecdata.dsData is not None:
# Add existing nameservers as initial data # 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) 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 return initial_data
@ -285,6 +281,23 @@ class DomainDsdataView(DomainPermissionView, FormMixin):
if formset.is_valid(): if formset.is_valid():
return self.form_valid(formset) return self.form_valid(formset)
else: 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) return self.form_invalid(formset)
def form_valid(self, formset): def form_valid(self, formset):
@ -295,7 +308,25 @@ class DomainDsdataView(DomainPermissionView, FormMixin):
for form in formset: for form in formset:
try: 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 = { dsrecord = {
"keyTag": form.cleaned_data["key_tag"], "keyTag": form.cleaned_data["key_tag"],
"alg": form.cleaned_data["algorithm"], "alg": form.cleaned_data["algorithm"],