refactor ids part 2

This commit is contained in:
zandercymatics 2025-03-05 15:22:42 -07:00
parent 949424854e
commit 5107fcb252
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7
7 changed files with 31 additions and 19 deletions

View file

@ -167,7 +167,7 @@ def _user_has_permission(user, request, rules, **kwargs):
# TODO -- fix this on all related URLS :( # TODO -- fix this on all related URLS :(
and ( and (
_member_exists_under_portfolio(portfolio, kwargs.get("member_pk")) _member_exists_under_portfolio(portfolio, kwargs.get("member_pk"))
or _member_invitation_exists_under_portfolio(portfolio, kwargs.get("memberinvitation_pk")) or _member_invitation_exists_under_portfolio(portfolio, kwargs.get("invitedmember_pk"))
), ),
), ),
] ]
@ -213,8 +213,8 @@ def _domain_request_exists_under_portfolio(portfolio, domain_request_pk):
def _member_exists_under_portfolio(portfolio, member_pk): def _member_exists_under_portfolio(portfolio, member_pk):
return UserPortfolioPermission.objects.filter(portfolio=portfolio, id=member_pk).exists() return UserPortfolioPermission.objects.filter(portfolio=portfolio, id=member_pk).exists()
def _member_invitation_exists_under_portfolio(portfolio, memberinvitation_pk): def _member_invitation_exists_under_portfolio(portfolio, invitedmember_pk):
return PortfolioInvitation.objects.filter(portfolio=portfolio, id=memberinvitation_pk).exists() return PortfolioInvitation.objects.filter(portfolio=portfolio, id=invitedmember_pk).exists()
def _is_domain_request_creator(user, domain_request_pk): def _is_domain_request_creator(user, domain_request_pk):
"""Checks to see if the user is the creator of a domain request """Checks to see if the user is the creator of a domain request

View file

@ -91,9 +91,9 @@
aria-describedby="You have unsaved changes that will be lost." aria-describedby="You have unsaved changes that will be lost."
> >
{% if portfolio_permission %} {% if portfolio_permission %}
{% url 'member-domains' pk=portfolio_permission.id as url %} {% url 'member-domains' member_pk=portfolio_permission.id as url %}
{% else %} {% else %}
{% url 'invitedmember-domains' pk=portfolio_invitation.id as url %} {% url 'invitedmember-domains' invitedmember_pk=portfolio_invitation.id as url %}
{% endif %} {% endif %}
{% include 'includes/modal.html' with modal_heading="Are you sure you want to continue?" modal_description="You have unsaved changes that will be lost." modal_button_url=url modal_button_text="Continue without saving" %} {% include 'includes/modal.html' with modal_heading="Are you sure you want to continue?" modal_description="You have unsaved changes that will be lost." modal_button_url=url modal_button_text="Continue without saving" %}

View file

@ -15,11 +15,11 @@
{% url 'members' as url %} {% url 'members' as url %}
{% if portfolio_permission %} {% if portfolio_permission %}
{% url 'member' pk=portfolio_permission.id as url2 %} {% url 'member' member_pk=portfolio_permission.id as url2 %}
{% url 'member-domains-edit' pk=portfolio_permission.id as url3 %} {% url 'member-domains-edit' member_pk=portfolio_permission.id as url3 %}
{% else %} {% else %}
{% url 'invitedmember' pk=portfolio_invitation.id as url2 %} {% url 'invitedmember' invitedmember_pk=portfolio_invitation.id as url2 %}
{% url 'invitedmember-domains-edit' pk=portfolio_invitation.id as url3 %} {% url 'invitedmember-domains-edit' invitedmember_pk=portfolio_invitation.id as url3 %}
{% endif %} {% endif %}
<nav class="usa-breadcrumb padding-top-0" aria-label="Portfolio member breadcrumb"> <nav class="usa-breadcrumb padding-top-0" aria-label="Portfolio member breadcrumb">
<ol class="usa-breadcrumb__list"> <ol class="usa-breadcrumb__list">

View file

@ -15,11 +15,11 @@
{% url 'members' as url %} {% url 'members' as url %}
{% if portfolio_permission %} {% if portfolio_permission %}
{% url 'member' pk=portfolio_permission.id as url2 %} {% url 'member' member_pk=portfolio_permission.id as url2 %}
{% url 'member-domains' pk=portfolio_permission.id as url3 %} {% url 'member-domains' member_pk=portfolio_permission.id as url3 %}
{% else %} {% else %}
{% url 'invitedmember' pk=portfolio_invitation.id as url2 %} {% url 'invitedmember' invitedmember_pk=portfolio_invitation.id as url2 %}
{% url 'invitedmember-domains' pk=portfolio_invitation.id as url3 %} {% url 'invitedmember-domains' invitedmember_pk=portfolio_invitation.id as url3 %}
{% endif %} {% endif %}
<nav class="usa-breadcrumb padding-top-0" aria-label="Portfolio member breadcrumb"> <nav class="usa-breadcrumb padding-top-0" aria-label="Portfolio member breadcrumb">
<ol class="usa-breadcrumb__list"> <ol class="usa-breadcrumb__list">

