Changeset 21360c8


Ignore:
Timestamp:
Jun 15, 2014, 9:42:51 PM (11 years ago)
Author:
Alex Dehnert <adehnert@…>
Branches:
master
Children:
2e4e1fb
Parents:
f298bd7
git-author:
Alex Dehnert <adehnert@…> (06/15/14 17:59:25)
git-committer:
Alex Dehnert <adehnert@…> (06/15/14 21:42:51)
Message:

Django 1.6: Switch to class-based ListView?

Dango 1.5(?) removed function-based generic views, so we need to switch to the
class-based ones.

Location:
remit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • remit/urls.py

    rff623c3 r21360c8  
    66# Necessary views
    77import finance_core.views
     8from util.shortcuts import TemplateViewWithContext
    89
    910# Uncomment the next two lines to enable the admin:
     
    1314urlpatterns = patterns('',
    1415    # Example:
    15     (r'^$', 'django.views.generic.simple.direct_to_template', {'template': 'index.html', 'extra_context': { 'pagename':'homepage' }, }, 'homepage'),
     16    url(r'^$', TemplateViewWithContext.as_view(template_name='index.html', extra_context={ 'pagename':'homepage' }), name='homepage'),
    1617    (r'^vouchers/', include('vouchers.urls')),
    1718    (r'^finance_core/', include('finance_core.urls')),
  • remit/util/shortcuts.py

    rf7dd5e7 r21360c8  
    22from django.template import RequestContext, Template
    33from django.template.loader import get_template
     4from django.views.generic.base import TemplateView
     5from django.views.generic.list import ListView
    46
    57def get_403_response(request, errmsg=None, **extra_context):
     
    810    page = tmpl.render(ctx, )
    911    return HttpResponseForbidden(page)
     12
     13
     14class ListViewWithContext(ListView):
     15    extra_context = {}
     16
     17    # I believe .queryset will work out-of-the-box
     18
     19    def get_context_data(self, **kwargs):
     20        context = super(ListViewWithContext,self).get_context_data(**kwargs)
     21        context.update(self.extra_context)
     22        return context
     23
     24
     25class TemplateViewWithContext(TemplateView):
     26    extra_context = {}
     27
     28    def get_context_data(self, **kwargs):
     29        context = super(TemplateViewWithContext,self).get_context_data(**kwargs)
     30        print context
     31        context.update(self.extra_context)
  • remit/vouchers/views.py

    r9dee7f6 r21360c8  
    22from vouchers.models import ReimbursementRequest, Documentation
    33from finance_core.models import BudgetTerm, BudgetArea
    4 from util.shortcuts import get_403_response
     4from util.shortcuts import get_403_response, ListViewWithContext
    55
    66from django.contrib.auth.decorators import user_passes_test, login_required
     
    1717from django.template import Context, Template
    1818from django.template.loader import get_template
    19 from django.views.generic import list_detail
    2019
    2120import decimal
     
    428427
    429428    # GENERATE THE REQUEST
    430     return list_detail.object_list(
    431         http_request,
     429    callable = ListViewWithContext.as_view(
    432430        queryset=qs,
    433431        extra_context={
     
    444442        },
    445443    )
     444    return callable(http_request)
Note: See TracChangeset for help on using the changeset viewer.