Files
bodyrep-sandpit/django/app/views.py
Alex Lewis b0eb5ba9e1 Django import
Django import
2012-09-28 21:05:33 +10:00

114 lines
3.5 KiB
Python

import datetime
import time
import sys
from django.shortcuts import get_object_or_404
from django.shortcuts import render, render_to_response
from django.contrib.auth.decorators import login_required
from django.template.loader import render_to_string
from django.db import IntegrityError
from django.views.decorators.cache import never_cache
from django.core.urlresolvers import reverse
from django.contrib.auth import login as login_user
from django.contrib.auth import logout as logout_user
from django.contrib.auth.models import User
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404
from django.conf import settings
from django.core.mail import mail_admins
from django.core.validators import email_re
from django.core.mail import EmailMultiAlternatives
from django.contrib.sites.models import Site
from neh.app.forms import LoginForm, EditProfileForm
from django.core.context_processors import csrf
from django.template import RequestContext
from annoying.decorators import render_to, ajax_request
from app.models import Members
from utils.user_functions import get_user, ajax_login_required
from utils.view_functions import get_argument_or_404, render_to, is_true
#from utils.ratelimit import ratelimit
@render_to('app/landing.html')
def index(request):
return {}
@render_to('app/member.html')
def mprofile(request):
if request.user.is_anonymous():
return login(request)
else:
member = Members.objects.get(username=request.user.username)
return {'member': member}
@render_to('app/profile.html')
def vprofile(request, username):
member = Members.objects.get(username=username)
if request.user.is_anonymous():
return login(request)
else:
return { 'user': request.user, 'member': member }
@never_cache
@render_to('auth/login.html')
def login(request):
if not request.user.is_anonymous():
return HttpResponseRedirect(reverse('mprofile'))
if request.method == "POST":
if request.POST.get('submit', '').startswith('log'):
login_form = LoginForm(request.POST, prefix='login')
else:
login_form = LoginForm(prefix='login')
else:
login_form = LoginForm(prefix='login')
return {'login_form':login_form}
@never_cache
def dologin(request):
code = -1
message = ""
if request.method == "POST":
form = LoginForm(request.POST, prefix='login')
if form.is_valid():
login_user(request, form.get_user())
return HttpResponseRedirect(reverse('mprofile'))
else:
message = form.errors.items()[0][1][0]
@never_cache
def logout(request):
logout_user(request)
if request.GET.get('api'):
return HttpResponse(json.encode(dict(code=1)), mimetype='application/json')
else:
return HttpResponseRedirect(reverse('index'))
@ajax_request
@render_to('app/editProfile.html')
def edit(request):
if request.user.is_anonymous():
return login(request)
else:
member = Members.objects.get(username=request.user.username)
mdata = {'firstname': member.firstname, 'lastname': member.lastname }
edit_form = EditProfileForm(initial=mdata, prefix='edit')
return { 'edit_form': edit_form }
@ajax_request
def save(request):
edit_form = EditProfileForm(data=request.POST,prefix = 'edit')
if edit_form.is_valid():
edit_form.save(request.user.username)
return { 'result': 1 }
else:
return { 'result': 0 }