diff --git a/nmgfitness/base.html b/nmgfitness/base.html new file mode 100644 index 0000000..dbbf658 --- /dev/null +++ b/nmgfitness/base.html @@ -0,0 +1,78 @@ + + + + + + + + + NMG Fitness Registration + + + + + + +
+
+ {% block content %} + BASE TEMPLATE + {% endblock %} +
+
+ + + + + + + + + + diff --git a/nmgfitness/calendar.html b/nmgfitness/calendar.html index bfed48b..ef1a164 100644 --- a/nmgfitness/calendar.html +++ b/nmgfitness/calendar.html @@ -1,13 +1,7 @@ - - - - - - - - - - -

Nieuwe Molens Gent -- Fitness calendar


-

Klik op de gewenste plaats in de kalender om een nieuwe reservatie toe te voegen, vul je naam in in het dialoogvenster. @@ -152,10 +139,6 @@

Je kan een event verschuiven of verlengen/verkorten door het vast te nemen en te verschuiven.

-

- Indien het niet lukt om op een reeds gerserveerd moment een nieuwe reservatie aan te maken, -

- - +{% endblock %} diff --git a/nmgfitness/settings.py b/nmgfitness/settings.py index 2ab1d9f..33e78ba 100644 --- a/nmgfitness/settings.py +++ b/nmgfitness/settings.py @@ -27,17 +27,20 @@ DEBUG = True ALLOWED_HOSTS = [] - +LOGIN_URL = '/accounts/login/' +LOGIN_REDIRECT_URL = '/' # Application definition INSTALLED_APPS = [ - 'django.contrib.admin', + 'users.apps.UsersConfig', + 'nmgfitness', 'django.contrib.auth', + 'django.contrib.admin', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', - 'nmgfitness', + 'bootstrap4', ] MIDDLEWARE = [ diff --git a/nmgfitness/urls.py b/nmgfitness/urls.py index 99f8465..b5278ce 100644 --- a/nmgfitness/urls.py +++ b/nmgfitness/urls.py @@ -14,14 +14,19 @@ Including another URLconf 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin -from django.urls import path +from django.urls import path, include from django.conf.urls import url +from users.views import register + + from .views import calendar, add_event, update, remove urlpatterns = [ + path('accounts/', include('django.contrib.auth.urls')), path('admin/', admin.site.urls), - url('^$', calendar, name='calendar'), + path('register/', register, name="register"), + url('^$', calendar, name='index'), url('^add_event$', add_event, name='add_event'), url('^update$', update, name='update'), url('^remove', remove, name='remove'), diff --git a/nmgfitness/views.py b/nmgfitness/views.py index 1ee740d..f1fcde5 100644 --- a/nmgfitness/views.py +++ b/nmgfitness/views.py @@ -2,14 +2,20 @@ from .models import Events from django.shortcuts import render from django.http import JsonResponse +from django.contrib.auth.decorators import login_required + +@login_required def calendar(request): + print(request.user) all_events = Events.objects.all() context = { - "events":all_events, + "events": all_events, } - return render(request,'calendar.html',context) + return render(request, 'calendar.html', context) + +@login_required def add_event(request): start = request.GET.get("start", None) end = request.GET.get("end", None) @@ -20,6 +26,7 @@ def add_event(request): return JsonResponse(data) +@login_required def update(request): start = request.GET.get("start", None) end = request.GET.get("end", None) @@ -34,6 +41,7 @@ def update(request): return JsonResponse(data) +@login_required def remove(request): id = request.GET.get("id", None) event = Events.objects.get(id=id) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..5284932 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +django-bootstrap4 diff --git a/users/__init__.py b/users/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/users/apps.py b/users/apps.py new file mode 100644 index 0000000..4ce1fab --- /dev/null +++ b/users/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class UsersConfig(AppConfig): + name = 'users' diff --git a/users/forms.py b/users/forms.py new file mode 100644 index 0000000..5adc3c8 --- /dev/null +++ b/users/forms.py @@ -0,0 +1,5 @@ +from django.contrib.auth.forms import UserCreationForm + +class CustomUserCreationForm(UserCreationForm): + class Meta(UserCreationForm.Meta): + fields = UserCreationForm.Meta.fields + ("email",) diff --git a/users/templates/registration/logged_out.html b/users/templates/registration/logged_out.html new file mode 100644 index 0000000..fa69c3f --- /dev/null +++ b/users/templates/registration/logged_out.html @@ -0,0 +1,8 @@ +{% extends "base.html" %} + +{% block content %} +

Logged out!

+

