# -*- 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