mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-05-17 18:09:25 +02:00
Add PR suggestions
This commit is contained in:
parent
f87e71c10a
commit
bf9169d22d
4 changed files with 20 additions and 14 deletions
|
@ -1130,7 +1130,6 @@ class ContactAdmin(ListHeaderAdmin, ImportExportModelAdmin):
|
|||
class SeniorOfficialAdmin(ListHeaderAdmin):
|
||||
"""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", "email"]
|
||||
search_help_text = "Search by first name, last name or email."
|
||||
list_display = ["first_name", "last_name", "email", "federal_agency"]
|
||||
|
|
|
@ -3,7 +3,7 @@ import csv
|
|||
import logging
|
||||
import os
|
||||
from django.core.management import BaseCommand
|
||||
from registrar.management.commands.utility.terminal_helper import TerminalHelper
|
||||
from registrar.management.commands.utility.terminal_helper import TerminalHelper, TerminalColors
|
||||
from registrar.models import SeniorOfficial, FederalAgency
|
||||
|
||||
|
||||
|
@ -50,7 +50,9 @@ class Command(BaseCommand):
|
|||
self.skipped_rows = []
|
||||
with open(federal_cio_csv_path, "r") as requested_file:
|
||||
for row in csv.DictReader(requested_file):
|
||||
# Note: the csv doesn't have a phone field, but we can try to pull one anyway.
|
||||
# Note: the csv files we have received do not currently have a phone field.
|
||||
# However, we will include it in our kwargs because that is the data we are mapping to
|
||||
# and it seems best to check for the data even if it ends up not being there.
|
||||
so_kwargs = {
|
||||
"first_name": row.get("First Name"),
|
||||
"last_name": row.get("Last Name"),
|
||||
|
@ -77,18 +79,18 @@ class Command(BaseCommand):
|
|||
else:
|
||||
self.skipped_rows.append(row)
|
||||
message = f"Skipping row (no data was found): {row}"
|
||||
TerminalHelper.colorful_logger("WARNING", "YELLOW", message)
|
||||
TerminalHelper.colorful_logger(logger.warning, TerminalColors.YELLOW, message)
|
||||
|
||||
# Bulk create the SO fields
|
||||
if len(self.added_senior_officials) > 0:
|
||||
SeniorOfficial.objects.bulk_create(self.added_senior_officials)
|
||||
|
||||
added_message = f"Added {len(self.added_senior_officials)} records"
|
||||
TerminalHelper.colorful_logger("INFO", "OKGREEN", added_message)
|
||||
TerminalHelper.colorful_logger(logger.info, TerminalColors.OKBLUE, added_message)
|
||||
|
||||
if len(self.skipped_rows) > 0:
|
||||
skipped_message = f"Skipped {len(self.skipped_rows)} records"
|
||||
TerminalHelper.colorful_logger("WARNING", "MAGENTA", skipped_message)
|
||||
TerminalHelper.colorful_logger(logger.warning, TerminalColors.MAGENTA, skipped_message)
|
||||
|
||||
def create_senior_official(self, so_kwargs):
|
||||
"""Creates a senior official object from kwargs but does not add it to the DB"""
|
||||
|
@ -113,9 +115,9 @@ class Command(BaseCommand):
|
|||
if not duplicate_field:
|
||||
self.added_senior_officials.append(new_so)
|
||||
message = f"Creating record: {record_display}"
|
||||
TerminalHelper.colorful_logger("INFO", "OKCYAN", message)
|
||||
TerminalHelper.colorful_logger(logger.info, TerminalColors.OKCYAN, message)
|
||||
else:
|
||||
# if this field is a duplicate, don't do anything
|
||||
self.skipped_rows.append(new_so)
|
||||
message = f"Skipping add on duplicate record: {record_display}"
|
||||
TerminalHelper.colorful_logger("WARNING", "YELLOW", message)
|
||||
TerminalHelper.colorful_logger(logger.warning, TerminalColors.YELLOW, message)
|
||||
|
|
|
@ -3,7 +3,7 @@ import csv
|
|||
import logging
|
||||
import os
|
||||
from django.core.management import BaseCommand
|
||||
from registrar.management.commands.utility.terminal_helper import TerminalHelper, PopulateScriptTemplate
|
||||
from registrar.management.commands.utility.terminal_helper import TerminalHelper, PopulateScriptTemplate, TerminalColors
|
||||
from registrar.models import FederalAgency
|
||||
|
||||
|
||||
|
@ -49,7 +49,7 @@ class Command(BaseCommand, PopulateScriptTemplate):
|
|||
record.is_fceb = False
|
||||
|
||||
message = f"Updating {record} => initials: {initials} | is_fceb: {record.is_fceb}"
|
||||
TerminalHelper.colorful_logger("INFO", "OKCYAN", message)
|
||||
TerminalHelper.colorful_logger(logger.info, TerminalColors.OKCYAN, message)
|
||||
|
||||
def should_skip_record(self, record) -> bool:
|
||||
"""Skip record update if there is no data for that particular agency"""
|
||||
|
|
|
@ -317,6 +317,7 @@ class TerminalHelper:
|
|||
case _:
|
||||
logger.info(print_statement)
|
||||
|
||||
# TODO - "info_to_inspect" should be refactored to "prompt_message"
|
||||
@staticmethod
|
||||
def prompt_for_execution(system_exit_on_terminate: bool, info_to_inspect: str, prompt_title: str) -> bool:
|
||||
"""Create to reduce code complexity.
|
||||
|
@ -379,14 +380,18 @@ class TerminalHelper:
|
|||
"""Adds some color to your log output.
|
||||
|
||||
Args:
|
||||
log_level: str -> Desired log level. ex: "INFO", "WARNING", "ERROR"
|
||||
log_level: str | Logger.method -> Desired log level. ex: logger.info or "INFO"
|
||||
color: str | TerminalColors -> Output color. ex: TerminalColors.YELLOW or "YELLOW"
|
||||
message: str -> Message to display.
|
||||
"""
|
||||
log_method = getattr(logger, log_level.lower(), logger.info)
|
||||
|
||||
if isinstance(color, str):
|
||||
terminal_color = getattr(TerminalColors, color.upper(), TerminalColors.OKBLUE)
|
||||
if isinstance(log_level, str) and hasattr(logger, log_level.lower()):
|
||||
log_method = getattr(logger, log_level.lower(), logger.info)
|
||||
else:
|
||||
log_method = log_level
|
||||
|
||||
if isinstance(color, str) and hasattr(TerminalColors, color.upper()):
|
||||
terminal_color = getattr(TerminalColors, color.upper())
|
||||
else:
|
||||
terminal_color = color
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue