web/ldt/user/views.py
changeset 5 ae8593287883
parent 0 ecdfc63274bf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/ldt/user/views.py	Tue Jun 08 15:44:35 2010 +0200
@@ -0,0 +1,75 @@
+from django.conf import settings
+from django.http import HttpResponse, HttpResponseRedirect
+from django.shortcuts import render_to_response
+from django.contrib.auth import authenticate, login, logout
+from django.contrib.auth.decorators import login_required
+# from django.contrib.sites.models import Site, RequestSite
+from django.template import RequestContext, Context, loader
+from django.utils.translation import ugettext as _
+from django.core.urlresolvers import reverse
+from forms import EmailChangeForm
+from django.utils import simplejson
+from ldt.management import test_cms, test_ldt
+
+
+def home(request):
+    return render_to_response('ldt/user/home.html',context_instance=RequestContext(request))
+    
+@login_required   
+def profile(request):
+    return render_to_response('ldt/user/profile.html', context_instance=RequestContext(request))
+
+@login_required     
+def space(request, page_id=None, slug=None):
+    cms = test_cms()
+    ldt = test_ldt()
+    context={
+        'cms': cms,
+        'ldt': ldt
+    }
+    return render_to_response('ldt/user/space.html', context, context_instance=RequestContext(request))
+    
+
+    
+def logout_view(request):
+    logout(request)
+    # return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
+    return HttpResponseRedirect(settings.LOGOUT_URL)
+
+    
+def loginAjax(request, loginstate_template_name='ldt/user/login_form.html'):
+    if request.method == "POST":
+        username=request.POST["username"]
+        password=request.POST["password"]
+        user = authenticate(username=username, password=password)
+        error_message = _(u"Sorry, that's not a valid username or password.")
+        if user is not None:
+            if user.is_active:
+                login(request, user)
+                context = RequestContext(request, { 'username': user.username,})
+                template = loader.get_template(loginstate_template_name)
+                html = template.render(context)
+                return HttpResponse(simplejson.dumps({'message': u'successful', 'username': user.username, 'html': html, 'reload': request.POST["reload"],}))               
+            else:
+                return HttpResponse(simplejson.dumps({'message': error_message,}))
+        else:
+            return HttpResponse(simplejson.dumps({'message': error_message,}))
+    return render_to_response('ldt/user/login_ajax.html', context_instance=RequestContext(request))
+            
+@login_required              
+def change_email(request, post_change_redirect=None):
+    if post_change_redirect is None:
+        post_change_redirect = reverse('ldt.user.views.change_email_done')
+    if request.method == "POST":
+        form = EmailChangeForm(request.user, request.POST)
+        if form.is_valid():
+            form.save()
+            return HttpResponseRedirect(post_change_redirect)
+    else:
+        form = EmailChangeForm(request.user)
+    return render_to_response('ldt/user/change_email.html', {'form': form,}, context_instance=RequestContext(request))
+    
+@login_required    
+def change_email_done(request, template_name='ldt/user/change_email_done.html'):
+    return render_to_response(template_name, context_instance=RequestContext(request))
+