diff --git a/Dockerfile b/Dockerfile
index 6fffe4d..e3ec123 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,7 @@
FROM python:3.10.0-alpine3.15
+WORKDIR /usr/src/app
+
RUN apk add --update --no-cache\
build-base \
openldap-dev\
@@ -9,9 +11,6 @@ RUN apk add --update --no-cache\
# FIX https://github.com/python-ldap/python-ldap/issues/432
RUN echo 'INPUT ( libldap.so )' > /usr/lib/libldap_r.so
-WORKDIR /usr/src/app
COPY requirements.txt ./
-
RUN pip install --no-cache-dir -r requirements.txt
-
-COPY . .
+COPY ungleichuser/ .
diff --git a/README.md b/README.md
index c65178f..0a1cb2d 100644
--- a/README.md
+++ b/README.md
@@ -4,9 +4,14 @@ This service runs on [account.ungleich.ch](https://account.ungleich.ch/) and
allows customers manage their ungleich account (register, edit mail & password,
...).
-## v2
+## Status v2
* See below ungleichuser/
+* register view created
+* Not solved:
+ * email verification *before* user is created
+* Solved
+ * Finding highest uid, increasing by 1
## Todos for v2:
diff --git a/dal/templates/base.html b/dal/templates/base.html
index 4c8a6ed..030afb5 100644
--- a/dal/templates/base.html
+++ b/dal/templates/base.html
@@ -11,14 +11,13 @@
-
Ungleich userservice
+ Ungleich User Service
-
@@ -34,19 +33,8 @@
-
-
-
-
-
diff --git a/logs/.keep b/logs/.keep
deleted file mode 100644
index e69de29..0000000
diff --git a/requirements-os.txt b/requirements-os.txt
deleted file mode 100644
index 13b2452..0000000
--- a/requirements-os.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-# Debian/Devuanp
-apt install libldap2-dev libsasl2-dev
diff --git a/ungleichuser/requirements.txt b/ungleichuser/requirements.txt
index ee32668..34c09c9 100644
--- a/ungleichuser/requirements.txt
+++ b/ungleichuser/requirements.txt
@@ -1,6 +1,9 @@
django==4.0
ldap3
+django-crispy-forms
+bootstrap4
+
#django-auth-ldap
# To check
diff --git a/ungleichuser/static/base.css b/ungleichuser/static/base.css
new file mode 100644
index 0000000..02c0738
--- /dev/null
+++ b/ungleichuser/static/base.css
@@ -0,0 +1,19 @@
+body {
+ margin: 0;
+ padding: 0;
+ background-color: #17a2b8;
+ height: 100vh;
+}
+#login .container #login-row #login-column #login-box {
+ margin-top: 120px;
+ max-width: 600px;
+ height: 320px;
+ border: 1px solid #9C9C9C;
+ background-color: #EAEAEA;
+}
+#login .container #login-row #login-column #login-box #login-form {
+ padding: 20px;
+}
+#login .container #login-row #login-column #login-box #login-form #register-link {
+ margin-top: -85px;
+}
diff --git a/ungleichuser/templates/login.html b/ungleichuser/templates/login.html
new file mode 100644
index 0000000..2175e77
--- /dev/null
+++ b/ungleichuser/templates/login.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
diff --git a/ungleichuser/ungleichuser/settings.py b/ungleichuser/ungleichuser/settings.py
index 400fe79..bbec33c 100644
--- a/ungleichuser/ungleichuser/settings.py
+++ b/ungleichuser/ungleichuser/settings.py
@@ -38,6 +38,8 @@ INSTALLED_APPS = [
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
+ 'crispy_forms',
+ 'ungleichuser'
]
MIDDLEWARE = [
@@ -122,3 +124,5 @@ STATIC_URL = 'static/'
# https://docs.djangoproject.com/en/dev/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
+
+CRISPY_TEMPLATE_PACK = 'bootstrap4'
diff --git a/ungleichuser/ungleichuser/templates/ungleichuser/header.html b/ungleichuser/ungleichuser/templates/ungleichuser/header.html
new file mode 100644
index 0000000..c3c50b3
--- /dev/null
+++ b/ungleichuser/ungleichuser/templates/ungleichuser/header.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+ Title
+
+
+
+ {% block content %}
+
+ {% endblock %}
+
+
+
diff --git a/ungleichuser/ungleichuser/templates/ungleichuser/register.html b/ungleichuser/ungleichuser/templates/ungleichuser/register.html
new file mode 100644
index 0000000..b011bc7
--- /dev/null
+++ b/ungleichuser/ungleichuser/templates/ungleichuser/register.html
@@ -0,0 +1,18 @@
+{% extends "ungleichuser/header.html" %}
+
+{% block content %}
+
+{% load crispy_forms_tags %}
+
+
+
+
Register
+
+
If you already have an account, login instead.
+
+
+{% endblock %}
diff --git a/ungleichuser/ungleichuser/urls.py b/ungleichuser/ungleichuser/urls.py
index 8d0fefe..06a615e 100644
--- a/ungleichuser/ungleichuser/urls.py
+++ b/ungleichuser/ungleichuser/urls.py
@@ -16,8 +16,11 @@ Including another URLconf
from django.contrib import admin
import django.contrib.auth
from django.urls import path, include
+from . import views
urlpatterns = [
- path('admin/', admin.site.urls),
+# path('admin/', admin.site.urls),
+# path("", views.homepage, name="homepage"),
+ path("register", views.register_request, name="register"),
path('accounts/', include('django.contrib.auth.urls')),
]
diff --git a/ungleichuser/ungleichuser/views.py b/ungleichuser/ungleichuser/views.py
new file mode 100644
index 0000000..a889063
--- /dev/null
+++ b/ungleichuser/ungleichuser/views.py
@@ -0,0 +1,21 @@
+from django.shortcuts import render, redirect
+from .forms import NewUserForm
+from django.contrib.auth import login
+from django.contrib import messages
+
+def register_request(request):
+ if request.method == "POST":
+ form = NewUserForm(request.POST)
+
+ if form.is_valid():
+ user = form.save()
+ login(request, user)
+ messages.success(request, "Registration successful." )
+ return redirect("main:homepage")
+
+ messages.error(request, "Unsuccessful registration. Invalid information.")
+
+ form = NewUserForm()
+ return render (request=request,
+ template_name="ungleichuser/register.html",
+ context={"register_form":form})