Finish script

This commit is contained in:
zandercymatics 2025-01-06 15:02:33 -07:00
parent e91c160a67
commit d68ccdc1b1
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7

View file

@ -2,8 +2,6 @@ import logging
from django.core.management import BaseCommand from django.core.management import BaseCommand
from registrar.management.commands.utility.terminal_helper import PopulateScriptTemplate, TerminalColors, TerminalHelper from registrar.management.commands.utility.terminal_helper import PopulateScriptTemplate, TerminalColors, TerminalHelper
from registrar.models import DomainRequest from registrar.models import DomainRequest
from django.db.models import F
from registrar.models.utility.generic_helper import normalize_string from registrar.models.utility.generic_helper import normalize_string
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -15,7 +13,12 @@ class Command(BaseCommand, PopulateScriptTemplate):
def handle(self, **kwargs): def handle(self, **kwargs):
"""Loops through each DomainRequest object and populates """Loops through each DomainRequest object and populates
its last_status_update and first_submitted_date values""" its last_status_update and first_submitted_date values"""
filter_conditions = {"portfolio__isnull": False, "sub_organization__isnull": True} filter_conditions = {
"portfolio__isnull": False,
"organization_name__isnull": False,
"sub_organization__isnull": True,
"portfolio__organization_name__isnull": False,
}
fields_to_update = ["requested_suborganization", "suborganization_city", "suborganization_state_territory"] fields_to_update = ["requested_suborganization", "suborganization_city", "suborganization_state_territory"]
self.mass_update_records(DomainRequest, filter_conditions, fields_to_update) self.mass_update_records(DomainRequest, filter_conditions, fields_to_update)
@ -29,15 +32,10 @@ class Command(BaseCommand, PopulateScriptTemplate):
f"sub_city: {record.city}, suborg_state_territory: {record.state_territory}." f"sub_city: {record.city}, suborg_state_territory: {record.state_territory}."
) )
TerminalHelper.colorful_logger(logger.info, TerminalColors.OKBLUE, message) TerminalHelper.colorful_logger(logger.info, TerminalColors.OKBLUE, message)
def should_skip_record(self, record) -> bool: def should_skip_record(self, record) -> bool:
"""Skips updating the record if the portfolio name is the same as the org name, """Skips updating the record if the portfolio name is the same as the org name,
or if we are trying to update a record in an invalid status.""" or if we are trying to update a record in an invalid status."""
portfolio_normalized = normalize_string(record.portfolio.organization_name)
org_normalized = normalize_string(record.organization_name)
if portfolio_normalized == org_normalized:
return True
invalid_statuses = [ invalid_statuses = [
DomainRequest.DomainRequestStatus.APPROVED, DomainRequest.DomainRequestStatus.APPROVED,
DomainRequest.DomainRequestStatus.REJECTED, DomainRequest.DomainRequestStatus.REJECTED,
@ -47,4 +45,9 @@ class Command(BaseCommand, PopulateScriptTemplate):
if record.status in invalid_statuses: if record.status in invalid_statuses:
return True return True
portfolio_normalized = normalize_string(record.portfolio.organization_name)
org_normalized = normalize_string(record.organization_name)
if portfolio_normalized == org_normalized:
return True
return False return False