web/ldt/user/views.py
author wakimd
Fri, 22 Oct 2010 18:14:30 +0200
changeset 1 eb9188f2ee4f
permissions -rw-r--r--
first commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     1
from django.conf import settings
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     2
from django.http import HttpResponse, HttpResponseRedirect
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     3
from django.shortcuts import render_to_response
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     4
from django.contrib.auth import authenticate, login, logout
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     5
from django.contrib.auth.decorators import login_required
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     6
# from django.contrib.sites.models import Site, RequestSite
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     7
from django.template import RequestContext, Context, loader
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     8
from django.utils.translation import ugettext as _
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     9
from django.core.urlresolvers import reverse
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    10
from forms import EmailChangeForm
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    11
from django.utils import simplejson
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    12
from ldt.management import test_cms, test_ldt
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    13
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    14
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    15
def home(request):
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    16
    return render_to_response('ldt/user/home.html',context_instance=RequestContext(request))
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    17
    
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    18
@login_required   
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    19
def profile(request):
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    20
    return render_to_response('ldt/user/profile.html', context_instance=RequestContext(request))
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    21
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    22
@login_required     
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    23
def space(request, page_id=None, slug=None):
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    24
    cms = test_cms()
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    25
    ldt = test_ldt()
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    26
    context={
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    27
        'cms': cms,
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    28
        'ldt': ldt
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    29
    }
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    30
    return render_to_response('ldt/user/space.html', context, context_instance=RequestContext(request))
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    31
    
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    32
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    33
    
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    34
def logout_view(request):
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    35
    logout(request)
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    36
    return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    37
    #return HttpResponseRedirect(settings.LOGOUT_URL)
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    38
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    39
    
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    40
def loginAjax(request, loginstate_template_name='ldt/user/login_form.html'):
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    41
    if request.method == "POST":
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    42
        username=request.POST["username"]
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    43
        password=request.POST["password"]
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    44
        user = authenticate(username=username, password=password)
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    45
        error_message = _(u"Sorry, that's not a valid username or password.")
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    46
        if user is not None:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    47
            if user.is_active:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    48
                login(request, user)
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    49
                context = RequestContext(request, { 'username': user.username,})
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    50
                template = loader.get_template(loginstate_template_name)
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    51
                html = template.render(context)
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    52
                return HttpResponse(simplejson.dumps({'message': u'successful', 'username': user.username, 'html': html, 'reload': request.POST["reload"],}))               
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    53
            else:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    54
                return HttpResponse(simplejson.dumps({'message': error_message,}))
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    55
        else:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    56
            return HttpResponse(simplejson.dumps({'message': error_message,}))
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    57
    return render_to_response('ldt/user/login_ajax.html', context_instance=RequestContext(request))
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    58
            
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    59
@login_required              
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    60
def change_email(request, post_change_redirect=None):
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    61
    if post_change_redirect is None:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    62
        post_change_redirect = reverse('ldt.user.views.change_email_done')
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    63
    if request.method == "POST":
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    64
        form = EmailChangeForm(request.user, request.POST)
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    65
        if form.is_valid():
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    66
            form.save()
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    67
            return HttpResponseRedirect(post_change_redirect)
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    68
    else:
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    69
        form = EmailChangeForm(request.user)
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    70
    return render_to_response('ldt/user/change_email.html', {'form': form,}, context_instance=RequestContext(request))
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    71
    
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    72
@login_required    
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    73
def change_email_done(request, template_name='ldt/user/change_email_done.html'):
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    74
    return render_to_response(template_name, context_instance=RequestContext(request))
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    75