From 7ba9f2c89c30c479252c3087e3d9befaaec3af9f Mon Sep 17 00:00:00 2001 From: Eric Drechsel Date: Fri, 20 Feb 2015 13:50:53 -0800 Subject: [PATCH] POR-230 use data layer count across story sections as metric --- portal/ocean_stories/models.py | 7 +++++++ .../templates/ocean_stories/ocean_story_card.html | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/portal/ocean_stories/models.py b/portal/ocean_stories/models.py index 3d65cc43..a64d0e85 100644 --- a/portal/ocean_stories/models.py +++ b/portal/ocean_stories/models.py @@ -69,6 +69,8 @@ def parsed_map_state(self): else: s = json.loads(self.map_state) return s + def data_layers(self): + return self.parsed_map_state['dataLayers'].keys() def clean(self): super(OceanStorySectionBase, self).clean() @@ -109,7 +111,12 @@ def as_json(self): o = {'sections': []} return json.dumps(o); + def data_layers(self): + return set.union(*[set(s.data_layers()) for s in self.sections.all()]) + def badge_metric(self): + return len(self.data_layers()) + OceanStory.content_panels = DetailPageBase.content_panels + [ MultiFieldPanel([FieldPanel('hook'), FieldPanel('explore_title'), FieldPanel('explore_url')], "Map overlay"), InlinePanel( OceanStory, 'sections', label="Sections" ), diff --git a/portal/ocean_stories/templates/ocean_stories/ocean_story_card.html b/portal/ocean_stories/templates/ocean_stories/ocean_story_card.html index b4924bd5..3c899511 100644 --- a/portal/ocean_stories/templates/ocean_stories/ocean_story_card.html +++ b/portal/ocean_stories/templates/ocean_stories/ocean_story_card.html @@ -1,6 +1,6 @@ {% extends "portal/components/card.html" %} {% block media %} -{{ item.sections.all|length }} +{{ item.badge_metric }} {% endblock %}