src/p4l/views.py
changeset 4 047675624f45
parent 1 d184767fdd52
child 5 62e97cd13730
equal deleted inserted replaced
3:63c5437a9b7d 4:047675624f45
    10 from django.db.models import Count
    10 from django.db.models import Count
    11 #from django.http.response import HttpResponse, HttpResponseForbidden
    11 #from django.http.response import HttpResponse, HttpResponseForbidden
    12 from django.views.generic import ListView#, DetailView, View
    12 from django.views.generic import ListView#, DetailView, View
    13 #from django.views.generic.list import MultipleObjectMixin
    13 #from django.views.generic.list import MultipleObjectMixin
    14 from .models import Record
    14 from .models import Record
       
    15 from .forms import RecordFilterForm
    15 import logging
    16 import logging
    16 
    17 
    17 logger = logging.getLogger(__name__)
    18 logger = logging.getLogger(__name__)
    18 
    19 
    19 class RecordListView(ListView):
    20 class RecordListView(ListView):
    20     
    21     
    21     queryset = Record.objects.select_related()  # @UndefinedVariable
    22     queryset = Record.objects.select_related("language").prefetch_related('titles')  # @UndefinedVariable
    22     paginate_by = settings.NB_RECORDS_BY_PAGE
    23     paginate_by = settings.NB_RECORDS_BY_PAGE
    23     #paginator_class = JocondePaginator
       
    24     template_name = "p4l/p4l_home.html"
    24     template_name = "p4l/p4l_home.html"
    25     #filter_form_class = TermFilterForm
    25     form_class = RecordFilterForm
    26     
    26     
    27 #    def get_filter_form(self):
    27     
    28 #        initial = { 'order_by':'label',
    28     def get_context_data(self, **kwargs):
    29 #                    'order_dir': 'asc',
    29         context = ListView.get_context_data(self, **kwargs)
    30 #                    'thesaurus': None,
    30         context['filter_form'] = self.form_class()
    31 #                    'label': None,
    31         # Add filter params from GET params
    32 #                    'link_status': -1,
    32         filter_params = {}
    33 #                    'validated': None}
    33         if 'title' in self.request.GET:
    34 #        return self.filter_form_class(self.request.GET, initial=initial, auto_id=True)
    34             filter_params['title'] = self.request.GET['title']
    35 #    
    35         context['filter_params'] = filter_params
    36 #    def get_context_data(self, **kwargs):
    36         return context
    37 #        context = ListView.get_context_data(self, **kwargs)
    37     
    38 #        context['filter_form'] = self.get_filter_form()
    38     def get_queryset(self):
    39 #        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
    39         qs = super(RecordListView, self).get_queryset()
    40 #        return context
    40         filter_form = self.form_class(self.request.GET)
    41 #    
    41         if filter_form.is_valid():
    42 #    def get_queryset(self):
    42             return filter_form.get_filter_qs(qs)
    43 #        qs = super(TermListView, self).get_queryset()
    43         else:
    44 #        filter_form = self.get_filter_form()
    44             return qs
    45 #        if filter_form.is_valid():
       
    46 #            return filter_form.get_filter_qs(qs)
       
    47 #        else:
       
    48 #            return None