Update admin.py

This commit is contained in:
zandercymatics 2024-09-23 12:21:02 -06:00
parent d8227148f6
commit 9ccea3f776
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7

View file

@ -2899,7 +2899,7 @@ class VerifiedByStaffAdmin(ListHeaderAdmin):
class PortfolioAdmin(ListHeaderAdmin): class PortfolioAdmin(ListHeaderAdmin):
class Meta: class Meta:
"""Contains meta information about this class""" """Contains meta information about this class"""
@ -3003,12 +3003,10 @@ class PortfolioAdmin(ListHeaderAdmin):
admin_users = User.objects.filter(portfolio_permissions__in=admin_permissions) admin_users = User.objects.filter(portfolio_permissions__in=admin_permissions)
return admin_users return admin_users
def get_user_portfolio_permission_admins(self, obj): def get_user_portfolio_permission_admins(self, obj):
"""Returns each admin on UserPortfolioPermission for a given portfolio.""" """Returns each admin on UserPortfolioPermission for a given portfolio."""
return obj.portfolio_users.filter( return obj.portfolio_users.filter(portfolio=obj, roles__contains=[UserPortfolioRoleChoices.ORGANIZATION_ADMIN])
portfolio=obj, roles__contains=[UserPortfolioRoleChoices.ORGANIZATION_ADMIN]
)
def get_non_admin_users(self, obj): def get_non_admin_users(self, obj):
# Filter UserPortfolioPermission objects related to the portfolio that do NOT have the "Admin" role # Filter UserPortfolioPermission objects related to the portfolio that do NOT have the "Admin" role
@ -3020,13 +3018,10 @@ class PortfolioAdmin(ListHeaderAdmin):
non_admin_users = User.objects.filter(portfolio_permissions__in=non_admin_permissions) non_admin_users = User.objects.filter(portfolio_permissions__in=non_admin_permissions)
return non_admin_users return non_admin_users
def get_user_portfolio_permission_non_admins(self, obj): def get_user_portfolio_permission_non_admins(self, obj):
"""Returns each admin on UserPortfolioPermission for a given portfolio.""" """Returns each admin on UserPortfolioPermission for a given portfolio."""
return obj.portfolio_users.exclude( return obj.portfolio_users.exclude(roles__contains=[UserPortfolioRoleChoices.ORGANIZATION_ADMIN])
roles__contains=[UserPortfolioRoleChoices.ORGANIZATION_ADMIN]
)
def display_admins(self, obj): def display_admins(self, obj):
"""Get joined users who are Admin, unpack and return an HTML block. """Get joined users who are Admin, unpack and return an HTML block.
@ -3046,13 +3041,17 @@ class PortfolioAdmin(ListHeaderAdmin):
address_id = f"portfolio-administrator-{portfolio_admin.pk}" address_id = f"portfolio-administrator-{portfolio_admin.pk}"
if len(admins) > 1: if len(admins) > 1:
admin_details += f'<label class="organization-admin-label" for="{address_id}">Organization admin {i+1}</label>' admin_details += (
f'<label class="organization-admin-label" for="{address_id}">Organization admin {i+1}</label>'
)
admin_details += f'<address id="{address_id}" class="margin-bottom-2 dja-address-contact-list">' admin_details += f'<address id="{address_id}" class="margin-bottom-2 dja-address-contact-list">'
admin_details += f'<a href="{change_url}">{escape(portfolio_admin.user)}</a><br>' admin_details += f'<a href="{change_url}">{escape(portfolio_admin.user)}</a><br>'
admin_details += f"{escape(portfolio_admin.user.title)}<br>" admin_details += f"{escape(portfolio_admin.user.title)}<br>"
admin_details += f"{escape(portfolio_admin.user.email)}" admin_details += f"{escape(portfolio_admin.user.email)}"
admin_details += "<div class='admin-icon-group admin-icon-group__clipboard-link'>" admin_details += "<div class='admin-icon-group admin-icon-group__clipboard-link'>"
admin_details += f"<input aria-hidden='true' class='display-none' value='{escape(portfolio_admin.user.email)}'>" admin_details += (
f"<input aria-hidden='true' class='display-none' value='{escape(portfolio_admin.user.email)}'>"
)
admin_details += ( admin_details += (
"<button class='usa-button usa-button--unstyled padding-right-1 usa-button--icon padding-left-05" "<button class='usa-button usa-button--unstyled padding-right-1 usa-button--icon padding-left-05"
+ "button--clipboard copy-to-clipboard text-no-underline' type='button'>" + "button--clipboard copy-to-clipboard text-no-underline' type='button'>"