mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-13 14:35:14 +02:00
linting
This commit is contained in:
parent
df3f37bf40
commit
7602629dc5
3 changed files with 51 additions and 42 deletions
|
@ -20,7 +20,11 @@ from epplibwrapper.errors import ErrorCode, RegistryError
|
||||||
from registrar.models.user_domain_role import UserDomainRole
|
from registrar.models.user_domain_role import UserDomainRole
|
||||||
from waffle.admin import FlagAdmin
|
from waffle.admin import FlagAdmin
|
||||||
from waffle.models import Sample, Switch
|
from waffle.models import Sample, Switch
|
||||||
from registrar.utility.admin_helpers import get_all_action_needed_reason_emails, get_action_needed_reason_default_email, get_field_links_as_list
|
from registrar.utility.admin_helpers import (
|
||||||
|
get_all_action_needed_reason_emails,
|
||||||
|
get_action_needed_reason_default_email,
|
||||||
|
get_field_links_as_list,
|
||||||
|
)
|
||||||
from registrar.models import Contact, Domain, DomainRequest, DraftDomain, User, Website, SeniorOfficial
|
from registrar.models import Contact, Domain, DomainRequest, DraftDomain, User, Website, SeniorOfficial
|
||||||
from registrar.utility.constants import BranchChoices
|
from registrar.utility.constants import BranchChoices
|
||||||
from registrar.utility.errors import FSMDomainRequestError, FSMErrorCodes
|
from registrar.utility.errors import FSMDomainRequestError, FSMErrorCodes
|
||||||
|
|
|
@ -335,6 +335,7 @@ def get_url_name(path):
|
||||||
logger.error(f"No matching URL name found for path: {path}")
|
logger.error(f"No matching URL name found for path: {path}")
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
def value_of_attribute(obj, attribute_name: str):
|
def value_of_attribute(obj, attribute_name: str):
|
||||||
"""Returns the value of getattr if the attribute isn't callable.
|
"""Returns the value of getattr if the attribute isn't callable.
|
||||||
If it is, execute the underlying function and return that result instead."""
|
If it is, execute the underlying function and return that result instead."""
|
||||||
|
|
|
@ -41,49 +41,53 @@ def get_action_needed_reason_default_email(request, domain_request, action_neede
|
||||||
|
|
||||||
|
|
||||||
def get_field_links_as_list(
|
def get_field_links_as_list(
|
||||||
queryset, model_name, attribute_name=None, link_info_attribute=None, separator=None, msg_for_none="-",
|
queryset,
|
||||||
):
|
model_name,
|
||||||
"""
|
attribute_name=None,
|
||||||
Generate HTML links for items in a queryset, using a specified attribute for link text.
|
link_info_attribute=None,
|
||||||
|
separator=None,
|
||||||
|
msg_for_none="-",
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
Generate HTML links for items in a queryset, using a specified attribute for link text.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
queryset: The queryset of items to generate links for.
|
queryset: The queryset of items to generate links for.
|
||||||
model_name: The model name used to construct the admin change URL.
|
model_name: The model name used to construct the admin change URL.
|
||||||
attribute_name: The attribute or method name to use for link text. If None, the item itself is used.
|
attribute_name: The attribute or method name to use for link text. If None, the item itself is used.
|
||||||
link_info_attribute: Appends f"({value_of_attribute})" to the end of the link.
|
link_info_attribute: Appends f"({value_of_attribute})" to the end of the link.
|
||||||
separator: The separator to use between links in the resulting HTML.
|
separator: The separator to use between links in the resulting HTML.
|
||||||
If none, an unordered list is returned.
|
If none, an unordered list is returned.
|
||||||
msg_for_none: What to return when the field would otherwise display None.
|
msg_for_none: What to return when the field would otherwise display None.
|
||||||
Defaults to `-`.
|
Defaults to `-`.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
A formatted HTML string with links to the admin change pages for each item.
|
A formatted HTML string with links to the admin change pages for each item.
|
||||||
"""
|
"""
|
||||||
links = []
|
links = []
|
||||||
for item in queryset:
|
for item in queryset:
|
||||||
|
|
||||||
# This allows you to pass in attribute_name="get_full_name" for instance.
|
# This allows you to pass in attribute_name="get_full_name" for instance.
|
||||||
if attribute_name:
|
if attribute_name:
|
||||||
item_display_value = value_of_attribute(item, attribute_name)
|
item_display_value = value_of_attribute(item, attribute_name)
|
||||||
else:
|
|
||||||
item_display_value = item
|
|
||||||
|
|
||||||
if item_display_value:
|
|
||||||
change_url = reverse(f"admin:registrar_{model_name}_change", args=[item.pk])
|
|
||||||
|
|
||||||
link = f'<a href="{change_url}">{escape(item_display_value)}</a>'
|
|
||||||
if link_info_attribute:
|
|
||||||
link += f" ({value_of_attribute(item, link_info_attribute)})"
|
|
||||||
|
|
||||||
if separator:
|
|
||||||
links.append(link)
|
|
||||||
else:
|
|
||||||
links.append(f"<li>{link}</li>")
|
|
||||||
|
|
||||||
# If no separator is specified, just return an unordered list.
|
|
||||||
if separator:
|
|
||||||
return format_html(separator.join(links)) if links else msg_for_none
|
|
||||||
else:
|
else:
|
||||||
links = "".join(links)
|
item_display_value = item
|
||||||
return format_html(f'<ul class="add-list-reset">{links}</ul>') if links else msg_for_none
|
|
||||||
|
|
||||||
|
if item_display_value:
|
||||||
|
change_url = reverse(f"admin:registrar_{model_name}_change", args=[item.pk])
|
||||||
|
|
||||||
|
link = f'<a href="{change_url}">{escape(item_display_value)}</a>'
|
||||||
|
if link_info_attribute:
|
||||||
|
link += f" ({value_of_attribute(item, link_info_attribute)})"
|
||||||
|
|
||||||
|
if separator:
|
||||||
|
links.append(link)
|
||||||
|
else:
|
||||||
|
links.append(f"<li>{link}</li>")
|
||||||
|
|
||||||
|
# If no separator is specified, just return an unordered list.
|
||||||
|
if separator:
|
||||||
|
return format_html(separator.join(links)) if links else msg_for_none
|
||||||
|
else:
|
||||||
|
links = "".join(links)
|
||||||
|
return format_html(f'<ul class="add-list-reset">{links}</ul>') if links else msg_for_none
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue