From f4a07b713db0b04a4324d4aab606a36a6126e0e8 Mon Sep 17 00:00:00 2001 From: Alex-D Date: Thu, 6 Nov 2014 01:00:50 +0100 Subject: [PATCH 1/3] Corrige les bugs de supperpsition des sous-titres --- assets/scss/_all-supports.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/scss/_all-supports.scss b/assets/scss/_all-supports.scss index 4c9900c221..eef3c1d2b4 100644 --- a/assets/scss/_all-supports.scss +++ b/assets/scss/_all-supports.scss @@ -1713,7 +1713,7 @@ font-size: 1.6rem; } .topic-subtitle { - height: 24px; + min-height: 24px; line-height: 1.5em; color: #777; } From 4563b078681b63f5a7845e28ece6cc669ff3c990 Mon Sep 17 00:00:00 2001 From: Eskimon Date: Thu, 6 Nov 2014 17:13:03 +0100 Subject: [PATCH 2/3] =?UTF-8?q?Hotfix=20r=C3=A9ponse=20sur=20MP=20avec=20t?= =?UTF-8?q?itre=20unicode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zds/mp/tests/tests_views.py | 44 +++++++++++++++++++++++++++++++++++++ zds/mp/views.py | 6 ++--- 2 files changed, 47 insertions(+), 3 deletions(-) diff --git a/zds/mp/tests/tests_views.py b/zds/mp/tests/tests_views.py index 540b97725f..ed308820f9 100644 --- a/zds/mp/tests/tests_views.py +++ b/zds/mp/tests/tests_views.py @@ -582,6 +582,50 @@ def test_fail_answer_with_no_right(self): self.assertEqual(403, response.status_code) self.assertEqual(2, PrivatePost.objects.all().count()) + def test_unicode_title_answer(self): + """To test unicode title.""" + + unicodeTopic = PrivateTopicFactory(author=self.profile1.user, + title=u'Title with accent àéè') + unicodeTopic.participants.add(self.profile2.user) + unicodePost = PrivatePostFactory( + privatetopic=unicodeTopic, + author=self.profile1.user, + position_in_topic=1) + + response = self.client.post( + reverse('zds.mp.views.answer') + + '?sujet=' + str(unicodeTopic.pk), + { + 'text': 'answer', + 'last_post': unicodePost.pk + }, + follow=True + ) + self.assertEqual(response.status_code, 200) + + def test_unicode_subtitle_answer(self): + """To test unicode subtitle.""" + + unicodeTopic = PrivateTopicFactory(author=self.profile1.user, + subtitle=u'Subtitle with accent àéè') + unicodeTopic.participants.add(self.profile2.user) + unicodePost = PrivatePostFactory( + privatetopic=unicodeTopic, + author=self.profile1.user, + position_in_topic=1) + + response = self.client.post( + reverse('zds.mp.views.answer') + + '?sujet=' + str(unicodeTopic.pk), + { + 'text': 'answer', + 'last_post': unicodePost.pk + }, + follow=True + ) + self.assertEqual(response.status_code, 200) + class EditPostViewTest(TestCase): diff --git a/zds/mp/views.py b/zds/mp/views.py index 5cdf0557b9..df11bcae98 100644 --- a/zds/mp/views.py +++ b/zds/mp/views.py @@ -308,9 +308,9 @@ def answer(request): g_topic.save() # send email - subject = "{} - MP : {}".format(settings.ZDS_APP['site']['abbr'], g_topic.title) - from_email = "{} <{}>".format(settings.ZDS_APP['site']['litteral_name'], - settings.ZDS_APP['site']['email_noreply']) + subject = u"{} - MP : {}".format(settings.ZDS_APP['site']['abbr'], g_topic.title) + from_email = u"{} <{}>".format(settings.ZDS_APP['site']['litteral_name'], + settings.ZDS_APP['site']['email_noreply']) parts = list(g_topic.participants.all()) parts.append(g_topic.author) parts.remove(request.user) From 0d9f3d4ef2af50b7a3e9fac9834143b862f34c5d Mon Sep 17 00:00:00 2001 From: Eskimon Date: Thu, 6 Nov 2014 17:49:54 +0100 Subject: [PATCH 3/3] Hotfix resolution des alertes --- zds/article/views.py | 2 +- zds/forum/tests.py | 67 ++++++++++++++++++++++++++++++++++++++++++- zds/forum/views.py | 4 +-- zds/tutorial/views.py | 2 +- 4 files changed, 70 insertions(+), 5 deletions(-) diff --git a/zds/article/views.py b/zds/article/views.py index 519ed7f2b4..8b54e2117e 100644 --- a/zds/article/views.py +++ b/zds/article/views.py @@ -1077,7 +1077,7 @@ def solve_alert(request): alert = get_object_or_404(Alert, pk=request.POST['alert_pk']) reaction = Reaction.objects.get(pk=alert.comment.id) - if request.POST["text"] != "": + if "text" in request.POST and request.POST["text"] != "": bot = get_object_or_404(User, username=settings.ZDS_APP['member']['bot_account']) msg = (u'Bonjour {0},\n\nVous recevez ce message car vous avez ' u'signalé le message de *{1}*, dans l\'article [{2}]({3}). ' diff --git a/zds/forum/tests.py b/zds/forum/tests.py index 57ec8231bf..a0837abec1 100644 --- a/zds/forum/tests.py +++ b/zds/forum/tests.py @@ -49,6 +49,8 @@ def setUp(self): password='hostel77') self.assertEqual(log, True) + settings.ZDS_APP['member']['bot_account'] = ProfileFactory().user.username + def feed_rss_display(self): """Test each rss feed feed""" response = self.client.get(reverse('post-feed-rss'), follow=False) @@ -312,7 +314,7 @@ def test_quote_post(self): self.assertEqual(result.status_code, 200) def test_signal_post(self): - """To test when a member quote anyone post.""" + """To test when a member signal a post.""" user1 = ProfileFactory().user topic1 = TopicFactory(forum=self.forum11, author=self.user) PostFactory(topic=topic1, author=self.user, position=1) @@ -333,6 +335,69 @@ def test_signal_post(self): self.assertEqual(Alert.objects.filter(author=self.user).count(), 1) self.assertEqual(Alert.objects.get(author=self.user).text, u'Troll') + # and test that staff can solve but not user + alert = Alert.objects.get(comment=post2.pk) + # try as a normal user + result = self.client.post( + reverse('zds.forum.views.solve_alert'), + { + 'alert_pk': alert.pk, + }, + follow=False) + self.assertEqual(result.status_code, 403) + # login as staff + staff1 = StaffProfileFactory().user + self.assertEqual( + self.client.login( + username=staff1.username, + password='hostel77'), + True) + # try again as staff + result = self.client.post( + reverse('zds.forum.views.solve_alert'), + { + 'alert_pk': alert.pk, + 'text': u'Everything is Ok kid' + }, + follow=False) + self.assertEqual(result.status_code, 302) + self.assertEqual(Alert.objects.all().count(), 0) + + def test_signal_and_solve_alert_empty_message(self): + """To test when a member signal a post and staff solve it.""" + user1 = ProfileFactory().user + topic1 = TopicFactory(forum=self.forum11, author=self.user) + PostFactory(topic=topic1, author=self.user, position=1) + post2 = PostFactory(topic=topic1, author=user1, position=2) + PostFactory(topic=topic1, author=user1, position=3) + + result = self.client.post( + reverse('zds.forum.views.edit_post') + + '?message={0}'.format(post2.pk), + { + 'signal_text': u'Troll', + 'signal_message': 'confirmer' + }, + follow=False) + + alert = Alert.objects.get(comment=post2.pk) + # login as staff + staff1 = StaffProfileFactory().user + self.assertEqual( + self.client.login( + username=staff1.username, + password='hostel77'), + True) + # try again as staff + result = self.client.post( + reverse('zds.forum.views.solve_alert'), + { + 'alert_pk': alert.pk, + }, + follow=False) + self.assertEqual(result.status_code, 302) + self.assertEqual(Alert.objects.all().count(), 0) + def test_like_post(self): """Test when a member like any post.""" user1 = ProfileFactory().user diff --git a/zds/forum/views.py b/zds/forum/views.py index e80794669e..cdb25ad1e0 100644 --- a/zds/forum/views.py +++ b/zds/forum/views.py @@ -307,8 +307,8 @@ def solve_alert(request): alert = get_object_or_404(Alert, pk=request.POST["alert_pk"]) post = Post.objects.get(pk=alert.comment.id) - if request.POST["text"] != "": - bot = get_object_or_404(User, username=settings.BOT_ACCOUNT) + if "text" in request.POST and request.POST["text"] != "": + bot = get_object_or_404(User, username=settings.ZDS_APP['member']['bot_account']) msg = \ (u'Bonjour {0},' u'Vous recevez ce message car vous avez signalé le message de *{1}*, ' diff --git a/zds/tutorial/views.py b/zds/tutorial/views.py index 519f9894df..ebb9ce3237 100644 --- a/zds/tutorial/views.py +++ b/zds/tutorial/views.py @@ -3308,7 +3308,7 @@ def solve_alert(request): alert = get_object_or_404(Alert, pk=request.POST["alert_pk"]) note = Note.objects.get(pk=alert.comment.id) - if request.POST["text"] != "": + if "text" in request.POST and request.POST["text"] != "": bot = get_object_or_404(User, username=settings.ZDS_APP['member']['bot_account']) msg = \ (u'Bonjour {0},'