From 581dcaaa40577f41375fb4a617ef15c8939c4b62 Mon Sep 17 00:00:00 2001 From: Eskimon Date: Sat, 11 Apr 2015 10:42:25 +0200 Subject: [PATCH 1/3] MP - on peut mp une liste de participants via GET --- zds/mp/views.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/zds/mp/views.py b/zds/mp/views.py index 09e046bdc9..3325e5d135 100644 --- a/zds/mp/views.py +++ b/zds/mp/views.py @@ -65,11 +65,18 @@ def dispatch(self, *args, **kwargs): def get(self, request, *args, **kwargs): title = request.GET.get('title') if 'title' in request.GET else None - try: - participants = User.objects.get(username=request.GET.get('username')).username \ - if 'username' in request.GET else None - except: - participants = None + + participants = None + if 'username' in request.GET: + dest_list = [] + # check that usernames in url is in the database + for username in request.GET.getlist('username'): + try: + dest_list.append(User.objects.get(username=username).username) + except: + pass + if len(dest_list) > 0: + participants = ', '.join(dest_list) form = self.form_class(username=request.user.username, initial={ From b5f7fb77cf0827f33027bb2a9b7062a90f0a1209 Mon Sep 17 00:00:00 2001 From: Eskimon Date: Sat, 11 Apr 2015 16:37:02 +0200 Subject: [PATCH 2/3] Ajout de TU --- zds/mp/tests/tests_views.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/zds/mp/tests/tests_views.py b/zds/mp/tests/tests_views.py index 64d6e1a74f..ba29bae9f1 100644 --- a/zds/mp/tests/tests_views.py +++ b/zds/mp/tests/tests_views.py @@ -284,6 +284,21 @@ def test_success_get_with_and_without_username(self): self.profile2.user.username, response2.context['form'].initial['participants']) + def test_success_get_with_multi_username(self): + + profile3 = ProfileFactory() + + response = self.client.get( + reverse('mp-new') + + '?username=' + self.profile2.user.username + + '&username=' + profile3.user.username) + + self.assertEqual(200, response.status_code) + self.assertEqual(2, len(response.context['form'].initial['participants'].split(', '))) + self.assertTrue(self.profile1.user.username not in response.context['form'].initial['participants']) + self.assertTrue(self.profile2.user.username in response.context['form'].initial['participants']) + self.assertTrue(profile3.user.username in response.context['form'].initial['participants']) + def test_success_get_with_and_without_title(self): response = self.client.get(reverse('mp-new')) From 5baa6a192becbc14802f5bd73425c2b7c65c16ce Mon Sep 17 00:00:00 2001 From: Eskimon Date: Sat, 11 Apr 2015 16:42:32 +0200 Subject: [PATCH 3/3] Reciblage d'un except --- zds/mp/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zds/mp/views.py b/zds/mp/views.py index 3325e5d135..3dbcb82bb0 100644 --- a/zds/mp/views.py +++ b/zds/mp/views.py @@ -73,7 +73,7 @@ def get(self, request, *args, **kwargs): for username in request.GET.getlist('username'): try: dest_list.append(User.objects.get(username=username).username) - except: + except ObjectDoesNotExist: pass if len(dest_list) > 0: participants = ', '.join(dest_list)