mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-05-18 18:39:21 +02:00
Added Senior Official foreign key in Portfolio, along with model field updates (for required fields), and admin.py updates
This commit is contained in:
parent
a7273c8d49
commit
625d0e6f1f
4 changed files with 41 additions and 6 deletions
|
@ -1016,6 +1016,29 @@ class ContactAdmin(ListHeaderAdmin, ImportExportModelAdmin):
|
||||||
# Get the filtered values
|
# Get the filtered values
|
||||||
return super().changelist_view(request, extra_context=extra_context)
|
return super().changelist_view(request, extra_context=extra_context)
|
||||||
|
|
||||||
|
class SeniorOfficialAdmin(ListHeaderAdmin, ImportExportModelAdmin):
|
||||||
|
"""Custom Senior Official Admin class."""
|
||||||
|
|
||||||
|
# NOTE: these are just placeholders. Not part of ACs (haven't been defined yet). Update in future tickets.
|
||||||
|
search_fields = ["first_name", "last_name"]
|
||||||
|
search_help_text = "Search by first name or last name."
|
||||||
|
list_display = [
|
||||||
|
"last_name",
|
||||||
|
]
|
||||||
|
|
||||||
|
# this ordering effects the ordering of results
|
||||||
|
# in autocomplete_fields for user
|
||||||
|
ordering = ["first_name", "last_name"]
|
||||||
|
|
||||||
|
fieldsets = [
|
||||||
|
(
|
||||||
|
None,
|
||||||
|
{"fields": ["first_name", "last_name", "title", "phone"]},
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class WebsiteResource(resources.ModelResource):
|
class WebsiteResource(resources.ModelResource):
|
||||||
"""defines how each field in the referenced model should be mapped to the corresponding fields in the
|
"""defines how each field in the referenced model should be mapped to the corresponding fields in the
|
||||||
|
@ -1025,6 +1048,7 @@ class WebsiteResource(resources.ModelResource):
|
||||||
model = models.Website
|
model = models.Website
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class WebsiteAdmin(ListHeaderAdmin, ImportExportModelAdmin):
|
class WebsiteAdmin(ListHeaderAdmin, ImportExportModelAdmin):
|
||||||
"""Custom website admin class."""
|
"""Custom website admin class."""
|
||||||
|
|
||||||
|
@ -2679,6 +2703,7 @@ admin.site.register(models.DomainRequest, DomainRequestAdmin)
|
||||||
admin.site.register(models.TransitionDomain, TransitionDomainAdmin)
|
admin.site.register(models.TransitionDomain, TransitionDomainAdmin)
|
||||||
admin.site.register(models.VerifiedByStaff, VerifiedByStaffAdmin)
|
admin.site.register(models.VerifiedByStaff, VerifiedByStaffAdmin)
|
||||||
admin.site.register(models.Portfolio, PortfolioAdmin)
|
admin.site.register(models.Portfolio, PortfolioAdmin)
|
||||||
|
admin.site.register(models.SeniorOfficial, SeniorOfficialAdmin)
|
||||||
|
|
||||||
# Register our custom waffle implementations
|
# Register our custom waffle implementations
|
||||||
admin.site.register(models.WaffleFlag, WaffleFlagAdmin)
|
admin.site.register(models.WaffleFlag, WaffleFlagAdmin)
|
||||||
|
|
|
@ -17,6 +17,7 @@ from .transition_domain import TransitionDomain
|
||||||
from .verified_by_staff import VerifiedByStaff
|
from .verified_by_staff import VerifiedByStaff
|
||||||
from .waffle_flag import WaffleFlag
|
from .waffle_flag import WaffleFlag
|
||||||
from .portfolio import Portfolio
|
from .portfolio import Portfolio
|
||||||
|
from .senior_official import SeniorOfficial
|
||||||
|
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
|
@ -38,6 +39,7 @@ __all__ = [
|
||||||
"VerifiedByStaff",
|
"VerifiedByStaff",
|
||||||
"WaffleFlag",
|
"WaffleFlag",
|
||||||
"Portfolio",
|
"Portfolio",
|
||||||
|
"SeniorOfficial",
|
||||||
]
|
]
|
||||||
|
|
||||||
auditlog.register(Contact)
|
auditlog.register(Contact)
|
||||||
|
|
|
@ -38,6 +38,14 @@ class Portfolio(TimeStampedModel):
|
||||||
default=FederalAgency.get_non_federal_agency,
|
default=FederalAgency.get_non_federal_agency,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
senior_official = models.ForeignKey(
|
||||||
|
"registrar.SeniorOfficial",
|
||||||
|
on_delete=models.PROTECT,
|
||||||
|
help_text="Associated senior official",
|
||||||
|
unique=False,
|
||||||
|
default=FederalAgency.get_non_federal_agency,
|
||||||
|
)
|
||||||
|
|
||||||
organization_type = models.CharField(
|
organization_type = models.CharField(
|
||||||
max_length=255,
|
max_length=255,
|
||||||
choices=OrganizationChoices.choices,
|
choices=OrganizationChoices.choices,
|
||||||
|
|
|
@ -22,18 +22,18 @@ class SeniorOfficial(TimeStampedModel):
|
||||||
|
|
||||||
|
|
||||||
first_name = models.CharField(
|
first_name = models.CharField(
|
||||||
null=True,
|
null=False,
|
||||||
blank=True,
|
blank=False,
|
||||||
verbose_name="first name",
|
verbose_name="first name",
|
||||||
)
|
)
|
||||||
last_name = models.CharField(
|
last_name = models.CharField(
|
||||||
null=True,
|
null=False,
|
||||||
blank=True,
|
blank=False,
|
||||||
verbose_name="last name",
|
verbose_name="last name",
|
||||||
)
|
)
|
||||||
title = models.CharField(
|
title = models.CharField(
|
||||||
null=True,
|
null=False,
|
||||||
blank=True,
|
blank=False,
|
||||||
verbose_name="title / role",
|
verbose_name="title / role",
|
||||||
)
|
)
|
||||||
phone = PhoneNumberField(
|
phone = PhoneNumberField(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue