From ac56c13fc7469536af17c93e0e3bd520dd5531f9 Mon Sep 17 00:00:00 2001
From: davidh-ssec <david.hoese@ssec.wisc.edu>
Date: Thu, 15 Oct 2015 15:11:04 -0500
Subject: [PATCH] first steps towards a dynamic quicklooks page

---
 .../templates/quicklooks.html                 | 28 +++++++++++++++++++
 sparc_cms/field_experiments/urls.py           |  2 ++
 sparc_cms/field_experiments/views.py          | 18 ++++++++++--
 3 files changed, 46 insertions(+), 2 deletions(-)
 create mode 100644 sparc_cms/field_experiments/templates/quicklooks.html

diff --git a/sparc_cms/field_experiments/templates/quicklooks.html b/sparc_cms/field_experiments/templates/quicklooks.html
new file mode 100644
index 0000000..c1f7e39
--- /dev/null
+++ b/sparc_cms/field_experiments/templates/quicklooks.html
@@ -0,0 +1,28 @@
+{% extends "base.html" %}
+
+{% load i18n future mezzanine_tags %}
+
+{% block breadcrumb_menu %}
+    {{ block.super }}
+    <li class="active">Quicklooks</li>
+{% endblock %}
+
+{% block main %}{{ block.super }}
+
+    <h1>Quicklooks</h1>
+    <div class="container">
+        <div id="quicklook_controls" class="row">
+            <div class="col-md-10">
+                <div class="form-group">
+                    <label for="exp_select">Experiment:</label>
+                    <select class="form-control" id="exp_select">
+                        {% for exp_name in experiment_names %}
+                            <option>{{ exp_name }}</option>
+                        {% endfor %}
+                    </select>
+                </div>
+            </div>
+        </div>
+    </div>
+
+{% endblock %}
diff --git a/sparc_cms/field_experiments/urls.py b/sparc_cms/field_experiments/urls.py
index acb4c86..48ca4d7 100644
--- a/sparc_cms/field_experiments/urls.py
+++ b/sparc_cms/field_experiments/urls.py
@@ -6,8 +6,10 @@ urlpatterns = patterns(
     "",
     url("^experiments/$", ExperimentListView.as_view(), name="experiment_list"),
     url("^instruments/$", InstrumentListView.as_view(), name="instrument_list"),
+    url("^quicklooks/$", "field_experiments.views.quicklooks_view", name="main_quicklooks"),
     url("^(?P<experiment>experiments/.+)/status/$", DailyStatusListView.as_view(), name="dailystatus_list"),
     url("^(?P<experiment>experiments/.+)/status/(?P<slug>[^/]+)/$", "field_experiments.views.dailystatus_detail", name="dailystatus_detail"),
+    url("^(?P<experiment>experiments/.+)/quicklooks/$", "field_experiments.views.quicklooks_view", name="experiment_quicklooks"),
     url("^(?P<slug>experiments/[^/]+)/$", "field_experiments.views.experiment_detail", name="experiment_detail"),
     url("^(?P<slug>instruments/[^/]+)/$", "field_experiments.views.instrument_detail", name="instrument_detail"),
 )
diff --git a/sparc_cms/field_experiments/views.py b/sparc_cms/field_experiments/views.py
index 1210c77..0101670 100644
--- a/sparc_cms/field_experiments/views.py
+++ b/sparc_cms/field_experiments/views.py
@@ -1,8 +1,6 @@
 from mezzanine.utils.views import render, paginate
 from mezzanine.pages.views import page as page_view
 from mezzanine.conf import settings
-#from mezzanine.pages.models import Link
-#from mezzanine.galleries.models import Gallery
 from django.core.exceptions import ImproperlyConfigured, ObjectDoesNotExist
 from django.shortcuts import get_object_or_404
 from django.views.generic.list import ListView
@@ -155,3 +153,19 @@ class DailyStatusListView(ListView):
                               % {'class_name': self.__class__.__name__})
         context = self.get_context_data()
         return self.render_to_response(context)
+
+
+def quicklooks_view(request, experiment=None, template="quicklooks.html"):
+    extra_context = {}
+    try:
+        if experiment is None:
+            experiment = Experiment.objects.published().latest()
+        else:
+            experiment = Experiment.objects.published().filter(name=experiment)
+    except Experiment.DoesNotExist:
+        raise Http404('No %s matches the given query.' % Experiment._meta.object_name)
+
+    extra_context["recent_experiment"] = experiment
+    extra_context["experiment_names"] = [x.title for x in Experiment.objects.published().all()]
+    print(extra_context["experiment_names"])
+    return render(request, [template], dictionary=extra_context)
-- 
GitLab