diff options
author | Theo Chatzimichos <tampakrap@gmail.com> | 2013-08-17 15:07:55 -0700 |
---|---|---|
committer | Theo Chatzimichos <tampakrap@gmail.com> | 2013-08-17 15:07:55 -0700 |
commit | fb6a5838875e32204b37ddb445798dad4adafcea (patch) | |
tree | 45e9580fdc7a0c87f2b2a64dc8953a79823d6383 /okupy/accounts | |
parent | Merge pull request #65 from mgorny/strong-auth-decorator (diff) | |
parent | add per-view caching on lists (diff) | |
download | identity.gentoo.org-fb6a5838875e32204b37ddb445798dad4adafcea.tar.gz identity.gentoo.org-fb6a5838875e32204b37ddb445798dad4adafcea.tar.bz2 identity.gentoo.org-fb6a5838875e32204b37ddb445798dad4adafcea.zip |
Merge pull request #63 from dastergon/improve_lists_view
Improved and added per-view caching on lists
Diffstat (limited to 'okupy/accounts')
-rw-r--r-- | okupy/accounts/urls.py | 6 | ||||
-rw-r--r-- | okupy/accounts/views.py | 24 |
2 files changed, 14 insertions, 16 deletions
diff --git a/okupy/accounts/urls.py b/okupy/accounts/urls.py index 91800b0..cf05c47 100644 --- a/okupy/accounts/urls.py +++ b/okupy/accounts/urls.py @@ -8,9 +8,9 @@ accounts_urlpatterns = patterns('', url(r'^login/$', v.login), url(r'^ssl-auth/$', v.ssl_auth), url(r'^logout/$', v.logout), - url(r'^devlist/$', v.DevListsView.as_view(template_name='devlist.html')), - url(r'^former-devlist/$', v.DevListsView.as_view(template_name='former-devlist.html')), - url(r'^foundation-members/$', v.DevListsView.as_view(template_name='foundation-members.html')), + url(r'^devlist/$', v.accounts_lists, {'acc_list': 'devlist'}), + url(r'^former-devlist/$', v.accounts_lists, {'acc_list': 'former-devlist'}), + url(r'^foundation-members/$', v.accounts_lists, {'acc_list': 'foundation-members'}), url(r'^signup/$', v.signup), url(r'^activate/(?P<token>[a-zA-Z0-9]+)/$', v.activate), url(r'^otp-setup/$', v.otp_setup), diff --git a/okupy/accounts/views.py b/okupy/accounts/views.py index 6c8e214..b477e42 100644 --- a/okupy/accounts/views.py +++ b/okupy/accounts/views.py @@ -11,6 +11,7 @@ from django.db import IntegrityError from django.forms.models import model_to_dict from django.http import (HttpResponse, HttpResponseForbidden, HttpResponseBadRequest) +from django.views.decorators.cache import cache_page from django.views.generic.base import View from django.shortcuts import redirect, render from django.utils.html import format_html @@ -55,19 +56,16 @@ import qrcode logger = logging.getLogger('okupy') logger_mail = logging.getLogger('mail_okupy') - -class DevListsView(View): - template_name = '' - - def get(self, request, *args, **kwargs): - if 'devlist.html' in self.template_name: - devlist = LDAPUser.objects.filter(is_developer=True) - elif 'former-devlist.html' in self.template_name: - devlist = LDAPUser.objects.filter(is_retired=True) - elif 'foundation-members.html' in self.template_name: - devlist = LDAPUser.objects.filter(is_foundation=True) - return render(request, self.template_name, {'devlist': devlist}) - +@cache_page(60 * 20) +def accounts_lists(request, acc_list): + devlist = LDAPUser.objects.all() + if acc_list == 'devlist': + devlist = devlist.filter(is_developer=True) + elif acc_list == 'former-devlist': + devlist = devlist.filter(is_retired=True) + elif acc_list == 'foundation-members': + devlist = devlist.filter(is_foundation=True) + return render(request, '%s.html' % acc_list, {'devlist': devlist}) @otp_required def index(request): |