allow Register new account
This commit is contained in:
parent
460bacb099
commit
d286aedccc
5 changed files with 42 additions and 2 deletions
|
@ -64,6 +64,10 @@ main.map {
|
||||||
main.account form {
|
main.account form {
|
||||||
max-width: 400px;
|
max-width: 400px;
|
||||||
}
|
}
|
||||||
|
#modal-content form button[type=submit] {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
#modal-content :last-child {
|
#modal-content :last-child {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
{{ form }}
|
{{ form }}
|
||||||
<button type="submit">{% trans 'Log in' %}</button>
|
<button type="submit">{% trans 'Log in' %}</button>
|
||||||
|
<a href="{% url 'site.register' %}">{% trans 'Create new account' %}</a>
|
||||||
</form>
|
</form>
|
||||||
</main>
|
</main>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
14
src/c3nav/site/templates/site/register.html
Normal file
14
src/c3nav/site/templates/site/register.html
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{% extends 'site/base.html' %}
|
||||||
|
{% load i18n %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<main class="account">
|
||||||
|
<h2>{% trans 'Create new account' %}</h2>
|
||||||
|
|
||||||
|
<form method="post" action="{{ request.path_info }}?{{ request.GET.urlencode }}">
|
||||||
|
{% csrf_token %}
|
||||||
|
{{ form }}
|
||||||
|
<button type="submit">{% trans 'Create new account' %}</button>
|
||||||
|
</form>
|
||||||
|
</main>
|
||||||
|
{% endblock %}
|
|
@ -1,6 +1,6 @@
|
||||||
from django.conf.urls import url
|
from django.conf.urls import url
|
||||||
|
|
||||||
from c3nav.site.views import account_view, login_view, logout_view, map_index, qr_code
|
from c3nav.site.views import account_view, login_view, logout_view, map_index, qr_code, register_view
|
||||||
|
|
||||||
slug = r'(?P<slug>[a-z0-9-_.:]+)'
|
slug = r'(?P<slug>[a-z0-9-_.:]+)'
|
||||||
slug2 = r'(?P<slug2>[a-z0-9-_.:]+)'
|
slug2 = r'(?P<slug2>[a-z0-9-_.:]+)'
|
||||||
|
@ -17,5 +17,6 @@ urlpatterns = [
|
||||||
url(r'^qr/(?P<path>.*)$', qr_code, name='site.qr'),
|
url(r'^qr/(?P<path>.*)$', qr_code, name='site.qr'),
|
||||||
url(r'^login$', login_view, name='site.login'),
|
url(r'^login$', login_view, name='site.login'),
|
||||||
url(r'^logout$', logout_view, name='site.logout'),
|
url(r'^logout$', logout_view, name='site.logout'),
|
||||||
|
url(r'^register$', register_view, name='site.register'),
|
||||||
url(r'^account/$', account_view, name='site.account'),
|
url(r'^account/$', account_view, name='site.account'),
|
||||||
]
|
]
|
||||||
|
|
|
@ -5,7 +5,7 @@ import qrcode
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.contrib.auth import login, logout
|
from django.contrib.auth import login, logout
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
from django.contrib.auth.forms import AuthenticationForm
|
from django.contrib.auth.forms import AuthenticationForm, UserCreationForm
|
||||||
from django.core.serializers.json import DjangoJSONEncoder
|
from django.core.serializers.json import DjangoJSONEncoder
|
||||||
from django.http import HttpResponse, HttpResponseBadRequest
|
from django.http import HttpResponse, HttpResponseBadRequest
|
||||||
from django.shortcuts import redirect, render
|
from django.shortcuts import redirect, render
|
||||||
|
@ -148,6 +148,26 @@ def logout_view(request):
|
||||||
return close_response(request)
|
return close_response(request)
|
||||||
|
|
||||||
|
|
||||||
|
@never_cache
|
||||||
|
def register_view(request):
|
||||||
|
if request.user.is_authenticated:
|
||||||
|
return close_response(request)
|
||||||
|
|
||||||
|
if request.method == 'POST':
|
||||||
|
form = UserCreationForm(data=request.POST)
|
||||||
|
if form.is_valid():
|
||||||
|
user = form.save()
|
||||||
|
login(request, user)
|
||||||
|
return close_response(request)
|
||||||
|
else:
|
||||||
|
form = UserCreationForm()
|
||||||
|
|
||||||
|
for field in form.fields.values():
|
||||||
|
field.help_text = None
|
||||||
|
|
||||||
|
return render(request, 'site/register.html', {'form': form})
|
||||||
|
|
||||||
|
|
||||||
@never_cache
|
@never_cache
|
||||||
@login_required(login_url='site.login')
|
@login_required(login_url='site.login')
|
||||||
def account_view(request):
|
def account_view(request):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue