Skip to content

Instantly share code, notes, and snippets.

@samirbr
Last active August 29, 2015 14:21
Show Gist options
  • Save samirbr/fa0cb7ac07d878317aa0 to your computer and use it in GitHub Desktop.
Save samirbr/fa0cb7ac07d878317aa0 to your computer and use it in GitHub Desktop.
from django.core import serializers
from django.shortcuts import get_object_or_404
from django.views.generic import ListView
from form.models import Form
from ..forms import MapFilterForm
from ..models import Harvest
class FormMap(ListView):
model = Harvest
template_name = "panel/form_map.html"
def get(self, *args, **kwargs):
user = self.request.user.get_root()
form = form = get_object_or_404(Form, pk=self.kwargs['pk'], user=user)
self.form = MapFilterForm(data=self.request.GET, form=form)
return super(FormMap, self).get(*args, **kwargs)
def get_context_data(self, *args, **kwargs):
ctx = super(FormMap, self).get_context_data(*args, **kwargs)
ctx.update({
'form': self.form,
'object_list_json': serializers.serialize("json", ctx['object_list']),
})
return ctx
def get_queryset(self):
form = get_object_or_404(Form, pk=self.kwargs['pk'])
harvests = Harvest.objects.filter(
value__question__tree_id=form.tree_id).distinct()
if self.form.is_valid():
harvests = harvests.filter(**self.form.get_lookups())
return harvests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment