Implemented PR feedback

This commit is contained in:
CocoByte 2024-10-30 15:40:00 -06:00
parent 5fc0342426
commit ba7de7c678
No known key found for this signature in database
GPG key ID: BBFAA2526384C97F
4 changed files with 31 additions and 86 deletions

View file

@ -337,7 +337,7 @@ function HookupRadioTogglerListener(radioButtonName, valueToElementMap) {
allElementIds.forEach(function (elementId) {
let element = document.getElementById(elementId);
if (element) {
element.style.display = 'none';
hideElement(element);
}
});
@ -345,7 +345,7 @@ function HookupRadioTogglerListener(radioButtonName, valueToElementMap) {
if (selectedValue && valueToElementMap[selectedValue]) {
let elementToShow = document.getElementById(valueToElementMap[selectedValue]);
if (elementToShow) {
elementToShow.style.display = 'block';
showElement(elementToShow);
}
}
}

View file

@ -180,7 +180,7 @@ class NewMemberForm(forms.ModelForm):
widget=forms.RadioSelect,
required=True,
error_messages={
"required": "Domain request permission is required",
"required": "Admin domain request permission is required",
},
)
admin_org_members_permissions = forms.ChoiceField(
@ -189,7 +189,7 @@ class NewMemberForm(forms.ModelForm):
widget=forms.RadioSelect,
required=True,
error_messages={
"required": "Member permission is required",
"required": "Admin member permission is required",
},
)
basic_org_domain_request_permissions = forms.ChoiceField(
@ -202,7 +202,7 @@ class NewMemberForm(forms.ModelForm):
widget=forms.RadioSelect,
required=True,
error_messages={
"required": "Member permission is required",
"required": "Basic member permission is required",
},
)
@ -234,6 +234,11 @@ class NewMemberForm(forms.ModelForm):
if email_value:
cleaned_data["email"] = email_value.lower()
##########################################
# TODO: future ticket
# (invite new member)
##########################################
# Check for an existing user (if there isn't any, send an invite)
# if email_value:
# try:
@ -241,21 +246,29 @@ 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:
member_access_level = cleaned_data.get("member_access_level")
# Intercept the error messages so that we don't validate hidden inputs
if not member_access_level:
# If no member access level has been selected, delete error messages
# for all hidden inputs (which is everything except the e-mail input
# and member access selection)
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
basic_dom_req_error = "basic_org_domain_request_permissions"
admin_dom_req_error = "admin_org_domain_request_permissions"
admin_member_error = "admin_org_members_permissions"
# Validate the sport based on the selected grade
if permission_level == "True":
if member_access_level == "admin" and basic_dom_req_error in self.errors:
# remove the error messages pertaining to basic permission inputs
del self.errors["basic_org_domain_request_permissions"]
else:
del self.errors[basic_dom_req_error]
elif member_access_level == "basic":
# remove the error messages pertaining to admin permission inputs
del self.errors["admin_org_domain_request_permissions"]
del self.errors["admin_org_members_permissions"]
if admin_dom_req_error in self.errors:
del self.errors[admin_dom_req_error]
if admin_member_error in self.errors:
del self.errors[admin_member_error]
return cleaned_data

View file

@ -65,9 +65,9 @@
{{ 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.
Grants this member access to the organization-wide information on domains, domain requests, and members. Domain management can be assigned separately.
{% 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.
Grants this member access to the organization. They can be given extra permissions to view all organization domain requests and submit domain requests on behalf of the organization. Basic access members cant view all members of an organization or manage them. Domain management can be assigned separately.
{% endif %}
</p>
</label>

View file

@ -388,13 +388,6 @@ class NewMemberView(PortfolioMembersPermissionView, FormMixin):
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."""
@ -405,7 +398,7 @@ class NewMemberView(PortfolioMembersPermissionView, FormMixin):
return reverse("members")
##########################################
# TODO: future ticket
# TODO: future ticket #2854
# (save/invite new member)
##########################################
@ -526,64 +519,3 @@ class NewMemberView(PortfolioMembersPermissionView, FormMixin):
# else:
# messages.success(self.request, f"Added user {requested_email}.")
# return redirect(self.get_success_url())
# class NewMemberView(PortfolioMembersPermissionView, FormMixin):
# form = portfolioForms.NewMemberForm
# template_name = 'portfolio_members_add_new.html' # Assuming you have a template file for the form
# # model = UserPortfolioPermission
# # template_name = "portfolio_members_add_new.html"
# # form_class = portfolioForms.NewMemberForm
# # context_object_name = "userPortfolioPermission"
# def get_success_url(self):
# return reverse('success') # Redirect after successful submission
# def get_context_data(self, **kwargs):
# """Add additional context data to the template."""
# #TODO: Add permissions to context
# context = super().get_context_data(**kwargs)
# portfolio = self.request.session.get("portfolio")
# context["has_invite_members_permission"] = self.request.user.has_edit_members_portfolio_permission(portfolio)
# return context
# def form_valid(self, form):
# # Get the cleaned data from the form
# cleaned_data = form.cleaned_data
# email = cleaned_data.get('email')
# # grade = cleaned_data.get('grade')
# # sport = cleaned_data.get('sport')
# ##########################################
# # TODO: future ticket
# # (validate and save/invite new member here)
# ##########################################
# # Lookup member by email
# # member = get_object_or_404(User, email=email)
# # Check existing portfolio permissions
# # TODO: future ticket -- check for existing portfolio permissions, multipe portfolio flags, etc.
# # school = self.get_context_data()['school']
# # Update student school information
# # student.school = school
# # student.save()
# # Create or update the SportEnrollment for this student
# # SportEnrollment.objects.create(
# # student=student,
# # grade=grade,
# # sport=sport
# # )
# return super().form_valid(form)
# def form_invalid(self, form):
# # If the form is invalid, show errors
# return self.render_to_response(self.get_context_data(form=form))
# def get(self, request):
# return render(request, "portfolio_members_add_new.html")