Files
Pinry/pinry/core/views.py

46 lines
1.6 KiB
Python
Raw Normal View History

from django.contrib.auth.models import Permission
2012-04-26 03:44:16 +00:00
from django.template.response import TemplateResponse
from django.http import HttpResponseRedirect
2012-04-26 03:44:16 +00:00
from django.core.urlresolvers import reverse
from django.contrib.auth.decorators import login_required
from django.contrib.auth import logout
2012-05-01 05:44:50 +00:00
from django.contrib import messages
from django.conf import settings
2012-04-26 03:44:16 +00:00
2013-02-21 07:43:52 +00:00
from .forms import UserCreationForm
2012-04-26 03:44:16 +00:00
def home(request):
return HttpResponseRedirect(reverse('pins:recent-pins'))
2012-08-01 21:30:18 +00:00
def private(request):
return TemplateResponse(request, 'core/private.html', None)
2012-04-26 03:44:16 +00:00
def register(request):
if not settings.ALLOW_NEW_REGISTRATIONS:
2012-08-01 21:30:18 +00:00
messages.error(request, "The admin of this service is not "
"allowing new registrations.")
return HttpResponseRedirect(reverse('pins:recent-pins'))
2012-04-26 03:44:16 +00:00
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
permissions = Permission.objects.filter(codename__in=['add_pin', 'add_image'])
user = form.save()
user.user_permissions = permissions
messages.success(request, 'Thank you for registering, you can now '
'login.')
2012-04-26 03:44:16 +00:00
return HttpResponseRedirect(reverse('core:login'))
else:
form = UserCreationForm()
2012-04-26 03:44:16 +00:00
return TemplateResponse(request, 'core/register.html', {'form': form})
@login_required
def logout_user(request):
logout(request)
2012-05-01 05:44:50 +00:00
messages.success(request, 'You have successfully logged out.')
2012-04-26 03:44:16 +00:00
return HttpResponseRedirect(reverse('core:home'))