From c4a2d614c7b44398c097fa490ddcf842ce98a763 Mon Sep 17 00:00:00 2001
From: Robin Tissot <tissotrobin@gmail.com>
Date: Thu, 11 Mar 2021 11:18:32 +0100
Subject: [PATCH] Fixes 500 when creating users from the admin.

---
 app/apps/users/admin.py | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/app/apps/users/admin.py b/app/apps/users/admin.py
index d44bb4ca..f67807b6 100644
--- a/app/apps/users/admin.py
+++ b/app/apps/users/admin.py
@@ -5,7 +5,6 @@ from django.contrib.auth.forms import UserChangeForm, UserCreationForm
 from django.contrib import messages
 from django.utils.translation import ngettext
 
-
 from users.models import User, ResearchField, Invitation, ContactUs, GroupOwner
 
 
@@ -15,8 +14,11 @@ class MyUserChangeForm(UserChangeForm):
 
 
 class MyUserCreationForm(UserCreationForm):
+    email = forms.EmailField()
+
     class Meta(UserCreationForm.Meta):
         model = User
+        fields = UserCreationForm.Meta.fields + ('email',)
 
     def clean_username(self):
         username = self.cleaned_data['username']
@@ -24,7 +26,7 @@ class MyUserCreationForm(UserCreationForm):
             User.objects.get(username=username)
         except User.DoesNotExist:
             return username
-        raise forms.ValidationError(self.error_messages['duplicate_username'])
+        raise forms.ValidationError('Duplicate username.')
 
 
 class MyUserAdmin(UserAdmin):
@@ -32,9 +34,13 @@ class MyUserAdmin(UserAdmin):
     add_form = MyUserCreationForm
     list_display = UserAdmin.list_display + ('last_login',)
     fieldsets = UserAdmin.fieldsets + (
-        (None, {'fields': ('fields','onboarding')}),  # second fields refers to research fields
+        (None, {'fields': ('fields', 'onboarding')}),  # second fields refers to research fields
+    )
+    add_fieldsets = (
+        (None, {
+            'fields': ('username', 'email', 'password1', 'password2')}
+        ),
     )
-
 
 class InvitationAdmin(admin.ModelAdmin):
     date_hierarchy = 'created_at'
-- 
GitLab