From 2c61839da8fb2117c16473b8774362fc3327f407 Mon Sep 17 00:00:00 2001 From: zheng xie Date: Thu, 29 Nov 2018 11:14:33 +0800 Subject: [PATCH] [wiki] Redirect old url to new url end with .md (#2578) --- seahub/wiki/views.py | 5 +++++ tests/seahub/wiki/test_views.py | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 tests/seahub/wiki/test_views.py diff --git a/seahub/wiki/views.py b/seahub/wiki/views.py index c24c18529e..bea1d3437d 100644 --- a/seahub/wiki/views.py +++ b/seahub/wiki/views.py @@ -42,6 +42,11 @@ def wiki_list(request): def slug(request, slug, file_path="home.md"): """Show wiki page. """ + # compatible with old wiki url + if len(file_path.split('.')) == 1: + new_path = file_path + '.md' + return HttpResponseRedirect(reverse('wiki:slug', args=[slug, new_path])) + # get wiki object or 404 wiki = get_object_or_404(Wiki, slug=slug) file_path = "/" + file_path diff --git a/tests/seahub/wiki/test_views.py b/tests/seahub/wiki/test_views.py new file mode 100644 index 0000000000..646b10ef17 --- /dev/null +++ b/tests/seahub/wiki/test_views.py @@ -0,0 +1,20 @@ +from django.core.urlresolvers import reverse + +from seahub.wiki.models import Wiki +from seahub.test_utils import BaseTestCase + + +class SlugTest(BaseTestCase): + def setUp(self, ): + self.wiki = Wiki.objects.add('new wiki', self.user.username) + self.login_as(self.user) + + # def test_home_page(self, ): + # resp = self.client.get(reverse('wiki:slug', args=['new-wiki'])) + # self.assertEqual(200, resp.status_code) + # self.assertTemplateUsed(resp, 'wiki/wiki.html') + + def test_old_home_page(self, ): + resp = self.client.get(reverse('wiki:slug', args=['new-wiki', 'home'])) + self.assertEqual(302, resp.status_code) + self.assertRegexpMatches(resp['Location'], '/wikis/new-wiki/home.md')