From 0f25c05af69e0439290ddde5b6fdd25545d35f75 Mon Sep 17 00:00:00 2001 From: David Miller Date: Mon, 29 Oct 2018 16:56:46 +0000 Subject: [PATCH] Kill bulk creae users closes #1505 --- elcid/forms.py | 10 -------- elcid/test/test_views.py | 37 ----------------------------- elcid/urls.py | 5 ---- elcid/views.py | 51 ---------------------------------------- 4 files changed, 103 deletions(-) delete mode 100644 elcid/forms.py diff --git a/elcid/forms.py b/elcid/forms.py deleted file mode 100644 index 0a4d42fe..00000000 --- a/elcid/forms.py +++ /dev/null @@ -1,10 +0,0 @@ -""" -Forms for eLCID -""" -from django import forms - -class BulkCreateUsersForm(forms.Form): - """ - Form for uploading a CSV of users to add. - """ - users = forms.FileField() diff --git a/elcid/test/test_views.py b/elcid/test/test_views.py index 8025e277..0ec7de24 100644 --- a/elcid/test/test_views.py +++ b/elcid/test/test_views.py @@ -167,43 +167,6 @@ def assertStatusCode(self, path, expected_status_code): self.assertEqual(expected_status_code, response.status_code) -class BulkCreateUserViewTestCase(OpalTestCase): - def setUp(self): - self.url = reverse("bulk-create-users") - - def test_form(self): - self.assertTrue( - self.client.login( - username=self.user.username, - password=self.PASSWORD - ) - ) - response = self.client.post(self.url) - self.assertFalse(response.context_data["form"].is_valid()) - self.assertEqual(response.status_code, 200) - - def test_authenticated(self): - response = self.client.post(self.url, follow=True) - login = reverse('admin:login') - self.assertEqual(response.request["PATH_INFO"], login) - - def test_authenticated_staff(self): - user = User.objects.create( - username="someone", - ) - user.set_password("someone") - user.save() - self.assertTrue( - self.client.login( - username="someone", - password="someone" - ) - ) - response = self.client.post(self.url, follow=True) - login = reverse('admin:login') - self.assertEqual(response.request["PATH_INFO"], login) - - class ViewStoriesTemplateTestCase(OpalTestCase): def setUp(self): self.url = reverse("stories") diff --git a/elcid/urls.py b/elcid/urls.py index 66e4d8c5..a943c809 100644 --- a/elcid/urls.py +++ b/elcid/urls.py @@ -13,11 +13,6 @@ from elcid import views urlpatterns = [ - url( - '^admin/bulk-create-users$', - staff_member_required(views.BulkCreateUserView.as_view()), - name='bulk-create-users' - ), url( r'^referrals/?$', views.TemplateView.as_view( template_name='referral/referral_list.html' diff --git a/elcid/views.py b/elcid/views.py index 4e812294..5676c8b2 100644 --- a/elcid/views.py +++ b/elcid/views.py @@ -11,8 +11,6 @@ from opal.core import application -from elcid.forms import BulkCreateUsersForm - app = application.get_app() @@ -32,54 +30,5 @@ def get(self, *args, **kwargs): raise Exception("This is a deliberate error") -class BulkCreateUserView(FormView): - """ - Used in the admin - bulk create users. - """ - form_class = BulkCreateUsersForm - template_name = 'admin/bulk_create_users.html' - success_url = '/admin/auth/user/' - - def form_valid(self, form): - """ - Create the users from our uploaded file! - - Arguments: - - `form`: Form - - Return: HTTPResponse - Exceptions: None - """ - usernames = [u.username for u in User.objects.all()] - new_users = [] - - for row in csv.reader(form.cleaned_data['users']): - email = row[0] - name_part, _ = email.split('@') - - # Check for reused usernames - if name_part in usernames: - form._errors['users'] = form.error_class(['Some of those users already exist :(']) - del form.cleaned_data['users'] - return self.form_invalid(form) - - frist, last = name_part.split('.') - user = User(username=name_part, - email=email, - first_name=frist, - last_name=last, - is_active=True, - is_staff=False, - is_superuser=False) - user.tp = temp_password() - user.set_password(user.tp) - new_users.append(user) - - for u in new_users: - u.save() - - return super(BulkCreateUserView, self).form_valid(form) - - class StoriesView(LoginRequiredMixin, TemplateView): template_name = "stories.html"