mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-28 21:46:33 +02:00
blank value displays on portfolio and suborg, return ids in json
This commit is contained in:
parent
4e12b1295b
commit
b54017840e
3 changed files with 26 additions and 3 deletions
|
@ -8,6 +8,7 @@ from django.db.models.functions import Concat, Coalesce
|
||||||
from django.http import HttpResponseRedirect
|
from django.http import HttpResponseRedirect
|
||||||
from registrar.models.federal_agency import FederalAgency
|
from registrar.models.federal_agency import FederalAgency
|
||||||
from registrar.utility.admin_helpers import (
|
from registrar.utility.admin_helpers import (
|
||||||
|
AutocompleteSelectWithPlaceholder,
|
||||||
get_action_needed_reason_default_email,
|
get_action_needed_reason_default_email,
|
||||||
get_rejection_reason_default_email,
|
get_rejection_reason_default_email,
|
||||||
get_field_links_as_list,
|
get_field_links_as_list,
|
||||||
|
@ -236,7 +237,17 @@ class DomainRequestAdminForm(forms.ModelForm):
|
||||||
widgets = {
|
widgets = {
|
||||||
"current_websites": NoAutocompleteFilteredSelectMultiple("current_websites", False),
|
"current_websites": NoAutocompleteFilteredSelectMultiple("current_websites", False),
|
||||||
"alternative_domains": NoAutocompleteFilteredSelectMultiple("alternative_domains", False),
|
"alternative_domains": NoAutocompleteFilteredSelectMultiple("alternative_domains", False),
|
||||||
"other_contacts": NoAutocompleteFilteredSelectMultiple("other_contacts", False)
|
"other_contacts": NoAutocompleteFilteredSelectMultiple("other_contacts", False),
|
||||||
|
'portfolio': AutocompleteSelectWithPlaceholder(
|
||||||
|
DomainRequest._meta.get_field('portfolio'),
|
||||||
|
admin.site,
|
||||||
|
attrs={'data-placeholder': '---------'}
|
||||||
|
),
|
||||||
|
'sub_organization': AutocompleteSelectWithPlaceholder(
|
||||||
|
DomainRequest._meta.get_field('sub_organization'),
|
||||||
|
admin.site,
|
||||||
|
attrs={'data-placeholder': '---------'}
|
||||||
|
),
|
||||||
}
|
}
|
||||||
labels = {
|
labels = {
|
||||||
"action_needed_reason_email": "Email",
|
"action_needed_reason_email": "Email",
|
||||||
|
|
|
@ -4,6 +4,7 @@ from django.utils.html import format_html
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils.html import escape
|
from django.utils.html import escape
|
||||||
from registrar.models.utility.generic_helper import value_of_attribute
|
from registrar.models.utility.generic_helper import value_of_attribute
|
||||||
|
from django.contrib.admin.widgets import AutocompleteSelect
|
||||||
|
|
||||||
|
|
||||||
def get_action_needed_reason_default_email(domain_request, action_needed_reason):
|
def get_action_needed_reason_default_email(domain_request, action_needed_reason):
|
||||||
|
@ -94,3 +95,12 @@ def get_field_links_as_list(
|
||||||
else:
|
else:
|
||||||
links = "".join(links)
|
links = "".join(links)
|
||||||
return format_html(f'<ul class="add-list-reset">{links}</ul>') if links else msg_for_none
|
return format_html(f'<ul class="add-list-reset">{links}</ul>') if links else msg_for_none
|
||||||
|
|
||||||
|
class AutocompleteSelectWithPlaceholder(AutocompleteSelect):
|
||||||
|
"""Override of the default autoselect element. This is because by default,
|
||||||
|
the autocomplete element clears data-placeholder"""
|
||||||
|
def build_attrs(self, base_attrs, extra_attrs=None):
|
||||||
|
attrs = super().build_attrs(base_attrs, extra_attrs=extra_attrs)
|
||||||
|
if 'data-placeholder' in base_attrs:
|
||||||
|
attrs['data-placeholder'] = base_attrs['data-placeholder']
|
||||||
|
return attrs
|
|
@ -60,6 +60,8 @@ def get_portfolio_json(request):
|
||||||
# Convert the portfolio to a dictionary
|
# Convert the portfolio to a dictionary
|
||||||
portfolio_dict = model_to_dict(portfolio)
|
portfolio_dict = model_to_dict(portfolio)
|
||||||
|
|
||||||
|
portfolio_dict["id"] = portfolio.id
|
||||||
|
|
||||||
# map portfolio federal type
|
# map portfolio federal type
|
||||||
portfolio_dict["federal_type"] = BranchChoices.get_branch_label(portfolio.federal_type) if portfolio.federal_type else "-"
|
portfolio_dict["federal_type"] = BranchChoices.get_branch_label(portfolio.federal_type) if portfolio.federal_type else "-"
|
||||||
|
|
||||||
|
@ -84,9 +86,9 @@ def get_portfolio_json(request):
|
||||||
if portfolio.federal_agency:
|
if portfolio.federal_agency:
|
||||||
federal_agency = model_to_dict(
|
federal_agency = model_to_dict(
|
||||||
portfolio.federal_agency,
|
portfolio.federal_agency,
|
||||||
fields=["agency"]
|
fields=["agency", "id"]
|
||||||
)
|
)
|
||||||
portfolio_dict["federal_agency"] = federal_agency["agency"]
|
portfolio_dict["federal_agency"] = federal_agency
|
||||||
else:
|
else:
|
||||||
portfolio_dict["federal_agency"] = '-'
|
portfolio_dict["federal_agency"] = '-'
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue