finally created overrides for those custom radio buttons that work

This commit is contained in:
CocoByte 2024-10-23 23:58:48 -06:00
parent 0af4727c56
commit de0e0d55c6
No known key found for this signature in database
GPG key ID: BBFAA2526384C97F
4 changed files with 56 additions and 17 deletions

View file

@ -918,7 +918,8 @@ function setupUrbanizationToggle(stateTerritoryField) {
*
*/
(function newMemberFormListener() {
HookupYesNoListener("new_member-permission_level",'new-member-admin-permissions', 'new-member-basic-permissions')
// HookupYesNoListener("new_member-permission_level",'new-member-admin-permissions', 'new-member-basic-permissions')
HookupYesNoListener("member_access_level",'new-member-admin-permissions', 'new-member-basic-permissions')
})();
/**

View file

@ -165,17 +165,32 @@ class PortfolioInvitedMemberForm(forms.ModelForm):
class NewMemberForm(forms.ModelForm):
member_access_level = forms.ChoiceField(
label="Select permission",
choices=[("True", "Admin Access"), ("False", "Basic Access")],
widget=forms.RadioSelect(attrs={'class': 'usa-radio__input usa-radio__input--tile'}),
required=True,
error_messages={
"required": "Member access level is required",
},
)
admin_org_domain_request_permissions = forms.ChoiceField(
label="Select permission",
choices=[("view_only", "View all requests"), ("view_and_create", "View all requests plus create requests")],
widget=forms.RadioSelect,
required=True,
error_messages={
"required": "Domain request permission is required",
},
)
admin_org_members_permissions = forms.ChoiceField(
label="Select permission",
choices=[("view_only", "View all members"), ("view_and_create", "View all members plus manage members")],
widget=forms.RadioSelect,
required=True,
error_messages={
"required": "Member permission is required",
},
)
basic_org_domain_request_permissions = forms.ChoiceField(
label="Select permission",
@ -186,6 +201,9 @@ class NewMemberForm(forms.ModelForm):
],
widget=forms.RadioSelect,
required=True,
error_messages={
"required": "Member permission is required",
},
)
email = forms.EmailField(
@ -223,4 +241,21 @@ class NewMemberForm(forms.ModelForm):
# except User.DoesNotExist:
# raise forms.ValidationError("User with this email does not exist.")
# Get the grade and sport from POST data
permission_level = cleaned_data.get("member_access_level")
# permission_level = self.data.get('new_member-permission_level')
if not permission_level:
for field in self.fields:
if field in self.errors and field != "email" and field != "member_access_level":
del self.errors[field]
return cleaned_data
# Validate the sport based on the selected grade
if permission_level == "True":
#remove the error messages pertaining to basic permission inputs
del self.errors["basic_org_domain_request_permissions"]
else:
#remove the error messages pertaining to admin permission inputs
del self.errors["admin_org_domain_request_permissions"]
del self.errors["admin_org_members_permissions"]
return cleaned_data

View file

@ -56,22 +56,25 @@
</legend>
<em>Select the level of access for this member. <abbr class="usa-hint usa-hint--required" title="required">*</abbr></em>
{% with group_classes="usa-form-editable usa-form-editable--no-border padding-top-0" %}
<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="">
<label class="usa-radio__label usa-legend" for="id_new_member-permission_level_0">
Admin access
{% for radio in form.member_access_level %}
{{ radio.tag }}
<label class="usa-radio__label usa-legend" for="{{ radio.id_for_label }}">
{{ radio.choice_label }}
<p class="margin-0 margin-top-2">
{% if radio.choice_label == "Admin Access" %}
Grants this member access to the organization-wide information on domains, domain requests, and members. Domain management can be assigned separately.
</p>
</label>
<input type="radio" name="new_member-permission_level" class="usa-radio__input usa-radio__input--tile" value="False" id="id_new_member-permission_level_1" required="">
<label class="usa-radio__label usa-legend" for="id_new_member-permission_level_1">
Basic Access
<p class="margin-0 margin-top-2">
{% else %}
Grants this member access to the organization. They can be given extra permissions to view all organization domain requests and submit domain requests on behald of the organization. Basica access members can't view all members of an organization or manage them. Domain management can be assigned separacterly.
{% endif %}
</p>
</label>
{% endfor %}
</div>
{% endwith %}
</fieldset>
<!-- Admin access form -->
@ -86,7 +89,7 @@
{% input_with_errors form.admin_org_domain_request_permissions %}
{% endwith %}
<h3 class="margin-bottom-0 margin-top-3">Organization Members</h3>
<h3 class="margin-bottom-0 margin-top-3">Organization members</h3>
{% with group_classes="usa-form-editable usa-form-editable--no-border padding-top-0" %}
{% input_with_errors form.admin_org_members_permissions %}
{% endwith %}

View file

@ -401,7 +401,7 @@ class NewMemberView(PortfolioMembersPermissionView, FormMixin):
return self.render_to_response(self.get_context_data(form=form))
def get_success_url(self):
"""Redirect to the overview page for the portfolio."""
"""Redirect to members table."""
return reverse("members")
##########################################