From 5b8a7224d8475b729b3ea04c23cf904f6beffdb8 Mon Sep 17 00:00:00 2001
From: root <root@uccportal.ucc.gu.uwa.edu.au>
Date: Thu, 21 Feb 2019 19:19:46 +0800
Subject: [PATCH] fixed registration bugs

---
 src/gms/settings.py             | 2 +-
 src/memberdb/account_backend.py | 2 +-
 src/memberdb/models.py          | 2 +-
 src/memberdb/register.py        | 1 -
 src/memberdb/root_actions.py    | 1 +
 src/memberdb/urls.py            | 2 +-
 src/memberdb/views.py           | 2 +-
 7 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/gms/settings.py b/src/gms/settings.py
index e4ce4ef..f85d762 100644
--- a/src/gms/settings.py
+++ b/src/gms/settings.py
@@ -12,7 +12,7 @@ https://docs.djangoproject.com/en/2.1/ref/settings/
 from gms.settings_local import *
 
 # DEBUG ALLOW
-ALLOWED_HOSTS = ['127.0.0.1', 'localhost', "130.95.13.36"]
+ALLOWED_HOSTS = ['127.0.0.1', 'localhost', "130.95.13.36","portal.ucc.asn.au"]
 
 # Application definition
 
diff --git a/src/memberdb/account_backend.py b/src/memberdb/account_backend.py
index 697f95a..a217443 100644
--- a/src/memberdb/account_backend.py
+++ b/src/memberdb/account_backend.py
@@ -31,7 +31,7 @@ ldap_user_dn = getattr(settings, 'LDAP_USER_SEARCH_DN')
 ldap_base_dn = getattr(settings, 'LDAP_BASE_DN')
 ldap_bind_dn = getattr(settings, 'LDAP_BIND_DN')
 ldap_bind_secret = getattr(settings, 'LDAP_BIND_SECRET')
-make_home_cmd = ["sudo", "python3", "root_actions.py"] 
+make_home_cmd = ["sudo", "/services/uccportal/src/memberdb/root_actions.py"] 
 make_mail_cmd = 'ssh -i %s root@mooneye "/usr/local/mailman/bin/add_members" -r- ucc-announce <<< %s@ucc.asn.au'
 make_mail_key = './mooneye.key'
 
diff --git a/src/memberdb/models.py b/src/memberdb/models.py
index 57dddd6..d200ad9 100644
--- a/src/memberdb/models.py
+++ b/src/memberdb/models.py
@@ -157,7 +157,7 @@ class Member (IncAssocMember):
 
 	# data to be entered by user and validated (mostly) manually
 	display_name    = models.CharField ('Display name', max_length=200)
-	username        = models.SlugField ('Username', max_length=32, null=True, blank=True, unique=True, validators=[RegexValidator(regex='^[a-z0-9._-]*$')])
+	username        = models.SlugField ('Username', max_length=32, null=True, blank=True, unique=False, validators=[RegexValidator(regex='^[a-z0-9._-]*$')])
 	phone_number    = models.CharField ('Phone number', max_length=20, blank=False, validators=[RegexValidator(regex='^\+?[0-9() -]+$')])
 	is_student      = models.BooleanField ('Student', default=True, blank=True, help_text="Tick this box if you are a current student at a secondary or tertiary institution in WA")
 	is_guild        = models.BooleanField ('UWA Guild member', default=True, blank=True)
diff --git a/src/memberdb/register.py b/src/memberdb/register.py
index 0300178..4167c7f 100644
--- a/src/memberdb/register.py
+++ b/src/memberdb/register.py
@@ -36,7 +36,6 @@ class RegisterRenewForm(MyModelForm):
 		fields = ['first_name', 'last_name', 'phone_number', 'is_student', 'is_guild', 'id_number', 'id_desc', 'email_address']
 		error_messages = {
 			'username': {
-				'unique': 'This username is already taken, please pick another one.',
 				'invalid': 'Please pick a username with only lowercase letters and numbers'
 			}
 		}
diff --git a/src/memberdb/root_actions.py b/src/memberdb/root_actions.py
index 4c6089e..5fffc68 100644
--- a/src/memberdb/root_actions.py
+++ b/src/memberdb/root_actions.py
@@ -1,3 +1,4 @@
+#!/bin/python3
 import sys
 import os
 import shutil
diff --git a/src/memberdb/urls.py b/src/memberdb/urls.py
index 5c2f654..4dce941 100644
--- a/src/memberdb/urls.py
+++ b/src/memberdb/urls.py
@@ -19,7 +19,7 @@ urlpatterns = [
     path('admin/logout/', auth_views.LogoutView.as_view(template_name='logout.html')),
 
     # for members to "login" before having created a user account
-    path('login/<username>/<member_token>/', MemberTokenView.as_view(), name='login_member'),
+    path('login/<id>/<member_token>/', MemberTokenView.as_view(), name='login_member'),
 
     # email confirmation
     path('confirm/<int:pk>/<str:token>/', EmailConfirmView.as_view(), name='email_confirm'),
diff --git a/src/memberdb/views.py b/src/memberdb/views.py
index ae6c507..32ce176 100644
--- a/src/memberdb/views.py
+++ b/src/memberdb/views.py
@@ -148,7 +148,7 @@ class MemberTokenView(View):
             try:
                 member = Member.objects.get(
                     login_token=kwargs['member_token'],
-                    username=kwargs['username'],
+                    id=kwargs['id'],
                     created__gte=week_ago
                 )
             except Member.DoesNotExist:
-- 
GitLab