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