Thanks for spending some quality time with the NMG fittness calendar site today. +

+ Click here to login again. +{% endblock %} diff --git a/users/templates/registration/login.html b/users/templates/registration/login.html new file mode 100644 index 0000000..b790574 --- /dev/null +++ b/users/templates/registration/login.html @@ -0,0 +1,29 @@ +{% extends 'base.html' %} + +{% load bootstrap4 %} +{% block content %} +
+

Login

+ + +
+ {% csrf_token %} + + {% bootstrap_form form %} + +

+
+ + +

+Back to Calendar +

+

+Register +

+

+Reset Password +

+ +
+{% endblock %} diff --git a/users/templates/registration/password_change_done.html b/users/templates/registration/password_change_done.html new file mode 100644 index 0000000..1d6f75b --- /dev/null +++ b/users/templates/registration/password_change_done.html @@ -0,0 +1,7 @@ +{% extends 'base.html' %} + +{% block content %} +

Password changed

+ +Back to index +{% endblock %} diff --git a/users/templates/registration/password_change_form.html b/users/templates/registration/password_change_form.html new file mode 100644 index 0000000..5b340e9 --- /dev/null +++ b/users/templates/registration/password_change_form.html @@ -0,0 +1,16 @@ +{% extends 'base.html' %} + +{% load bootstrap4 %} +{% block content %} +
+

Change Password

+ +
+ {% csrf_token %} + {% bootstrap_form form %} + +
+ +Back to index +
+{% endblock %} diff --git a/users/templates/registration/password_reset_complete.html b/users/templates/registration/password_reset_complete.html new file mode 100644 index 0000000..27710da --- /dev/null +++ b/users/templates/registration/password_reset_complete.html @@ -0,0 +1,8 @@ + +{% extends 'base.html' %} + +{% block content %} +

Password reset complete

+ +Back to login +{% endblock %} diff --git a/users/templates/registration/password_reset_confirm.html b/users/templates/registration/password_reset_confirm.html new file mode 100644 index 0000000..f647065 --- /dev/null +++ b/users/templates/registration/password_reset_confirm.html @@ -0,0 +1,23 @@ +{% extends 'base.html' %} + +{% load bootstrap4 %} +{% block content %} +
+

Confirm password reset

+ + +{% if validlink %} + +
+ {% csrf_token %} + {% bootstrap_form form %} + +
+ +{% else %} + +

The password reset link was invalid, possibly because it has already been used. Please request a new password reset.

+ +{% endif %} +
+{% endblock %} diff --git a/users/templates/registration/password_reset_done.html b/users/templates/registration/password_reset_done.html new file mode 100644 index 0000000..a18db15 --- /dev/null +++ b/users/templates/registration/password_reset_done.html @@ -0,0 +1,7 @@ +{% extends 'base.html' %} + +{% block content %} +

Password reset done

+ +Back to login +{% endblock %} diff --git a/users/templates/registration/password_reset_form.html b/users/templates/registration/password_reset_form.html new file mode 100644 index 0000000..ed14067 --- /dev/null +++ b/users/templates/registration/password_reset_form.html @@ -0,0 +1,19 @@ +{% extends 'base.html' %} + +{% load bootstrap4 %} +{% block content %} +
+

Send password reset link

+ +
+ {% csrf_token %} + + {% bootstrap_form form %} +

+ +

+
+ +Back to Calendar +
+{% endblock %} diff --git a/users/templates/users/register.html b/users/templates/users/register.html new file mode 100644 index 0000000..21623f8 --- /dev/null +++ b/users/templates/users/register.html @@ -0,0 +1,21 @@ +{% extends 'base.html' %} + +{% load bootstrap4 %} + +{% block content %} +
+

Register

+ +
+ {% csrf_token %} + {% bootstrap_form form %} + +
+ +Back to login +
+ +

+After registration your account will need to be activated. +Contact someone from the Fintess Commitee with your username to get your account activated. +{% endblock %} diff --git a/users/views.py b/users/views.py new file mode 100644 index 0000000..a235c97 --- /dev/null +++ b/users/views.py @@ -0,0 +1,24 @@ +from django.contrib.auth import login + +from django.shortcuts import redirect, render + +from django.urls import reverse + +from users.forms import CustomUserCreationForm + + +def register(request): + if request.method == "POST": + form = CustomUserCreationForm(request.POST) + if form.is_valid(): + user = form.save() + user.is_active = False + user.save() + return redirect(reverse("index")) + else: + form = CustomUserCreationForm() + + return render( + request, "users/register.html", + {"form": form} + )