mirror of
https://github.com/pinry/pinry.git
synced 2025-11-13 16:45:41 +01:00
46 lines
1.6 KiB
Python
46 lines
1.6 KiB
Python
from django.contrib.auth.models import Permission
|
|
from django.template.response import TemplateResponse
|
|
from django.http import HttpResponseRedirect
|
|
from django.core.urlresolvers import reverse
|
|
from django.contrib.auth.decorators import login_required
|
|
from django.contrib.auth import logout
|
|
from django.contrib import messages
|
|
from django.conf import settings
|
|
|
|
from .forms import UserCreationForm
|
|
|
|
|
|
def home(request):
|
|
return HttpResponseRedirect(reverse('pins:recent-pins'))
|
|
|
|
|
|
def private(request):
|
|
return TemplateResponse(request, 'user/private.html', None)
|
|
|
|
|
|
def register(request):
|
|
if not settings.ALLOW_NEW_REGISTRATIONS:
|
|
messages.error(request, "The admin of this service is not "
|
|
"allowing new registrations.")
|
|
return HttpResponseRedirect(reverse('pins:recent-pins'))
|
|
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.')
|
|
return HttpResponseRedirect(reverse('core:login'))
|
|
else:
|
|
form = UserCreationForm()
|
|
|
|
return TemplateResponse(request, 'user/register.html', {'form': form})
|
|
|
|
|
|
@login_required
|
|
def logout_user(request):
|
|
logout(request)
|
|
messages.success(request, 'You have successfully logged out.')
|
|
return HttpResponseRedirect(reverse('core:home'))
|