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