X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/3badd77f743883992829a1174eef7c8d5e851766..92bcb49ab1a4bf73225b8dec1cf09fd6dff8a879:/wolnelektury/views.py diff --git a/wolnelektury/views.py b/wolnelektury/views.py index 8732079ff..37df778cd 100755 --- a/wolnelektury/views.py +++ b/wolnelektury/views.py @@ -2,6 +2,7 @@ from datetime import datetime import feedparser from django.contrib import auth +from django.contrib.auth.decorators import login_required from django.contrib.auth.forms import UserCreationForm, AuthenticationForm from django.core.cache import cache from django.http import HttpResponse, HttpResponseRedirect @@ -14,10 +15,12 @@ from django.views.decorators.cache import never_cache from django.conf import settings from ajaxable.utils import AjaxableFormView from catalogue.models import Book +from ajaxable.utils import placeholdized +@never_cache def main_page(request): - last_published = Book.objects.exclude(html_file='').order_by('-created_at')[:4] + last_published = Book.objects.filter(parent=None).order_by('-created_at')[:4] return render_to_response("main_page.html", locals(), context_instance=RequestContext(request)) @@ -25,13 +28,17 @@ def main_page(request): class LoginFormView(AjaxableFormView): form_class = AuthenticationForm + template = "auth/login.html" + placeholdize = True title = _('Sign in') submit = _('Sign in') ajax_redirect = True def __call__(self, request): if request.user.is_authenticated(): - return HttpResponseRedirect('/') + return self.redirect_or_refresh(request, '/', + message=_('Already logged in as user %(user)s', ) % + {'user': request.user.username}) return super(LoginFormView, self).__call__(request) def success(self, form, request): @@ -40,6 +47,8 @@ class LoginFormView(AjaxableFormView): class RegisterFormView(AjaxableFormView): form_class = UserCreationForm + template = "auth/register.html" + placeholdize = True title = _('Register') submit = _('Register') ajax_redirect = True @@ -47,11 +56,13 @@ class RegisterFormView(AjaxableFormView): def __call__(self, request): if request.user.is_authenticated(): - return HttpResponseRedirect('/') + return self.redirect_or_refresh(request, '/', + message=_('Already logged in as user %(user)s', ) % + {'user': request.user.username}) return super(RegisterFormView, self).__call__(request) def success(self, form, request): - user = form.save() + form.save() user = auth.authenticate( username=form.cleaned_data['username'], password=form.cleaned_data['password1'] @@ -61,10 +72,11 @@ class RegisterFormView(AjaxableFormView): class LoginRegisterFormView(LoginFormView): template = 'auth/login_register.html' + title = _('You have to be logged in to continue') - def extra_context(self): + def extra_context(self, request, obj): return { - "register_form": UserCreationForm(prefix='register'), + "register_form": placeholdized(UserCreationForm(prefix='register')), "register_submit": _('Register'), } @@ -94,7 +106,6 @@ def publish_plan(request): pass else: for i in range(len(feed['entries'])): - print i plan.append({ 'title': feed['entries'][i].title, 'link': feed['entries'][i].link, @@ -103,3 +114,9 @@ def publish_plan(request): return render_to_response("publish_plan.html", {'plan': plan}, context_instance=RequestContext(request)) + + +@login_required +def user_settings(request): + return render_to_response("user.html", + context_instance=RequestContext(request))