diff --git a/src/registrar/config/urls.py b/src/registrar/config/urls.py index 754edca1c..da115d471 100644 --- a/src/registrar/config/urls.py +++ b/src/registrar/config/urls.py @@ -86,6 +86,11 @@ urlpatterns = [ views.PortfolioMemberView.as_view(), name="member", ), + path( + "invitedmember/", + views.PortfolioInvitedMemberView.as_view(), + name="invitedmember", + ), # path( # "no-organization-members/", # views.PortfolioNoMembersView.as_view(), diff --git a/src/registrar/forms/portfolio.py b/src/registrar/forms/portfolio.py index 2b669c50c..cdf00c625 100644 --- a/src/registrar/forms/portfolio.py +++ b/src/registrar/forms/portfolio.py @@ -4,6 +4,7 @@ import logging from django import forms from django.core.validators import RegexValidator +from registrar.models.portfolio_invitation import PortfolioInvitation from registrar.models.user_portfolio_permission import UserPortfolioPermission from registrar.models.utility.portfolio_helper import UserPortfolioPermissionChoices, UserPortfolioRoleChoices @@ -126,3 +127,30 @@ class PortfolioMemberForm(forms.ModelForm): "additional_permissions", ] + +class PortfolioInvitedMemberForm(forms.ModelForm): + """ + Form for updating a portfolio invited member. + """ + + portfolio_roles = forms.MultipleChoiceField( + choices=UserPortfolioRoleChoices.choices, + widget=forms.SelectMultiple(attrs={'class': 'usa-select'}), + required=False, + label="Roles", + ) + + portfolio_additional_permissions = forms.MultipleChoiceField( + choices=UserPortfolioPermissionChoices.choices, + widget=forms.SelectMultiple(attrs={'class': 'usa-select'}), + required=False, + label="Additional Permissions", + ) + + class Meta: + model = PortfolioInvitation + fields = [ + "portfolio_roles", + "portfolio_additional_permissions", + ] + diff --git a/src/registrar/templates/portfolio_member.html b/src/registrar/templates/portfolio_member.html index 3f089ebe1..284a795eb 100644 --- a/src/registrar/templates/portfolio_member.html +++ b/src/registrar/templates/portfolio_member.html @@ -15,17 +15,22 @@

Member

-

{{ user.first_name }}

+

{{ member.first_name }}


{% csrf_token %} - - {% input_with_errors form.roles %} - {% input_with_errors form.additional_permissions %} - + {% if form.roles %} + {% comment - handling form fields for member %} + {% input_with_errors form.roles %} + {% input_with_errors form.additional_permissions %} + {% elif form.portfolio_roles %} + {% comment - handling form fields for invited member %} + {% input_with_errors form.portfolio_roles %} + {% input_with_errors form.portfolio_additional_permissions %} + {% endif %}