mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-13 22:45:05 +02:00
lint + tests
This commit is contained in:
parent
4597133186
commit
aa926ec88b
2 changed files with 8 additions and 30 deletions
|
@ -3227,28 +3227,6 @@ class PortfolioAdmin(ListHeaderAdmin):
|
||||||
return self.add_fieldsets
|
return self.add_fieldsets
|
||||||
return super().get_fieldsets(request, obj)
|
return super().get_fieldsets(request, obj)
|
||||||
|
|
||||||
def get_readonly_fields(self, request, obj=None):
|
|
||||||
"""Set the read-only state on form elements.
|
|
||||||
We have 2 conditions that determine which fields are read-only:
|
|
||||||
admin user permissions and the creator's status, so
|
|
||||||
we'll use the baseline readonly_fields and extend it as needed.
|
|
||||||
"""
|
|
||||||
readonly_fields = list(self.readonly_fields)
|
|
||||||
|
|
||||||
# Check if the creator is restricted
|
|
||||||
if obj and obj.creator.status == models.User.RESTRICTED:
|
|
||||||
# For fields like CharField, IntegerField, etc., the widget used is
|
|
||||||
# straightforward and the readonly_fields list can control their behavior
|
|
||||||
readonly_fields.extend([field.name for field in self.model._meta.fields])
|
|
||||||
|
|
||||||
if request.user.has_perm("registrar.full_access_permission"):
|
|
||||||
return readonly_fields
|
|
||||||
|
|
||||||
# Return restrictive Read-only fields for analysts and
|
|
||||||
# users who might not belong to groups
|
|
||||||
readonly_fields.extend([field for field in self.analyst_readonly_fields])
|
|
||||||
return readonly_fields
|
|
||||||
|
|
||||||
def change_view(self, request, object_id, form_url="", extra_context=None):
|
def change_view(self, request, object_id, form_url="", extra_context=None):
|
||||||
"""Add related suborganizations and domain groups.
|
"""Add related suborganizations and domain groups.
|
||||||
Add the summary for the portfolio members field (list of members that link to change_forms)."""
|
Add the summary for the portfolio members field (list of members that link to change_forms)."""
|
||||||
|
|
|
@ -2051,7 +2051,7 @@ class TestPortfolioAdmin(TestCase):
|
||||||
email="meaoward@gov.gov",
|
email="meaoward@gov.gov",
|
||||||
)
|
)
|
||||||
|
|
||||||
UserPortfolioPermission.objects.all().create(
|
perm_1 = UserPortfolioPermission.objects.all().create(
|
||||||
user=admin_user_1, portfolio=self.portfolio, roles=[UserPortfolioRoleChoices.ORGANIZATION_ADMIN]
|
user=admin_user_1, portfolio=self.portfolio, roles=[UserPortfolioRoleChoices.ORGANIZATION_ADMIN]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -2063,7 +2063,7 @@ class TestPortfolioAdmin(TestCase):
|
||||||
email="poopy@gov.gov",
|
email="poopy@gov.gov",
|
||||||
)
|
)
|
||||||
|
|
||||||
UserPortfolioPermission.objects.all().create(
|
perm_2 = UserPortfolioPermission.objects.all().create(
|
||||||
user=admin_user_2, portfolio=self.portfolio, roles=[UserPortfolioRoleChoices.ORGANIZATION_ADMIN]
|
user=admin_user_2, portfolio=self.portfolio, roles=[UserPortfolioRoleChoices.ORGANIZATION_ADMIN]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -2075,7 +2075,7 @@ class TestPortfolioAdmin(TestCase):
|
||||||
email="madmax@gov.gov",
|
email="madmax@gov.gov",
|
||||||
)
|
)
|
||||||
|
|
||||||
UserPortfolioPermission.objects.all().create(
|
perm_3 = UserPortfolioPermission.objects.all().create(
|
||||||
user=admin_user_3, portfolio=self.portfolio, roles=[UserPortfolioRoleChoices.ORGANIZATION_MEMBER]
|
user=admin_user_3, portfolio=self.portfolio, roles=[UserPortfolioRoleChoices.ORGANIZATION_MEMBER]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -2087,7 +2087,7 @@ class TestPortfolioAdmin(TestCase):
|
||||||
email="thematrix@gov.gov",
|
email="thematrix@gov.gov",
|
||||||
)
|
)
|
||||||
|
|
||||||
UserPortfolioPermission.objects.all().create(
|
perm_4 = UserPortfolioPermission.objects.all().create(
|
||||||
user=admin_user_4,
|
user=admin_user_4,
|
||||||
portfolio=self.portfolio,
|
portfolio=self.portfolio,
|
||||||
additional_permissions=[
|
additional_permissions=[
|
||||||
|
@ -2099,23 +2099,23 @@ class TestPortfolioAdmin(TestCase):
|
||||||
display_admins = self.admin.display_admins(self.portfolio)
|
display_admins = self.admin.display_admins(self.portfolio)
|
||||||
|
|
||||||
self.assertIn(
|
self.assertIn(
|
||||||
f'<a href="/admin/registrar/user/{admin_user_1.pk}/change/">Gerald Meoward meaoward@gov.gov</a>',
|
f'<a href="/admin/registrar/user/{perm_1.pk}/change/">Gerald Meoward meaoward@gov.gov</a>',
|
||||||
display_admins,
|
display_admins,
|
||||||
)
|
)
|
||||||
self.assertIn("Captain", display_admins)
|
self.assertIn("Captain", display_admins)
|
||||||
self.assertIn(
|
self.assertIn(
|
||||||
f'<a href="/admin/registrar/user/{admin_user_2.pk}/change/">Arnold Poopy poopy@gov.gov</a>', display_admins
|
f'<a href="/admin/registrar/user/{perm_2.pk}/change/">Arnold Poopy poopy@gov.gov</a>', display_admins
|
||||||
)
|
)
|
||||||
self.assertIn("Major", display_admins)
|
self.assertIn("Major", display_admins)
|
||||||
|
|
||||||
display_members_summary = self.admin.display_members_summary(self.portfolio)
|
display_members_summary = self.admin.display_members_summary(self.portfolio)
|
||||||
|
|
||||||
self.assertIn(
|
self.assertIn(
|
||||||
f'<a href="/admin/registrar/user/{admin_user_3.pk}/change/">Mad Max madmax@gov.gov</a>',
|
f'<a href="/admin/registrar/user/{perm_3.pk}/change/">Mad Max madmax@gov.gov</a>',
|
||||||
display_members_summary,
|
display_members_summary,
|
||||||
)
|
)
|
||||||
self.assertIn(
|
self.assertIn(
|
||||||
f'<a href="/admin/registrar/user/{admin_user_4.pk}/change/">Agent Smith thematrix@gov.gov</a>',
|
f'<a href="/admin/registrar/user/{perm_4.pk}/change/">Agent Smith thematrix@gov.gov</a>',
|
||||||
display_members_summary,
|
display_members_summary,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue