diff --git a/cfgov/v1/management/commands/update_data_snapshot_values.py b/cfgov/v1/management/commands/update_data_snapshot_values.py
index 83ebfb3bc68..99aea5fb68d 100644
--- a/cfgov/v1/management/commands/update_data_snapshot_values.py
+++ b/cfgov/v1/management/commands/update_data_snapshot_values.py
@@ -1,10 +1,12 @@
import json
import logging
import os
+from datetime import datetime
from django.core.management.base import BaseCommand
from v1.models.browse_page import BrowsePage
+from v1.models.sublanding_page import SublandingPage
from v1.tests.wagtail_pages.helpers import publish_changes
@@ -52,12 +54,38 @@ def find_data_snapshot(self, market_key, snapshots):
if snapshot[0]["value"]["market_key"] == market_key:
return snapshot
+ def update_landing_page(self, date):
+ landing_page = SublandingPage.objects.get(
+ title="Consumer Credit Trends"
+ )
+ dt = datetime.strptime(date, "%Y-%m-%d")
+ processed_date = dt.strftime("%B %d, %Y")
+
+ new_note = {
+ "type": "full_width_text",
+ "value": [
+ {
+ "type": "content",
+ "value": (
+ "
Market dashboards
"
+ "These dashboards were last updated on "
+ f"{processed_date}.
"
+ ),
+ }
+ ],
+ }
+ landing_page.content.raw_data[0] = new_note
+ landing_page.save_revision().publish()
+
def handle(self, *args, **options):
"""Read markets from file into update dicts."""
with open(self.expand_path(options["snapshot_file"])) as json_data:
data = json.load(json_data)
markets = data["markets"]
snapshots = self.get_data_snapshots()
+
+ self.update_landing_page(data["date_published"])
+
for market in markets:
key = market["market_key"]
snapshot_data = self.find_data_snapshot(key, snapshots)
diff --git a/cfgov/v1/tests/management/commands/test_update_data_snapshot_values.py b/cfgov/v1/tests/management/commands/test_update_data_snapshot_values.py
index 95fccfe1866..1a259cfeac2 100644
--- a/cfgov/v1/tests/management/commands/test_update_data_snapshot_values.py
+++ b/cfgov/v1/tests/management/commands/test_update_data_snapshot_values.py
@@ -8,6 +8,7 @@
from scripts import _atomic_helpers as atomic
from v1.models.browse_page import BrowsePage
+from v1.models.sublanding_page import SublandingPage
from v1.tests.wagtail_pages.helpers import publish_page
@@ -15,12 +16,19 @@ class UpdateDataSnapshotValuesTestCase(TestCase):
def test_data_snapshot(self):
"""Management command correctly updates data snapshot values"""
browse_page = BrowsePage(title="Browse Page", slug="browse")
+ sl = SublandingPage(title="Consumer Credit Trends", slug="cct")
# Adds a STU market to a browse page
browse_page.content = StreamValue(
browse_page.content.stream_block, [atomic.data_snapshot], True
)
+
+ sl.content = StreamValue(
+ sl.content.stream_block, [atomic.full_width_text], True
+ )
+
publish_page(child=browse_page)
+ publish_page(child=sl)
# Call management command to update values
filename = os.path.join(
@@ -47,6 +55,9 @@ def test_data_snapshot(self):
self.assertNotContains(response, "In year-over-year inquiries")
self.assertNotContains(response, "In year-over-year credit tightness")
+ landing_response = self.client.get("/cct/")
+ self.assertContains(landing_response, "October 02, 2018")
+
def test_data_snapshot_with_inquiry_and_tightness(self):
"""Management command correctly updates data snapshot values
for market that contains inquiry and tightness data"""
@@ -55,13 +66,21 @@ def test_data_snapshot_with_inquiry_and_tightness(self):
slug="browse",
)
+ sl = SublandingPage(title="Consumer Credit Trends", slug="cct")
+
# Adds a AUT market to a browse page
browse_page.content = StreamValue(
browse_page.content.stream_block,
[atomic.data_snapshot_with_optional_fields],
True,
)
+
+ sl.content = StreamValue(
+ sl.content.stream_block, [atomic.full_width_text], True
+ )
+
publish_page(child=browse_page)
+ publish_page(child=sl)
# Call management command to update values
filename = os.path.join(