Last active
August 29, 2015 14:21
-
-
Save samirbr/fa0cb7ac07d878317aa0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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