diff --git a/amadeus/views.py b/amadeus/views.py
index 5475df0..9eadb59 100644
--- a/amadeus/views.py
+++ b/amadeus/views.py
@@ -1,7 +1,8 @@
+from django.http import Http404
from django.shortcuts import redirect
def index(request):
if request.user.is_authenticated:
- return Http404('
diff --git a/users/templates/users/register.html b/users/templates/users/register.html
new file mode 100644
index 0000000..493048a
--- /dev/null
+++ b/users/templates/users/register.html
@@ -0,0 +1,88 @@
+{% extends 'base.html' %}
+
+{% load static i18n %}
+{% load widget_tweaks %}
+
+{% block nav %}
+{% endblock %}
+
+{% block sidebar %}
+{% endblock sidebar %}
+
+{% block content %}
+ {% if messages %}
+ {% for message in messages %}
+
+ {% endfor %}
+ {% endif %}
+
+
+
+
+

+
+
+
+
+
+
+
+
+
+
+
{% trans "User Register" %}
+
+
+
+
+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/users/urls.py b/users/urls.py
index 5581027..b1575b0 100644
--- a/users/urls.py
+++ b/users/urls.py
@@ -1,8 +1,10 @@
from django.conf.urls import url
+from django.contrib.auth import views as auth_views
from . import views
urlpatterns = [
url(r'^login/$', views.login, name='login'),
-
+ url(r'^logout/$', auth_views.logout, {'next_page': 'users:login'}, name='logout'),
+ url(r'^signup/$', views.RegisterUser.as_view(), name = 'signup'),
]
diff --git a/users/views.py b/users/views.py
index 80e845c..c77d399 100644
--- a/users/views.py
+++ b/users/views.py
@@ -1,3 +1,4 @@
+from django.http import Http404
from django.shortcuts import get_object_or_404,redirect, render
from django.db.models import Q
from django.views import generic
@@ -13,7 +14,7 @@ from itertools import chain
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from .models import User
-
+from .forms import RegisterUserForm
#API IMPORTS
from rest_framework import viewsets
@@ -220,10 +221,31 @@ from rest_framework.permissions import IsAuthenticated, IsAuthenticatedOrReadOnl
# return context
+class RegisterUser(generic.edit.CreateView):
+ model = User
+ form_class = RegisterUserForm
+ template_name = 'users/register.html'
+
+ success_url = reverse_lazy('users:login')
+
+ def get_context_data(self, **kwargs):
+ context = super(RegisterUser, self).get_context_data(**kwargs)
+ context['title'] = _('Sign Up')
+
+ return context
+
+ def form_valid(self, form):
+ form.save()
+
+ assign_role(form.instance, 'student')
+
+ messages.success(self.request, _('User successfully registered!'))
+
+ return super(RegisterUser, self).form_valid(form)
def login(request):
context = {}
- context['title'] = 'Log In'
+ context['title'] = _('Log In')
if request.POST:
username = request.POST['email']
@@ -236,7 +258,7 @@ def login(request):
messages.add_message(request, messages.ERROR, _('E-mail or password are incorrect.'))
context["username"] = username
elif request.user.is_authenticated:
- return redirect(reverse('users:login'))
+ raise Http404('
Page not found
')
return render(request,"users/login.html",context)
--
libgit2 0.21.2