Fix some issues with deleted_at and first_ready_at in csv_export, add those new date columns to Domain table in admin

This commit is contained in:
Rachid Mrad 2023-12-21 16:04:30 -05:00
parent 2f3a06f7fa
commit 2b6f2e977e
No known key found for this signature in database
GPG key ID: EF38E4CEC4A8F3CF
3 changed files with 13 additions and 15 deletions

View file

@ -796,6 +796,7 @@ class DomainAdmin(ListHeaderAdmin):
"organization_type", "organization_type",
"state", "state",
"created_at", "created_at",
"first_ready_at",
"deleted_at", "deleted_at",
"expiration_date", "expiration_date",
] ]

View file

@ -492,15 +492,15 @@ class ExportDataTest(TestCase):
"domain__state__in": [ "domain__state__in": [
Domain.State.READY, Domain.State.READY,
], ],
"domain__first_ready_at__lt": end_date, "domain__first_ready_at__lte": end_date,
"domain__first_ready_at__gt": start_date, "domain__first_ready_at__gte": start_date,
} }
filter_conditions_for_additional_domains = { filter_conditions_for_additional_domains = {
"domain__state__in": [ "domain__state__in": [
Domain.State.DELETED, Domain.State.DELETED,
], ],
"domain__deleted_at__lt": end_date, "domain__deleted_at__lte": end_date,
"domain__deleted_at__gt": start_date, "domain__deleted_at__gte": start_date,
} }
# Call the export function # Call the export function

View file

@ -41,7 +41,7 @@ def write_row(writer, columns, domain_info):
"Status": domain_info.domain.state, "Status": domain_info.domain.state,
"Expiration date": domain_info.domain.expiration_date, "Expiration date": domain_info.domain.expiration_date,
"Created at": domain_info.domain.created_at, "Created at": domain_info.domain.created_at,
"Ready at": domain_info.domain.first_ready_at, "First ready at": domain_info.domain.first_ready_at,
"Deleted at": domain_info.domain.deleted_at, "Deleted at": domain_info.domain.deleted_at,
} }
writer.writerow([FIELDS.get(column, "") for column in columns]) writer.writerow([FIELDS.get(column, "") for column in columns])
@ -67,10 +67,7 @@ def export_domains_to_writer(
# Condition is true for export_data_growth_to_csv. This is an OR situation so we can' combine the filters # Condition is true for export_data_growth_to_csv. This is an OR situation so we can' combine the filters
# in one query. # in one query.
if ( if filter_condition_for_additional_domains is not None:
filter_condition_for_additional_domains is not None
and "domain__deleted_at__lt" in filter_condition_for_additional_domains
):
# Get the deleted domain infos # Get the deleted domain infos
deleted_domainInfos = get_domain_infos( deleted_domainInfos = get_domain_infos(
filter_condition_for_additional_domains, sort_fields_for_additional_domains filter_condition_for_additional_domains, sort_fields_for_additional_domains
@ -222,18 +219,18 @@ def export_data_growth_to_csv(csv_file, start_date, end_date):
"State", "State",
"Status", "Status",
"Created at", "Created at",
"Ready at", "First ready at",
"Deleted at", "Deleted at",
"Expiration date", "Expiration date",
] ]
sort_fields = [ sort_fields = [
"created_at", "domain__first_ready_at",
"domain__name", "domain__name",
] ]
filter_condition = { filter_condition = {
"domain__state__in": [Domain.State.READY], "domain__state__in": [Domain.State.READY],
"domain__first_ready_at__lt": end_date_formatted, "domain__first_ready_at__lte": end_date_formatted,
"domain__first_ready_at__gt": start_date_formatted, "domain__first_ready_at__gte": start_date_formatted,
} }
# We also want domains deleted between sar and end dates, sorted # We also want domains deleted between sar and end dates, sorted
@ -243,8 +240,8 @@ def export_data_growth_to_csv(csv_file, start_date, end_date):
] ]
filter_condition_for_additional_domains = { filter_condition_for_additional_domains = {
"domain__state__in": [Domain.State.DELETED], "domain__state__in": [Domain.State.DELETED],
"domain__created_at__lt": end_date_formatted, "domain__deleted_at__lte": end_date_formatted,
"domain__created_at__gt": start_date_formatted, "domain__deleted_at__gte": start_date_formatted,
} }
export_domains_to_writer( export_domains_to_writer(