View file

@ -20,9 +20,9 @@
<!-- Navigation breadcrumbs --> <!-- Navigation breadcrumbs -->
{% url 'members' as url %} {% url 'members' as url %}
{% if portfolio_permission %} {% if portfolio_permission %}
{% url 'member' pk=portfolio_permission.id as url2 %} {% url 'member' member_pk=portfolio_permission.id as url2 %}
{% else %} {% else %}
{% url 'invitedmember' pk=invitation.id as url2 %} {% url 'invitedmember' invitedmember_pk=invitation.id as url2 %}
{% endif %} {% endif %}
<nav class="usa-breadcrumb padding-top-0 bg-gray-1" aria-label="Portfolio member breadcrumb"> <nav class="usa-breadcrumb padding-top-0 bg-gray-1" aria-label="Portfolio member breadcrumb">
<ol class="usa-breadcrumb__list"> <ol class="usa-breadcrumb__list">

View file

@ -213,9 +213,12 @@ class PortfolioMembersJson(View):
view_only = not user.has_edit_members_portfolio_permission(portfolio) or not user_can_edit_other_users view_only = not user.has_edit_members_portfolio_permission(portfolio) or not user_can_edit_other_users
is_admin = UserPortfolioRoleChoices.ORGANIZATION_ADMIN in (item.get("roles") or []) is_admin = UserPortfolioRoleChoices.ORGANIZATION_ADMIN in (item.get("roles") or [])
action_url = reverse(item["type"], kwargs={"pk": item["id"]})
item_type = item.get("type", "") item_type = item.get("type", "")
if item_type == "invitedmember":
action_url = reverse(item["type"], kwargs={"invitedmember_pk": item["id"]})
else:
action_url = reverse(item["type"], kwargs={"member_pk": item["id"]})
# Ensure domain_info is properly processed for invites - # Ensure domain_info is properly processed for invites -
# we need to un-concatenate the subquery # we need to un-concatenate the subquery

View file

