mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-08-16 22:44:11 +02:00
Merge pull request #3471 from cisagov/nl/3390-remove-portfolio-member-roles-column
#3390 - Remove "roles" column in the Portfolio "members" admin table - [CB]
This commit is contained in:
commit
90946f4437
4 changed files with 1 additions and 120 deletions
|
@ -269,7 +269,7 @@ class User(AbstractUser):
|
||||||
return self._has_portfolio_permission(portfolio, UserPortfolioPermissionChoices.EDIT_REQUESTS)
|
return self._has_portfolio_permission(portfolio, UserPortfolioPermissionChoices.EDIT_REQUESTS)
|
||||||
|
|
||||||
def is_portfolio_admin(self, portfolio):
|
def is_portfolio_admin(self, portfolio):
|
||||||
return "Admin" in self.portfolio_role_summary(portfolio)
|
return self.has_edit_portfolio_permission(portfolio)
|
||||||
|
|
||||||
def get_first_portfolio(self):
|
def get_first_portfolio(self):
|
||||||
permission = self.portfolio_permissions.first()
|
permission = self.portfolio_permissions.first()
|
||||||
|
@ -277,49 +277,6 @@ class User(AbstractUser):
|
||||||
return permission.portfolio
|
return permission.portfolio
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def portfolio_role_summary(self, portfolio):
|
|
||||||
"""Returns a list of roles based on the user's permissions."""
|
|
||||||
roles = []
|
|
||||||
|
|
||||||
# Define the conditions and their corresponding roles
|
|
||||||
conditions_roles = [
|
|
||||||
(self.has_edit_portfolio_permission(portfolio), ["Admin"]),
|
|
||||||
(
|
|
||||||
self.has_view_all_domains_portfolio_permission(portfolio)
|
|
||||||
and self.has_any_requests_portfolio_permission(portfolio)
|
|
||||||
and self.has_edit_request_portfolio_permission(portfolio),
|
|
||||||
["View-only admin", "Domain requestor"],
|
|
||||||
),
|
|
||||||
(
|
|
||||||
self.has_view_all_domains_portfolio_permission(portfolio)
|
|
||||||
and self.has_any_requests_portfolio_permission(portfolio),
|
|
||||||
["View-only admin"],
|
|
||||||
),
|
|
||||||
(
|
|
||||||
self.has_view_portfolio_permission(portfolio)
|
|
||||||
and self.has_edit_request_portfolio_permission(portfolio)
|
|
||||||
and self.has_any_domains_portfolio_permission(portfolio),
|
|
||||||
["Domain requestor", "Domain manager"],
|
|
||||||
),
|
|
||||||
(
|
|
||||||
self.has_view_portfolio_permission(portfolio) and self.has_edit_request_portfolio_permission(portfolio),
|
|
||||||
["Domain requestor"],
|
|
||||||
),
|
|
||||||
(
|
|
||||||
self.has_view_portfolio_permission(portfolio) and self.has_any_domains_portfolio_permission(portfolio),
|
|
||||||
["Domain manager"],
|
|
||||||
),
|
|
||||||
(self.has_view_portfolio_permission(portfolio), ["Member"]),
|
|
||||||
]
|
|
||||||
|
|
||||||
# Evaluate conditions and add roles
|
|
||||||
for condition, role_list in conditions_roles:
|
|
||||||
if condition:
|
|
||||||
roles.extend(role_list)
|
|
||||||
break
|
|
||||||
|
|
||||||
return roles
|
|
||||||
|
|
||||||
def get_portfolios(self):
|
def get_portfolios(self):
|
||||||
return self.portfolio_permissions.all()
|
return self.portfolio_permissions.all()
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
<th>Title</th>
|
<th>Title</th>
|
||||||
<th>Email</th>
|
<th>Email</th>
|
||||||
<th>Phone</th>
|
<th>Phone</th>
|
||||||
<th>Roles</th>
|
|
||||||
<th>Action</th>
|
<th>Action</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
@ -28,11 +27,6 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td>{{ member.user.phone }}</td>
|
<td>{{ member.user.phone }}</td>
|
||||||
<td>
|
|
||||||
{% for role in member.user|portfolio_role_summary:original %}
|
|
||||||
<span class="usa-tag bg-primary-dark text-semibold">{{ role }}</span>
|
|
||||||
{% endfor %}
|
|
||||||
</td>
|
|
||||||
<td class="padding-left-1 text-size-small">
|
<td class="padding-left-1 text-size-small">
|
||||||
{% if member.user.email %}
|
{% if member.user.email %}
|
||||||
<input aria-hidden="true" class="display-none" value="{{ member.user.email }}" />
|
<input aria-hidden="true" class="display-none" value="{{ member.user.email }}" />
|
||||||
|
|
|
@ -251,15 +251,6 @@ def is_members_subpage(path):
|
||||||
return get_url_name(path) in url_names
|
return get_url_name(path) in url_names
|
||||||
|
|
||||||
|
|
||||||
@register.filter(name="portfolio_role_summary")
|
|
||||||
def portfolio_role_summary(user, portfolio):
|
|
||||||
"""Returns the value of user.portfolio_role_summary"""
|
|
||||||
if user and portfolio:
|
|
||||||
return user.portfolio_role_summary(portfolio)
|
|
||||||
else:
|
|
||||||
return []
|
|
||||||
|
|
||||||
|
|
||||||
@register.filter(name="display_requesting_entity")
|
@register.filter(name="display_requesting_entity")
|
||||||
def display_requesting_entity(domain_request):
|
def display_requesting_entity(domain_request):
|
||||||
"""Workaround for a newline issue in .txt files (our emails) as if statements
|
"""Workaround for a newline issue in .txt files (our emails) as if statements
|
||||||
|
|
|
@ -1191,67 +1191,6 @@ class TestUser(TestCase):
|
||||||
User.objects.all().delete()
|
User.objects.all().delete()
|
||||||
UserDomainRole.objects.all().delete()
|
UserDomainRole.objects.all().delete()
|
||||||
|
|
||||||
@patch.object(User, "has_edit_portfolio_permission", return_value=True)
|
|
||||||
def test_portfolio_role_summary_admin(self, mock_edit_org):
|
|
||||||
# Test if the user is recognized as an Admin
|
|
||||||
self.assertEqual(self.user.portfolio_role_summary(self.portfolio), ["Admin"])
|
|
||||||
|
|
||||||
@patch.multiple(
|
|
||||||
User,
|
|
||||||
has_view_all_domains_portfolio_permission=lambda self, portfolio: True,
|
|
||||||
has_any_requests_portfolio_permission=lambda self, portfolio: True,
|
|
||||||
has_edit_request_portfolio_permission=lambda self, portfolio: True,
|
|
||||||
)
|
|
||||||
def test_portfolio_role_summary_view_only_admin_and_domain_requestor(self):
|
|
||||||
# Test if the user has both 'View-only admin' and 'Domain requestor' roles
|
|
||||||
self.assertEqual(self.user.portfolio_role_summary(self.portfolio), ["View-only admin", "Domain requestor"])
|
|
||||||
|
|
||||||
@patch.multiple(
|
|
||||||
User,
|
|
||||||
has_view_all_domains_portfolio_permission=lambda self, portfolio: True,
|
|
||||||
has_any_requests_portfolio_permission=lambda self, portfolio: True,
|
|
||||||
)
|
|
||||||
def test_portfolio_role_summary_view_only_admin(self):
|
|
||||||
# Test if the user is recognized as a View-only admin
|
|
||||||
self.assertEqual(self.user.portfolio_role_summary(self.portfolio), ["View-only admin"])
|
|
||||||
|
|
||||||
@patch.multiple(
|
|
||||||
User,
|
|
||||||
has_view_portfolio_permission=lambda self, portfolio: True,
|
|
||||||
has_edit_request_portfolio_permission=lambda self, portfolio: True,
|
|
||||||
has_any_domains_portfolio_permission=lambda self, portfolio: True,
|
|
||||||
)
|
|
||||||
def test_portfolio_role_summary_member_domain_requestor_domain_manager(self):
|
|
||||||
# Test if the user has 'Member', 'Domain requestor', and 'Domain manager' roles
|
|
||||||
self.assertEqual(self.user.portfolio_role_summary(self.portfolio), ["Domain requestor", "Domain manager"])
|
|
||||||
|
|
||||||
@patch.multiple(
|
|
||||||
User,
|
|
||||||
has_view_portfolio_permission=lambda self, portfolio: True,
|
|
||||||
has_edit_request_portfolio_permission=lambda self, portfolio: True,
|
|
||||||
)
|
|
||||||
def test_portfolio_role_summary_member_domain_requestor(self):
|
|
||||||
# Test if the user has 'Member' and 'Domain requestor' roles
|
|
||||||
self.assertEqual(self.user.portfolio_role_summary(self.portfolio), ["Domain requestor"])
|
|
||||||
|
|
||||||
@patch.multiple(
|
|
||||||
User,
|
|
||||||
has_view_portfolio_permission=lambda self, portfolio: True,
|
|
||||||
has_any_domains_portfolio_permission=lambda self, portfolio: True,
|
|
||||||
)
|
|
||||||
def test_portfolio_role_summary_member_domain_manager(self):
|
|
||||||
# Test if the user has 'Member' and 'Domain manager' roles
|
|
||||||
self.assertEqual(self.user.portfolio_role_summary(self.portfolio), ["Domain manager"])
|
|
||||||
|
|
||||||
@patch.multiple(User, has_view_portfolio_permission=lambda self, portfolio: True)
|
|
||||||
def test_portfolio_role_summary_member(self):
|
|
||||||
# Test if the user is recognized as a Member
|
|
||||||
self.assertEqual(self.user.portfolio_role_summary(self.portfolio), ["Member"])
|
|
||||||
|
|
||||||
def test_portfolio_role_summary_empty(self):
|
|
||||||
# Test if the user has no roles
|
|
||||||
self.assertEqual(self.user.portfolio_role_summary(self.portfolio), [])
|
|
||||||
|
|
||||||
@patch("registrar.models.User._has_portfolio_permission")
|
@patch("registrar.models.User._has_portfolio_permission")
|
||||||
def test_has_view_portfolio_permission(self, mock_has_permission):
|
def test_has_view_portfolio_permission(self, mock_has_permission):
|
||||||
mock_has_permission.return_value = True
|
mock_has_permission.return_value = True
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue