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 |
|