@ -77,6 +77,7 @@ class PortfolioMemberView(DetailView, View):
model = Portfolio model = Portfolio
context_object_name = "portfolio" context_object_name = "portfolio"
template_name = "portfolio_member.html" template_name = "portfolio_member.html"
pk_url_kwarg = "member_pk"
def get(self, request, member_pk): def get(self, request, member_pk):
portfolio_permission = get_object_or_404(UserPortfolioPermission, pk=member_pk) portfolio_permission = get_object_or_404(UserPortfolioPermission, pk=member_pk)
@ -118,6 +119,7 @@ class PortfolioMemberView(DetailView, View):
@grant_access(HAS_PORTFOLIO_MEMBERS_VIEW, HAS_PORTFOLIO_MEMBERS_EDIT) @grant_access(HAS_PORTFOLIO_MEMBERS_VIEW, HAS_PORTFOLIO_MEMBERS_EDIT)
class PortfolioMemberDeleteView(View): class PortfolioMemberDeleteView(View):
pk_url_kwarg = "member_pk"
def post(self, request, member_pk): def post(self, request, member_pk):
""" """
@ -224,6 +226,7 @@ class PortfolioMemberEditView(DetailView, View):
context_object_name = "portfolio" context_object_name = "portfolio"
template_name = "portfolio_member_permissions.html" template_name = "portfolio_member_permissions.html"
form_class = portfolioForms.PortfolioMemberForm form_class = portfolioForms.PortfolioMemberForm
pk_url_kwarg = "member_pk"
def get(self, request, member_pk): def get(self, request, member_pk):
portfolio_permission = get_object_or_404(UserPortfolioPermission, pk=member_pk) portfolio_permission = get_object_or_404(UserPortfolioPermission, pk=member_pk)
@ -277,7 +280,7 @@ class PortfolioMemberEditView(DetailView, View):
self._handle_exceptions(e) self._handle_exceptions(e)
form.save() form.save()
messages.success(self.request, "The member access and permission changes have been saved.") messages.success(self.request, "The member access and permission changes have been saved.")
return redirect("member", pk=member_pk) if not removing_admin_role_on_self else redirect("home") return redirect("member", member_pk=member_pk) if not removing_admin_role_on_self else redirect("home")
return render( return render(
request, request,
@ -305,6 +308,7 @@ class PortfolioMemberEditView(DetailView, View):
class PortfolioMemberDomainsView(View): class PortfolioMemberDomainsView(View):
template_name = "portfolio_member_domains.html" template_name = "portfolio_member_domains.html"
pk_url_kwarg = "member_pk"
def get(self, request, member_pk): def get(self, request, member_pk):
portfolio_permission = get_object_or_404(UserPortfolioPermission, pk=member_pk) portfolio_permission = get_object_or_404(UserPortfolioPermission, pk=member_pk)
@ -325,6 +329,7 @@ class PortfolioMemberDomainsEditView(DetailView, View):
model = Portfolio model = Portfolio
context_object_name = "portfolio" context_object_name = "portfolio"
template_name = "portfolio_member_domains_edit.html" template_name = "portfolio_member_domains_edit.html"
pk_url_kwarg = "member_pk"
def get(self, request, member_pk): def get(self, request, member_pk):
portfolio_permission = get_object_or_404(UserPortfolioPermission, pk=member_pk) portfolio_permission = get_object_or_404(UserPortfolioPermission, pk=member_pk)
@ -438,6 +443,7 @@ class PortfolioInvitedMemberView(DetailView, View):
context_object_name = "portfolio" context_object_name = "portfolio"
template_name = "portfolio_member.html" template_name = "portfolio_member.html"
# form_class = PortfolioInvitedMemberForm # form_class = PortfolioInvitedMemberForm
pk_url_kwarg = "invitedmember_pk"
def get(self, request, invitedmember_pk): def get(self, request, invitedmember_pk):
portfolio_invitation = get_object_or_404(PortfolioInvitation, pk=invitedmember_pk) portfolio_invitation = get_object_or_404(PortfolioInvitation, pk=invitedmember_pk)
@ -478,7 +484,7 @@ class PortfolioInvitedMemberView(DetailView, View):
@grant_access(HAS_PORTFOLIO_MEMBERS_VIEW, HAS_PORTFOLIO_MEMBERS_EDIT) @grant_access(HAS_PORTFOLIO_MEMBERS_VIEW, HAS_PORTFOLIO_MEMBERS_EDIT)
class PortfolioInvitedMemberDeleteView(View): class PortfolioInvitedMemberDeleteView(View):
pk_url_kwarg = "invitedmember_pk"
def post(self, request, invitedmember_pk): def post(self, request, invitedmember_pk):
""" """
Find and delete the portfolio invited member using the provided primary key (pk). Find and delete the portfolio invited member using the provided primary key (pk).
@ -528,6 +534,7 @@ class PortfolioInvitedMemberEditView(DetailView, View):
context_object_name = "portfolio" context_object_name = "portfolio"
template_name = "portfolio_member_permissions.html" template_name = "portfolio_member_permissions.html"
form_class = portfolioForms.PortfolioInvitedMemberForm form_class = portfolioForms.PortfolioInvitedMemberForm
pk_url_kwarg = "invitedmember_pk"
def get(self, request, invitedmember_pk): def get(self, request, invitedmember_pk):
portfolio_invitation = get_object_or_404(PortfolioInvitation, pk=invitedmember_pk) portfolio_invitation = get_object_or_404(PortfolioInvitation, pk=invitedmember_pk)
@ -569,7 +576,7 @@ class PortfolioInvitedMemberEditView(DetailView, View):
self._handle_exceptions(e) self._handle_exceptions(e)
form.save() form.save()
messages.success(self.request, "The member access and permission changes have been saved.") messages.success(self.request, "The member access and permission changes have been saved.")
return redirect("invitedmember", pk=invitedmember_pk) return redirect("invitedmember", invitedmember_pk=invitedmember_pk)
return render( return render(
request, request,
@ -597,6 +604,7 @@ class PortfolioInvitedMemberEditView(DetailView, View):
class PortfolioInvitedMemberDomainsView(View): class PortfolioInvitedMemberDomainsView(View):
template_name = "portfolio_member_domains.html" template_name = "portfolio_member_domains.html"
pk_url_kwarg = "invitedmember_pk"
def get(self, request, invitedmember_pk): def get(self, request, invitedmember_pk):
portfolio_invitation = get_object_or_404(PortfolioInvitation, pk=invitedmember_pk) portfolio_invitation = get_object_or_404(PortfolioInvitation, pk=invitedmember_pk)
@ -616,6 +624,7 @@ class PortfolioInvitedMemberDomainsEditView(DetailView, View):
model = Portfolio model = Portfolio
context_object_name = "portfolio" context_object_name = "portfolio"
template_name = "portfolio_member_domains_edit.html" template_name = "portfolio_member_domains_edit.html"
pk_url_kwarg = "invitedmember_pk"
def get(self, request, invitedmember_pk): def get(self, request, invitedmember_pk):
portfolio_invitation = get_object_or_404(PortfolioInvitation, pk=invitedmember_pk) portfolio_invitation = get_object_or_404(PortfolioInvitation, pk=invitedmember_pk)