mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-22 10:46:06 +02:00
Merge pull request #2916 from cisagov/rh/2883-update-agency
#2883: Non Federal Agency Update - [RH]
This commit is contained in:
commit
8b6d49ded2
2 changed files with 16 additions and 5 deletions
|
@ -2473,7 +2473,10 @@ class DomainAdmin(ListHeaderAdmin, ImportExportModelAdmin):
|
||||||
generic_org_type.admin_order_field = "domain_info__generic_org_type" # type: ignore
|
generic_org_type.admin_order_field = "domain_info__generic_org_type" # type: ignore
|
||||||
|
|
||||||
def federal_agency(self, obj):
|
def federal_agency(self, obj):
|
||||||
return obj.domain_info.federal_agency if obj.domain_info else None
|
if obj.domain_info:
|
||||||
|
return obj.domain_info.federal_agency
|
||||||
|
else:
|
||||||
|
return None
|
||||||
|
|
||||||
federal_agency.admin_order_field = "domain_info__federal_agency" # type: ignore
|
federal_agency.admin_order_field = "domain_info__federal_agency" # type: ignore
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ import logging
|
||||||
from django import forms
|
from django import forms
|
||||||
from django.core.validators import MinValueValidator, MaxValueValidator, RegexValidator, MaxLengthValidator
|
from django.core.validators import MinValueValidator, MaxValueValidator, RegexValidator, MaxLengthValidator
|
||||||
from django.forms import formset_factory
|
from django.forms import formset_factory
|
||||||
from registrar.models import DomainRequest
|
from registrar.models import DomainRequest, FederalAgency
|
||||||
from phonenumber_field.widgets import RegionalPhoneNumberWidget
|
from phonenumber_field.widgets import RegionalPhoneNumberWidget
|
||||||
from registrar.models.suborganization import Suborganization
|
from registrar.models.suborganization import Suborganization
|
||||||
from registrar.models.utility.domain_helper import DomainHelper
|
from registrar.models.utility.domain_helper import DomainHelper
|
||||||
|
@ -535,17 +535,25 @@ class DomainOrgNameAddressForm(forms.ModelForm):
|
||||||
|
|
||||||
def save(self, commit=True):
|
def save(self, commit=True):
|
||||||
"""Override the save() method of the BaseModelForm."""
|
"""Override the save() method of the BaseModelForm."""
|
||||||
|
|
||||||
if self.has_changed():
|
if self.has_changed():
|
||||||
|
|
||||||
# This action should be blocked by the UI, as the text fields are readonly.
|
# This action should be blocked by the UI, as the text fields are readonly.
|
||||||
# If they get past this point, we forbid it this way.
|
# If they get past this point, we forbid it this way.
|
||||||
# This could be malicious, so lets reserve information for the backend only.
|
# This could be malicious, so lets reserve information for the backend only.
|
||||||
if self.is_federal and not self._field_unchanged("federal_agency"):
|
|
||||||
|
if self.is_federal:
|
||||||
|
if not self._field_unchanged("federal_agency"):
|
||||||
raise ValueError("federal_agency cannot be modified when the generic_org_type is federal")
|
raise ValueError("federal_agency cannot be modified when the generic_org_type is federal")
|
||||||
|
|
||||||
elif self.is_tribal and not self._field_unchanged("organization_name"):
|
elif self.is_tribal and not self._field_unchanged("organization_name"):
|
||||||
raise ValueError("organization_name cannot be modified when the generic_org_type is tribal")
|
raise ValueError("organization_name cannot be modified when the generic_org_type is tribal")
|
||||||
|
|
||||||
super().save()
|
else: # If this error that means Non-Federal Agency is missing
|
||||||
|
non_federal_agency_instance = FederalAgency.get_non_federal_agency()
|
||||||
|
self.instance.federal_agency = non_federal_agency_instance
|
||||||
|
|
||||||
|
return super().save(commit=commit)
|
||||||
|
|
||||||
def _field_unchanged(self, field_name) -> bool:
|
def _field_unchanged(self, field_name) -> bool:
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue