mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-23 19:20:47 +02:00
We have basic validation.....but there is a snag with hidden fields
This commit is contained in:
parent
b61d3936b5
commit
14d0876ed4
3 changed files with 36 additions and 12 deletions
|
@ -135,10 +135,6 @@ class NewMemberForm(forms.ModelForm):
|
||||||
model = User
|
model = User
|
||||||
fields = ['email'] #, 'grade', 'sport']
|
fields = ['email'] #, 'grade', 'sport']
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
|
||||||
super(NewMemberForm, self).__init__(*args, **kwargs)
|
|
||||||
# self.fields['sport'].choices = []
|
|
||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
cleaned_data = super().clean()
|
cleaned_data = super().clean()
|
||||||
|
|
||||||
|
|
|
@ -9,10 +9,13 @@
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block portfolio_content %}
|
{% block portfolio_content %}
|
||||||
|
|
||||||
|
<!-- Form mesages -->
|
||||||
{% block messages %}
|
{% block messages %}
|
||||||
{% include "includes/form_messages.html" %}
|
{% include "includes/form_messages.html" %}
|
||||||
{% endblock messages%}
|
{% endblock messages%}
|
||||||
|
|
||||||
|
<!-- Navigation breadcrumbs -->
|
||||||
<nav class="usa-breadcrumb padding-top-0" aria-label="Domain request breadcrumb">
|
<nav class="usa-breadcrumb padding-top-0" aria-label="Domain request breadcrumb">
|
||||||
<ol class="usa-breadcrumb__list">
|
<ol class="usa-breadcrumb__list">
|
||||||
<li class="usa-breadcrumb__list-item">
|
<li class="usa-breadcrumb__list-item">
|
||||||
|
@ -24,14 +27,14 @@
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
<!-- Page header -->
|
||||||
{% block new_member_header %}
|
{% block new_member_header %}
|
||||||
<h1>Add a new member</h1>
|
<h1>Add a new member</h1>
|
||||||
{% endblock new_member_header %}
|
{% endblock new_member_header %}
|
||||||
|
|
||||||
{% include "includes/required_fields.html" %}
|
{% include "includes/required_fields.html" %}
|
||||||
|
|
||||||
{% block form_fields %}
|
<form class="usa-form usa-form--large" method="post" novalidate>
|
||||||
<form class="usa-form usa-form--large" method="post" id="form-container" novalidate="">
|
|
||||||
<fieldset class="usa-fieldset margin-top-2">
|
<fieldset class="usa-fieldset margin-top-2">
|
||||||
<legend>
|
<legend>
|
||||||
<h2>Email</h2>
|
<h2>Email</h2>
|
||||||
|
@ -45,12 +48,12 @@
|
||||||
<!-- {{ form.as_p }} -->
|
<!-- {{ form.as_p }} -->
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
<!-- Member access radio buttons (Toggles other sections) -->
|
||||||
<fieldset class="usa-fieldset margin-top-2">
|
<fieldset class="usa-fieldset margin-top-2">
|
||||||
<legend>
|
<legend>
|
||||||
<h2>Member Access</h2>
|
<h2>Member Access</h2>
|
||||||
</legend>
|
</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>
|
<em>Select the level of access for this member. <abbr class="usa-hint usa-hint--required" title="required">*</abbr></em>
|
||||||
<div class="usa-radio">
|
<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="">
|
<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>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
<!-- Admin access form -->
|
||||||
<!-- Admin Access form -->
|
|
||||||
<div id="new-member-admin-permissions" class="margin-top-2">
|
<div id="new-member-admin-permissions" class="margin-top-2">
|
||||||
<legend>
|
<legend>
|
||||||
<h2>Admin access permissions</h2>
|
<h2>Admin access permissions</h2>
|
||||||
|
@ -89,7 +91,7 @@
|
||||||
{% endwith %}
|
{% endwith %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- TODO: Basic Access form -->
|
<!-- Basic access form -->
|
||||||
<div id="new-member-basic-permissions" class="margin-top-2">
|
<div id="new-member-basic-permissions" class="margin-top-2">
|
||||||
<legend>
|
<legend>
|
||||||
<h2>Basic member permissions</h2>
|
<h2>Basic member permissions</h2>
|
||||||
|
@ -99,6 +101,7 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Submit/cancel buttons -->
|
||||||
<div class="margin-top-3">
|
<div class="margin-top-3">
|
||||||
<button
|
<button
|
||||||
href="/members/"
|
href="/members/"
|
||||||
|
@ -109,9 +112,8 @@
|
||||||
</button>
|
</button>
|
||||||
<button type="submit" class="usa-button">Invite Member</button>
|
<button type="submit" class="usa-button">Invite Member</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
{% endblock form_fields%}
|
|
||||||
{% endblock portfolio_content%}
|
{% endblock portfolio_content%}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -233,6 +233,32 @@ class NewMemberView(PortfolioMembersPermissionView, FormMixin):
|
||||||
self.object = self.get_object()
|
self.object = self.get_object()
|
||||||
form = self.get_form()
|
form = self.get_form()
|
||||||
return self.render_to_response(self.get_context_data(form=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
|
# TODO: future ticket
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue