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() { (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): 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( admin_org_domain_request_permissions = forms.ChoiceField(
label="Select permission", label="Select permission",
choices=[("view_only", "View all requests"), ("view_and_create", "View all requests plus create requests")], choices=[("view_only", "View all requests"), ("view_and_create", "View all requests plus create requests")],
widget=forms.RadioSelect, widget=forms.RadioSelect,
required=True, required=True,
error_messages={
"required": "Domain request permission is required",
},
) )
admin_org_members_permissions = forms.ChoiceField( admin_org_members_permissions = forms.ChoiceField(
label="Select permission", label="Select permission",
choices=[("view_only", "View all members"), ("view_and_create", "View all members plus manage members")], choices=[("view_only", "View all members"), ("view_and_create", "View all members plus manage members")],
widget=forms.RadioSelect, widget=forms.RadioSelect,
required=True, required=True,
error_messages={
"required": "Member permission is required",
},
) )
basic_org_domain_request_permissions = forms.ChoiceField( basic_org_domain_request_permissions = forms.ChoiceField(
label="Select permission", label="Select permission",
@ -186,6 +201,9 @@ class NewMemberForm(forms.ModelForm):
], ],
widget=forms.RadioSelect, widget=forms.RadioSelect,
required=True, required=True,
error_messages={
"required": "Member permission is required",
},
) )
email = forms.EmailField( email = forms.EmailField(
@ -223,4 +241,21 @@ class NewMemberForm(forms.ModelForm):
# except User.DoesNotExist: # except User.DoesNotExist:
# raise forms.ValidationError("User with this email does not exist.") # 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 return cleaned_data

View file

@ -56,22 +56,25 @@
</legend> </legend>
<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>
{% with group_classes="usa-form-editable usa-form-editable--no-border padding-top-0" %}
<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=""> {% for radio in form.member_access_level %}
<label class="usa-radio__label usa-legend" for="id_new_member-permission_level_0"> {{ radio.tag }}
Admin access <label class="usa-radio__label usa-legend" for="{{ radio.id_for_label }}">
<p class="margin-0 margin-top-2"> {{ radio.choice_label }}
Grants this member access to the organization-wide information on domains, domain requests, and members. Domain management can be assigned separately. <p class="margin-0 margin-top-2">
</p> {% if radio.choice_label == "Admin Access" %}
</label> Grants this member access to the organization-wide information on domains, domain requests, and members. Domain management can be assigned separately.
<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=""> {% else %}
<label class="usa-radio__label usa-legend" for="id_new_member-permission_level_1"> 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.
Basic Access {% endif %}
<p class="margin-0 margin-top-2"> </p>
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. </label>
</p> {% endfor %}
</label>
</div> </div>
{% endwith %}
</fieldset> </fieldset>
<!-- Admin access form --> <!-- Admin access form -->
@ -86,7 +89,7 @@
{% input_with_errors form.admin_org_domain_request_permissions %} {% input_with_errors form.admin_org_domain_request_permissions %}
{% endwith %} {% 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" %} {% with group_classes="usa-form-editable usa-form-editable--no-border padding-top-0" %}
{% input_with_errors form.admin_org_members_permissions %} {% input_with_errors form.admin_org_members_permissions %}
{% endwith %} {% endwith %}

View file

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