We have basic validation.....but there is a snag with hidden fields

This commit is contained in:
CocoByte 2024-10-21 22:28:09 -06:00
parent b61d3936b5
commit 14d0876ed4
No known key found for this signature in database
GPG key ID: BBFAA2526384C97F
3 changed files with 36 additions and 12 deletions

View file

@ -135,10 +135,6 @@ class NewMemberForm(forms.ModelForm):
model = User
fields = ['email'] #, 'grade', 'sport']
def __init__(self, *args, **kwargs):
super(NewMemberForm, self).__init__(*args, **kwargs)
# self.fields['sport'].choices = []
def clean(self):
cleaned_data = super().clean()

View file

@ -9,10 +9,13 @@
{% endblock %}
{% block portfolio_content %}
<!-- Form mesages -->
{% block messages %}
{% include "includes/form_messages.html" %}
{% endblock messages%}
<!-- Navigation breadcrumbs -->
<nav class="usa-breadcrumb padding-top-0" aria-label="Domain request breadcrumb">
<ol class="usa-breadcrumb__list">
<li class="usa-breadcrumb__list-item">
@ -24,14 +27,14 @@
</ol>
</nav>
<!-- Page header -->
{% block new_member_header %}
<h1>Add a new member</h1>
{% endblock new_member_header %}
{% include "includes/required_fields.html" %}
{% block form_fields %}
<form class="usa-form usa-form--large" method="post" id="form-container" novalidate="">
<form class="usa-form usa-form--large" method="post" novalidate>
<fieldset class="usa-fieldset margin-top-2">
<legend>
<h2>Email</h2>
@ -45,12 +48,12 @@
<!-- {{ form.as_p }} -->
</fieldset>
<!-- Member access radio buttons (Toggles other sections) -->
<fieldset class="usa-fieldset margin-top-2">
<legend>
<h2>Member Access</h2>
</legend>
<!-- Member Access Radio Form (Toggles other sections) -->
<em>Select the level of access for this member. <abbr class="usa-hint usa-hint--required" title="required">*</abbr></em>
<div class="usa-radio">
<input type="radio" name="new_member-permission_level" class="usa-radio__input usa-radio__input--tile" value="True" id="id_new_member-permission_level_0" required="" checked="">
@ -70,8 +73,7 @@
</div>
</fieldset>
<!-- Admin Access form -->
<!-- Admin access form -->
<div id="new-member-admin-permissions" class="margin-top-2">
<legend>
<h2>Admin access permissions</h2>
@ -89,7 +91,7 @@
{% endwith %}
</div>
<!-- TODO: Basic Access form -->
<!-- Basic access form -->
<div id="new-member-basic-permissions" class="margin-top-2">
<legend>
<h2>Basic member permissions</h2>
@ -99,6 +101,7 @@
</div>
<!-- Submit/cancel buttons -->
<div class="margin-top-3">
<button
href="/members/"
@ -109,9 +112,8 @@
</button>
<button type="submit" class="usa-button">Invite Member</button>
</div>
</form>
{% endblock form_fields%}
{% endblock portfolio_content%}

View file

@ -233,6 +233,32 @@ class NewMemberView(PortfolioMembersPermissionView, FormMixin):
self.object = self.get_object()
form = self.get_form()
return self.render_to_response(self.get_context_data(form=form))
def post(self, request, *args, **kwargs):
"""Handle POST requests to process form submission."""
self.object = self.get_object()
form = self.get_form()
if form.is_valid():
return self.form_valid(form)
else:
return self.form_invalid(form)
def form_valid(self, form):
"""Handle the case when the form is valid."""
# self.object = form.save(commit=False)
# self.object.creator = self.request.user
# self.object.save()
# messages.success(self.request, "The organization information for this portfolio has been updated.")
return super().form_valid(form)
def form_invalid(self, form):
"""Handle the case when the form is invalid."""
return self.render_to_response(self.get_context_data(form=form))
def get_success_url(self):
"""Redirect to the overview page for the portfolio."""
return reverse("members")
##########################################
# TODO: future ticket