X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/f59e7c3de6bd0f85a61a4d9481db60cd7369ae92..f2056dbaafa8f6a5bf72ef25ecf77060693ba35d:/wolnelektury/views.py diff --git a/wolnelektury/views.py b/wolnelektury/views.py index 0af07f454..8732079ff 100755 --- a/wolnelektury/views.py +++ b/wolnelektury/views.py @@ -1,14 +1,17 @@ from datetime import datetime +import feedparser from django.contrib import auth from django.contrib.auth.forms import UserCreationForm, AuthenticationForm +from django.core.cache import cache from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import render_to_response from django.template import RequestContext from django.utils.http import urlquote_plus from django.utils.translation import ugettext_lazy as _ -from django.views.decorators import cache +from django.views.decorators.cache import never_cache +from django.conf import settings from ajaxable.utils import AjaxableFormView from catalogue.models import Book @@ -22,9 +25,9 @@ def main_page(request): class LoginFormView(AjaxableFormView): form_class = AuthenticationForm - #template = "auth/login.html" title = _('Sign in') submit = _('Sign in') + ajax_redirect = True def __call__(self, request): if request.user.is_authenticated(): @@ -37,9 +40,10 @@ class LoginFormView(AjaxableFormView): class RegisterFormView(AjaxableFormView): form_class = UserCreationForm - #template = "auth/register.html" title = _('Register') submit = _('Register') + ajax_redirect = True + form_prefix = 'register' def __call__(self, request): if request.user.is_authenticated(): @@ -55,7 +59,17 @@ class RegisterFormView(AjaxableFormView): auth.login(request, user) -@cache.never_cache +class LoginRegisterFormView(LoginFormView): + template = 'auth/login_register.html' + + def extra_context(self): + return { + "register_form": UserCreationForm(prefix='register'), + "register_submit": _('Register'), + } + + +@never_cache def logout_then_redirect(request): auth.logout(request) return HttpResponseRedirect(urlquote_plus(request.GET.get('next', '/'), safe='/?=')) @@ -66,3 +80,26 @@ def clock(request): in a format suitable for Date.parse() """ return HttpResponse(datetime.now().strftime('%Y/%m/%d %H:%M:%S')) + + +def publish_plan(request): + cache_key = "publish_plan" + plan = cache.get(cache_key) + + if plan is None: + plan = [] + try: + feed = feedparser.parse(settings.PUBLISH_PLAN_FEED) + except: + pass + else: + for i in range(len(feed['entries'])): + print i + plan.append({ + 'title': feed['entries'][i].title, + 'link': feed['entries'][i].link, + }) + cache.set(cache_key, plan, 1800) + + return render_to_response("publish_plan.html", {'plan': plan}, + context_instance=RequestContext(request))