mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-28 13:36:30 +02:00
updated code for readability
This commit is contained in:
parent
86fbac8249
commit
51dc7797b0
12 changed files with 167 additions and 125 deletions
|
@ -5,14 +5,12 @@ import logging
|
|||
from django.conf import settings
|
||||
from django.contrib.auth import logout as auth_logout
|
||||
from django.contrib.auth import authenticate, login
|
||||
from login_required import login_not_required
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.shortcuts import redirect
|
||||
from urllib.parse import parse_qs, urlencode
|
||||
|
||||
from djangooidc.oidc import Client
|
||||
from djangooidc import exceptions as o_e
|
||||
from registrar.decorators import grant_access
|
||||
from registrar.models import User
|
||||
from registrar.views.utility.error_views import custom_500_error_view, custom_401_error_view
|
||||
|
||||
|
|
|
@ -74,91 +74,74 @@ def _user_has_permission(user, request, rules, **kwargs):
|
|||
if ALL in rules:
|
||||
return True
|
||||
|
||||
# Ensure user is authenticated
|
||||
if not user.is_authenticated:
|
||||
# Ensure user is authenticated and not restricted
|
||||
if not user.is_authenticated or user.is_restricted():
|
||||
return False
|
||||
|
||||
# Ensure user is not restricted
|
||||
if user.is_restricted():
|
||||
return False
|
||||
# Define permission checks
|
||||
permission_checks = [
|
||||
(IS_STAFF, lambda: user.is_staff),
|
||||
(IS_DOMAIN_MANAGER, lambda: _is_domain_manager(user, **kwargs)),
|
||||
(IS_STAFF_MANAGING_DOMAIN, lambda: _is_staff_managing_domain(request, **kwargs)),
|
||||
(IS_PORTFOLIO_MEMBER, lambda: user.is_org_user(request)),
|
||||
(
|
||||
HAS_PORTFOLIO_DOMAINS_VIEW_ALL,
|
||||
lambda: _can_access_domain_via_portfolio_view_all_domains(request, kwargs.get("domain_pk")),
|
||||
),
|
||||
(
|
||||
HAS_PORTFOLIO_DOMAINS_ANY_PERM,
|
||||
lambda: user.is_org_user(request)
|
||||
and user.has_any_domains_portfolio_permission(request.session.get("portfolio")),
|
||||
),
|
||||
(
|
||||
IS_PORTFOLIO_MEMBER_AND_DOMAIN_MANAGER,
|
||||
lambda: _is_domain_manager(user, **kwargs) and _is_portfolio_member(request),
|
||||
),
|
||||
(
|
||||
IS_DOMAIN_MANAGER_AND_NOT_PORTFOLIO_MEMBER,
|
||||
lambda: _is_domain_manager(user, **kwargs) and not _is_portfolio_member(request),
|
||||
),
|
||||
(
|
||||
IS_DOMAIN_REQUEST_CREATOR,
|
||||
lambda: _is_domain_request_creator(user, kwargs.get("domain_request_pk"))
|
||||
and not _is_portfolio_member(request),
|
||||
),
|
||||
(
|
||||
HAS_PORTFOLIO_DOMAIN_REQUESTS_ANY_PERM,
|
||||
lambda: user.is_org_user(request)
|
||||
and user.has_any_requests_portfolio_permission(request.session.get("portfolio")),
|
||||
),
|
||||
(
|
||||
HAS_PORTFOLIO_DOMAIN_REQUESTS_VIEW_ALL,
|
||||
lambda: user.is_org_user(request)
|
||||
and user.has_view_all_domain_requests_portfolio_permission(request.session.get("portfolio")),
|
||||
),
|
||||
(
|
||||
HAS_PORTFOLIO_DOMAIN_REQUESTS_EDIT,
|
||||
lambda: _has_portfolio_domain_requests_edit(user, request, kwargs.get("domain_request_pk")),
|
||||
),
|
||||
(
|
||||
HAS_PORTFOLIO_MEMBERS_ANY_PERM,
|
||||
lambda: user.is_org_user(request)
|
||||
and (
|
||||
user.has_view_members_portfolio_permission(request.session.get("portfolio"))
|
||||
or user.has_edit_members_portfolio_permission(request.session.get("portfolio"))
|
||||
),
|
||||
),
|
||||
(
|
||||
HAS_PORTFOLIO_MEMBERS_EDIT,
|
||||
lambda: user.is_org_user(request)
|
||||
and user.has_edit_members_portfolio_permission(request.session.get("portfolio")),
|
||||
),
|
||||
(
|
||||
HAS_PORTFOLIO_MEMBERS_VIEW,
|
||||
lambda: user.is_org_user(request)
|
||||
and user.has_view_members_portfolio_permission(request.session.get("portfolio")),
|
||||
),
|
||||
]
|
||||
|
||||
conditions_met = []
|
||||
|
||||
if IS_STAFF in rules:
|
||||
conditions_met.append(user.is_staff)
|
||||
|
||||
if not any(conditions_met) and IS_DOMAIN_MANAGER in rules:
|
||||
has_permission = _is_domain_manager(user, **kwargs)
|
||||
conditions_met.append(has_permission)
|
||||
|
||||
if not any(conditions_met) and IS_STAFF_MANAGING_DOMAIN in rules:
|
||||
has_permission = _is_staff_managing_domain(request, **kwargs)
|
||||
conditions_met.append(has_permission)
|
||||
|
||||
if not any(conditions_met) and IS_PORTFOLIO_MEMBER in rules:
|
||||
has_permission = user.is_org_user(request)
|
||||
conditions_met.append(has_permission)
|
||||
|
||||
if not any(conditions_met) and HAS_PORTFOLIO_DOMAINS_VIEW_ALL in rules:
|
||||
domain_id = kwargs.get("domain_pk")
|
||||
has_permission = _can_access_domain_via_portfolio_view_all_domains(request, domain_id)
|
||||
conditions_met.append(has_permission)
|
||||
|
||||
if not any(conditions_met) and HAS_PORTFOLIO_DOMAINS_ANY_PERM in rules:
|
||||
has_permission = user.is_org_user(request) and user.has_any_domains_portfolio_permission(
|
||||
request.session.get("portfolio")
|
||||
)
|
||||
conditions_met.append(has_permission)
|
||||
|
||||
if not any(conditions_met) and IS_PORTFOLIO_MEMBER_AND_DOMAIN_MANAGER in rules:
|
||||
has_permission = _is_domain_manager(user, **kwargs) and _is_portfolio_member(request)
|
||||
conditions_met.append(has_permission)
|
||||
|
||||
if not any(conditions_met) and IS_DOMAIN_MANAGER_AND_NOT_PORTFOLIO_MEMBER in rules:
|
||||
has_permission = _is_domain_manager(user, **kwargs) and not _is_portfolio_member(request)
|
||||
conditions_met.append(has_permission)
|
||||
|
||||
if not any(conditions_met) and IS_DOMAIN_REQUEST_CREATOR in rules:
|
||||
domain_request_id = kwargs.get("domain_request_pk")
|
||||
has_permission = _is_domain_request_creator(user, domain_request_id) and not _is_portfolio_member(request)
|
||||
conditions_met.append(has_permission)
|
||||
|
||||
if not any(conditions_met) and HAS_PORTFOLIO_DOMAIN_REQUESTS_ANY_PERM in rules:
|
||||
has_permission = user.is_org_user(request) and user.has_any_requests_portfolio_permission(
|
||||
request.session.get("portfolio")
|
||||
)
|
||||
conditions_met.append(has_permission)
|
||||
|
||||
if not any(conditions_met) and HAS_PORTFOLIO_DOMAIN_REQUESTS_VIEW_ALL in rules:
|
||||
has_permission = user.is_org_user(request) and user.has_view_all_domain_requests_portfolio_permission(
|
||||
request.session.get("portfolio")
|
||||
)
|
||||
conditions_met.append(has_permission)
|
||||
|
||||
if not any(conditions_met) and HAS_PORTFOLIO_DOMAIN_REQUESTS_EDIT in rules:
|
||||
domain_request_id = kwargs.get("domain_request_pk")
|
||||
has_permission = _has_portfolio_domain_requests_edit(user, request, domain_request_id)
|
||||
conditions_met.append(has_permission)
|
||||
|
||||
if not any(conditions_met) and HAS_PORTFOLIO_MEMBERS_ANY_PERM in rules:
|
||||
portfolio = request.session.get("portfolio")
|
||||
has_permission = user.is_org_user(request) and (
|
||||
user.has_view_members_portfolio_permission(portfolio)
|
||||
or user.has_edit_members_portfolio_permission(portfolio)
|
||||
)
|
||||
conditions_met.append(has_permission)
|
||||
|
||||
if not any(conditions_met) and HAS_PORTFOLIO_MEMBERS_EDIT in rules:
|
||||
portfolio = request.session.get("portfolio")
|
||||
has_permission = user.is_org_user(request) and user.has_edit_members_portfolio_permission(portfolio)
|
||||
conditions_met.append(has_permission)
|
||||
|
||||
if not any(conditions_met) and HAS_PORTFOLIO_MEMBERS_VIEW in rules:
|
||||
portfolio = request.session.get("portfolio")
|
||||
has_permission = user.is_org_user(request) and user.has_view_members_portfolio_permission(portfolio)
|
||||
conditions_met.append(has_permission)
|
||||
|
||||
return any(conditions_met)
|
||||
# Check conditions iteratively
|
||||
return any(check() for rule, check in permission_checks if rule in rules)
|
||||
|
||||
|
||||
def _has_portfolio_domain_requests_edit(user, request, domain_request_id):
|
||||
|
@ -173,7 +156,8 @@ def _is_domain_manager(user, **kwargs):
|
|||
|
||||
- First, it checks if 'domain_pk' is present in the URL parameters.
|
||||
- If 'domain_pk' exists, it verifies if the user has a domain role for that domain.
|
||||
- If 'domain_pk' is absent, it checks for 'domain_invitation_pk' to determine if the user has domain permissions through an invitation.
|
||||
- If 'domain_pk' is absent, it checks for 'domain_invitation_pk' to determine if the user
|
||||
has domain permissions through an invitation.
|
||||
|
||||
Returns:
|
||||
bool: True if the user is a domain manager, False otherwise.
|
||||
|
|
|
@ -37,7 +37,6 @@ from epplibwrapper import commands, common
|
|||
|
||||
from .common import (
|
||||
MockEppLib,
|
||||
less_console_noise,
|
||||
completed_domain_request,
|
||||
MockSESClient,
|
||||
MockDbForIndividualTests,
|
||||
|
|
|
@ -292,7 +292,9 @@ class HomeTests(TestWithUser):
|
|||
)
|
||||
|
||||
# Trigger the delete logic
|
||||
response = self.client.post(reverse("domain-request-delete", kwargs={"domain_request_pk": domain_request.pk}), follow=True)
|
||||
response = self.client.post(
|
||||
reverse("domain-request-delete", kwargs={"domain_request_pk": domain_request.pk}), follow=True
|
||||
)
|
||||
|
||||
self.assertNotContains(response, "igorville.gov")
|
||||
|
||||
|
@ -309,7 +311,9 @@ class HomeTests(TestWithUser):
|
|||
)
|
||||
|
||||
# Trigger the delete logic
|
||||
response = self.client.post(reverse("domain-request-delete", kwargs={"domain_request_pk": domain_request.pk}), follow=True)
|
||||
response = self.client.post(
|
||||
reverse("domain-request-delete", kwargs={"domain_request_pk": domain_request.pk}), follow=True
|
||||
)
|
||||
|
||||
self.assertNotContains(response, "igorville.gov")
|
||||
|
||||
|
@ -335,7 +339,8 @@ class HomeTests(TestWithUser):
|
|||
|
||||
# Trigger the delete logic
|
||||
response = self.client.post(
|
||||
reverse("domain-request-delete", kwargs={"domain_request_pk": domain_request.pk}), follow=True
|
||||
reverse("domain-request-delete", kwargs={"domain_request_pk": domain_request.pk}),
|
||||
follow=True,
|
||||
)
|
||||
|
||||
# Check for a 403 error - the end user should not be allowed to do this
|
||||
|
|
|
@ -692,7 +692,9 @@ class TestDomainDetailDomainRenewal(TestDomainOverview):
|
|||
with patch.object(Domain, "is_expired", self.custom_is_expired_true), patch.object(
|
||||
Domain, "is_expired", self.custom_is_expired_true
|
||||
):
|
||||
renewal_page = self.client.get(reverse("domain-renewal", kwargs={"domain_pk": self.domain_no_domain_manager.id}))
|
||||
renewal_page = self.client.get(
|
||||
reverse("domain-renewal", kwargs={"domain_pk": self.domain_no_domain_manager.id})
|
||||
)
|
||||
self.assertEqual(renewal_page.status_code, 403)
|
||||
|
||||
@override_flag("domain_renewal", active=True)
|
||||
|
@ -723,7 +725,9 @@ class TestDomainDetailDomainRenewal(TestDomainOverview):
|
|||
|
||||
# Check for the updated expiration
|
||||
formatted_new_expiration_date = self.expiration_date_one_year_out().strftime("%b. %-d, %Y")
|
||||
redirect_response = self.client.get(reverse("domain", kwargs={"domain_pk": self.domain_with_ip.id}), follow=True)
|
||||
redirect_response = self.client.get(
|
||||
reverse("domain", kwargs={"domain_pk": self.domain_with_ip.id}), follow=True
|
||||
)
|
||||
self.assertContains(redirect_response, formatted_new_expiration_date)
|
||||
|
||||
|
||||
|
@ -1070,7 +1074,9 @@ class TestDomainManagers(TestDomainOverview):
|
|||
"""Removing a domain manager sends notification email to other domain managers."""
|
||||
self.manager, _ = User.objects.get_or_create(email="mayor@igorville.com", first_name="Hello", last_name="World")
|
||||
self.manager_domain_permission, _ = UserDomainRole.objects.get_or_create(user=self.manager, domain=self.domain)
|
||||
self.client.post(reverse("domain-user-delete", kwargs={"domain_pk": self.domain.id, "user_pk": self.manager.id}))
|
||||
self.client.post(
|
||||
reverse("domain-user-delete", kwargs={"domain_pk": self.domain.id, "user_pk": self.manager.id})
|
||||
)
|
||||
|
||||
# Verify that the notification emails were sent to domain manager
|
||||
mock_send_templated_email.assert_called_once_with(
|
||||
|
@ -1355,7 +1361,9 @@ class TestDomainManagers(TestDomainOverview):
|
|||
invitation, _ = DomainInvitation.objects.get_or_create(
|
||||
domain=self.domain, email=email_address, status=DomainInvitation.DomainInvitationStatus.RETRIEVED
|
||||
)
|
||||
response = self.client.post(reverse("invitation-cancel", kwargs={"domain_invitation_pk": invitation.id}), follow=True)
|
||||
response = self.client.post(
|
||||
reverse("invitation-cancel", kwargs={"domain_invitation_pk": invitation.id}), follow=True
|
||||
)
|
||||
# Assert that an error message is displayed to the user
|
||||
self.assertContains(response, f"Invitation to {email_address} has already been retrieved.")
|
||||
# Assert that the Cancel link (form) is not displayed
|
||||
|
@ -2936,7 +2944,9 @@ class TestDomainChangeNotifications(TestDomainOverview):
|
|||
def test_no_notification_when_dns_needed(self):
|
||||
"""Test that an email is not sent when nameservers are changed while the state is DNS_NEEDED."""
|
||||
|
||||
nameservers_page = self.app.get(reverse("domain-dns-nameservers", kwargs={"domain_pk": self.domain_dns_needed.id}))
|
||||
nameservers_page = self.app.get(
|
||||
reverse("domain-dns-nameservers", kwargs={"domain_pk": self.domain_dns_needed.id})
|
||||
)
|
||||
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
|
||||
|
||||
# add nameservers
|
||||
|
|
|
@ -1320,7 +1320,9 @@ class TestPortfolio(WebTest):
|
|||
|
||||
self.client.force_login(self.user)
|
||||
# Perform delete
|
||||
response = self.client.post(reverse("domain-request-delete", kwargs={"domain_request_pk": domain_request.pk}), follow=True)
|
||||
response = self.client.post(
|
||||
reverse("domain-request-delete", kwargs={"domain_request_pk": domain_request.pk}), follow=True
|
||||
)
|
||||
|
||||
# Check that the response is 200
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
@ -1354,7 +1356,9 @@ class TestPortfolio(WebTest):
|
|||
|
||||
self.client.force_login(self.user)
|
||||
# Attempt to delete
|
||||
response = self.client.post(reverse("domain-request-delete", kwargs={"domain_request_pk": domain_request.pk}), follow=True)
|
||||
response = self.client.post(
|
||||
reverse("domain-request-delete", kwargs={"domain_request_pk": domain_request.pk}), follow=True
|
||||
)
|
||||
|
||||
# Check response is 403 Forbidden
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
@ -1389,7 +1393,9 @@ class TestPortfolio(WebTest):
|
|||
|
||||
self.client.force_login(self.user)
|
||||
# Perform delete as self.user
|
||||
response = self.client.post(reverse("domain-request-delete", kwargs={"domain_request_pk": domain_request.pk}), follow=True)
|
||||
response = self.client.post(
|
||||
reverse("domain-request-delete", kwargs={"domain_request_pk": domain_request.pk}), follow=True
|
||||
)
|
||||
|
||||
# Check response is 403 Forbidden
|
||||
self.assertEqual(response.status_code, 403)
|
||||
|
@ -3244,7 +3250,9 @@ class TestRequestingEntity(WebTest):
|
|||
def test_requesting_entity_page_errors(self):
|
||||
"""Tests that we get the expected form errors on requesting entity"""
|
||||
domain_request = completed_domain_request(user=self.user, portfolio=self.portfolio)
|
||||
response = self.app.get(reverse("edit-domain-request", kwargs={"domain_request_pk": domain_request.pk})).follow()
|
||||
response = self.app.get(
|
||||
reverse("edit-domain-request", kwargs={"domain_request_pk": domain_request.pk})
|
||||
).follow()
|
||||
form = response.forms[0]
|
||||
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
@ -3334,7 +3342,9 @@ class TestRequestingEntity(WebTest):
|
|||
|
||||
domain_request.submit()
|
||||
|
||||
response = self.app.get(reverse("domain-request-status-viewonly", kwargs={"domain_request_pk": domain_request.pk}))
|
||||
response = self.app.get(
|
||||
reverse("domain-request-status-viewonly", kwargs={"domain_request_pk": domain_request.pk})
|
||||
)
|
||||
self.assertContains(response, "Requesting entity")
|
||||
self.assertContains(response, "moon")
|
||||
self.assertContains(response, "kepler, AL")
|
||||
|
|
|
@ -1114,7 +1114,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
def test_yes_no_additional_form_inits_blank_for_new_domain_request(self):
|
||||
"""On the Additional Details page, the yes/no form gets initialized with nothing selected for
|
||||
new domain requests"""
|
||||
additional_details_page = self.app.get(reverse("domain-request:additional_details", kwargs={"domain_request_pk": 0}))
|
||||
additional_details_page = self.app.get(
|
||||
reverse("domain-request:additional_details", kwargs={"domain_request_pk": 0})
|
||||
)
|
||||
additional_form = additional_details_page.forms[0]
|
||||
|
||||
# Check the cisa representative yes/no field
|
||||
|
@ -1138,7 +1140,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_page = self.app.get(reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.pk}))
|
||||
other_contacts_page = self.app.get(
|
||||
reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.pk})
|
||||
)
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_form = other_contacts_page.forms[0]
|
||||
|
@ -1195,7 +1199,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_page = self.app.get(reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.pk}))
|
||||
other_contacts_page = self.app.get(
|
||||
reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.pk})
|
||||
)
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_form = other_contacts_page.forms[0]
|
||||
|
@ -1480,7 +1486,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_page = self.app.get(reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.pk}))
|
||||
other_contacts_page = self.app.get(
|
||||
reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.pk})
|
||||
)
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_form = other_contacts_page.forms[0]
|
||||
|
@ -1528,7 +1536,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_page = self.app.get(reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.pk}))
|
||||
other_contacts_page = self.app.get(
|
||||
reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.pk})
|
||||
)
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_form = other_contacts_page.forms[0]
|
||||
|
@ -1612,7 +1622,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_page = self.app.get(reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.pk}))
|
||||
other_contacts_page = self.app.get(
|
||||
reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.pk})
|
||||
)
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_form = other_contacts_page.forms[0]
|
||||
|
@ -1745,7 +1757,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_page = self.app.get(reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.id}))
|
||||
other_contacts_page = self.app.get(
|
||||
reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.id})
|
||||
)
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_form = other_contacts_page.forms[0]
|
||||
|
@ -1818,7 +1832,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_page = self.app.get(reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.id}))
|
||||
other_contacts_page = self.app.get(
|
||||
reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.id})
|
||||
)
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_form = other_contacts_page.forms[0]
|
||||
|
@ -1895,7 +1911,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_page = self.app.get(reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.id}))
|
||||
other_contacts_page = self.app.get(
|
||||
reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.id})
|
||||
)
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_form = other_contacts_page.forms[0]
|
||||
|
@ -1975,7 +1993,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_page = self.app.get(reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.pk}))
|
||||
other_contacts_page = self.app.get(
|
||||
reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.pk})
|
||||
)
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_form = other_contacts_page.forms[0]
|
||||
|
@ -2051,7 +2071,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_page = self.app.get(reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.pk}))
|
||||
other_contacts_page = self.app.get(
|
||||
reverse("domain-request:other_contacts", kwargs={"domain_request_pk": domain_request.pk})
|
||||
)
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
other_contacts_form = other_contacts_page.forms[0]
|
||||
|
@ -2121,7 +2143,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
so_page = self.app.get(reverse("domain-request:senior_official", kwargs={"domain_request_pk": domain_request.pk}))
|
||||
so_page = self.app.get(
|
||||
reverse("domain-request:senior_official", kwargs={"domain_request_pk": domain_request.pk})
|
||||
)
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
so_form = so_page.forms[0]
|
||||
|
@ -2190,7 +2214,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
so_page = self.app.get(reverse("domain-request:senior_official", kwargs={"domain_request_pk": domain_request.pk}))
|
||||
so_page = self.app.get(
|
||||
reverse("domain-request:senior_official", kwargs={"domain_request_pk": domain_request.pk})
|
||||
)
|
||||
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
|
||||
|
||||
so_form = so_page.forms[0]
|
||||
|
@ -2539,7 +2565,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
new_domain_request_id = all_domain_requests.first().id
|
||||
|
||||
# Skip to the current sites page
|
||||
current_sites_page = self.app.get(reverse("domain-request:current_sites", kwargs={"domain_request_pk": new_domain_request_id}))
|
||||
current_sites_page = self.app.get(
|
||||
reverse("domain-request:current_sites", kwargs={"domain_request_pk": new_domain_request_id})
|
||||
)
|
||||
# fill in the form field
|
||||
current_sites_form = current_sites_page.forms[0]
|
||||
self.assertIn("current_sites-0-website", current_sites_form.fields)
|
||||
|
@ -2742,7 +2770,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
|
||||
# This user should also be forbidden from editing existing ones
|
||||
domain_request = completed_domain_request(user=self.user)
|
||||
edit_page = self.app.get(reverse("edit-domain-request", kwargs={"domain_request_pk": domain_request.pk}), expect_errors=True)
|
||||
edit_page = self.app.get(
|
||||
reverse("edit-domain-request", kwargs={"domain_request_pk": domain_request.pk}), expect_errors=True
|
||||
)
|
||||
self.assertEqual(edit_page.status_code, 403)
|
||||
|
||||
# Cleanup
|
||||
|
@ -2767,7 +2797,9 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
|
||||
# This user should also be allowed to edit existing ones
|
||||
domain_request = completed_domain_request(user=self.user)
|
||||
edit_page = self.app.get(reverse("edit-domain-request", kwargs={"domain_request_pk": domain_request.pk})).follow()
|
||||
edit_page = self.app.get(
|
||||
reverse("edit-domain-request", kwargs={"domain_request_pk": domain_request.pk})
|
||||
).follow()
|
||||
self.assertEqual(edit_page.status_code, 200)
|
||||
|
||||
def test_non_creator_access(self):
|
||||
|
@ -2776,14 +2808,18 @@ class DomainRequestTests(TestWithUser, WebTest):
|
|||
other_user = User.objects.create_user(username="other_user", password=p)
|
||||
domain_request = completed_domain_request(user=other_user)
|
||||
|
||||
edit_page = self.app.get(reverse("edit-domain-request", kwargs={"domain_request_pk": domain_request.pk}), expect_errors=True)
|
||||
edit_page = self.app.get(
|
||||
reverse("edit-domain-request", kwargs={"domain_request_pk": domain_request.pk}), expect_errors=True
|
||||
)
|
||||
self.assertEqual(edit_page.status_code, 403)
|
||||
|
||||
def test_creator_access(self):
|
||||
"""Tests that a user can edit a domain request they created"""
|
||||
domain_request = completed_domain_request(user=self.user)
|
||||
|
||||
edit_page = self.app.get(reverse("edit-domain-request", kwargs={"domain_request_pk": domain_request.pk})).follow()
|
||||
edit_page = self.app.get(
|
||||
reverse("edit-domain-request", kwargs={"domain_request_pk": domain_request.pk})
|
||||
).follow()
|
||||
self.assertEqual(edit_page.status_code, 200)
|
||||
|
||||
|
||||
|
@ -3202,7 +3238,9 @@ class TestDomainRequestWizard(TestWithUser, WebTest):
|
|||
self.assertContains(detail_page, "usa-current", count=2)
|
||||
|
||||
# We default to the requesting entity page
|
||||
expected_url = reverse("domain-request:portfolio_requesting_entity", kwargs={"domain_request_pk": domain_request.id})
|
||||
expected_url = reverse(
|
||||
"domain-request:portfolio_requesting_entity", kwargs={"domain_request_pk": domain_request.id}
|
||||
)
|
||||
# This returns the entire url, thus "in"
|
||||
self.assertIn(expected_url, detail_page.request.url)
|
||||
else:
|
||||
|
|
|
@ -342,7 +342,8 @@ class GetRequestsJsonTest(TestWithUser, WebTest):
|
|||
# Test case where action is View
|
||||
self.assertEqual("View", action_labels[i])
|
||||
self.assertEqual(
|
||||
reverse("domain-request-status-viewonly", kwargs={"domain_request_pk": expected_domain_request.id}), action_urls[i]
|
||||
reverse("domain-request-status-viewonly", kwargs={"domain_request_pk": expected_domain_request.id}),
|
||||
action_urls[i],
|
||||
)
|
||||
self.assertEqual("visibility", svg_icons[i])
|
||||
elif status[i] in [
|
||||
|
@ -360,7 +361,8 @@ class GetRequestsJsonTest(TestWithUser, WebTest):
|
|||
# Test case where action is Manage
|
||||
self.assertEqual("Manage", action_labels[i])
|
||||
self.assertEqual(
|
||||
reverse("domain-request-status", kwargs={"domain_request_pk": expected_domain_request.id}), action_urls[i]
|
||||
reverse("domain-request-status", kwargs={"domain_request_pk": expected_domain_request.id}),
|
||||
action_urls[i],
|
||||
)
|
||||
self.assertEqual("settings", svg_icons[i])
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@ from django.core.paginator import Paginator
|
|||
from registrar.decorators import grant_access, ALL
|
||||
from registrar.models import DomainRequest
|
||||
from django.utils.dateformat import format
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.urls import reverse
|
||||
from django.db.models import Q
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@ from django.http import JsonResponse
|
|||
from django.core.paginator import Paginator
|
||||
from registrar.decorators import grant_access, ALL
|
||||
from registrar.models import UserDomainRole, Domain, DomainInformation, User
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.urls import reverse
|
||||
from django.db.models import Q
|
||||
|
||||
|
|
|
@ -3,8 +3,6 @@ from django.http import JsonResponse
|
|||
from django.forms.models import model_to_dict
|
||||
from registrar.decorators import IS_STAFF, grant_access
|
||||
from registrar.models import FederalAgency, SeniorOfficial, DomainRequest
|
||||
from django.contrib.admin.views.decorators import staff_member_required
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from registrar.utility.admin_helpers import get_action_needed_reason_default_email, get_rejection_reason_default_email
|
||||
from registrar.models.portfolio import Portfolio
|
||||
from registrar.utility.constants import BranchChoices
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue