videopdf/app/views.py

63 lines
2.2 KiB
Python

# -*- coding: utf-8 -*-
# vi:si:et:sw=4:sts=4:ts=4
from datetime import datetime
from django.shortcuts import render_to_response, get_object_or_404, get_list_or_404
from django.template import RequestContext
from django.conf import settings
from django.http import HttpResponse, HttpResponseRedirect
from django.contrib import auth
from django.contrib.auth.models import User, Group
from django.contrib.auth import authenticate
from django.core.mail import send_mail
from django.core.cache import cache
from ox.django.shortcuts import render_to_json_response
def login(request):
message = ''
if 'username' in request.POST and 'password' in request.POST:
user = authenticate(username=request.POST['username'], password=request.POST['password'])
if user and user.is_active:
auth.login(request, user)
return HttpResponseRedirect(settings.PREFIX+'/')
else:
message = 'Login failed.'
context = RequestContext(request, {
'settings': settings,
'message': message
})
return render_to_response('login.html', context)
def logout(request):
auth.logout(request)
return HttpResponseRedirect(settings.PREFIX+'/')
def register(request):
message = ''
if 'username' in request.POST and 'password' in request.POST:
username = request.POST['username']
password = request.POST['password']
email = request.POST['email']
#fixme validate email
if User.objects.filter(username__iexact=username).count() > 0:
message = 'Username already exists'
elif User.objects.filter(email__iexact=email).count() > 0:
message = 'Email address already exits'
elif not password:
message = 'Password can not be empty'
else:
user = User(username=username, email=email)
user.set_password(password)
user.save()
user = authenticate(username=username, password=password)
auth.login(request, user)
return HttpResponseRedirect(settings.PREFIX+'/')
context = RequestContext(request, {
'settings': settings,
'message': message
})
return render_to_response('register.html', context)