src/p4l/views.py
author cavaliet
Tue, 27 Aug 2013 18:09:55 +0200
changeset 1 d184767fdd52
child 4 047675624f45
permissions -rw-r--r--
first list view

# -*- coding: utf-8 -*-
'''
Created on Aug 27, 2013

@author: tc
'''

from django.conf import settings
from django.core.paginator import Paginator, InvalidPage, EmptyPage
from django.db.models import Count
#from django.http.response import HttpResponse, HttpResponseForbidden
from django.views.generic import ListView#, DetailView, View
#from django.views.generic.list import MultipleObjectMixin
from .models import Record
import logging

logger = logging.getLogger(__name__)

class RecordListView(ListView):
    
    queryset = Record.objects.select_related()  # @UndefinedVariable
    paginate_by = settings.NB_RECORDS_BY_PAGE
    #paginator_class = JocondePaginator
    template_name = "p4l/p4l_home.html"
    #filter_form_class = TermFilterForm
    
#    def get_filter_form(self):
#        initial = { 'order_by':'label',
#                    'order_dir': 'asc',
#                    'thesaurus': None,
#                    'label': None,
#                    'link_status': -1,
#                    'validated': None}
#        return self.filter_form_class(self.request.GET, initial=initial, auto_id=True)
#    
#    def get_context_data(self, **kwargs):
#        context = ListView.get_context_data(self, **kwargs)
#        context['filter_form'] = self.get_filter_form()
#        context['term_tree_valid_thesaurus'] = json.dumps([entry['thesaurus__id'] for entry in Term.objects.root_nodes().values('thesaurus__id').annotate(root_nodes_count=Count('thesaurus__id')).order_by().filter(root_nodes_count__lt=settings.JOCONDE_TERM_TREE_MAX_ROOT_NODE)])  # @UndefinedVariable
#        return context
#    
#    def get_queryset(self):
#        qs = super(TermListView, self).get_queryset()
#        filter_form = self.get_filter_form()
#        if filter_form.is_valid():
#            return filter_form.get_filter_qs(qs)
#        else:
#            return None