diff --git a/readthedocs/core/urls/__init__.py b/readthedocs/core/urls/__init__.py index d0a9550e425..3e349f3dce5 100644 --- a/readthedocs/core/urls/__init__.py +++ b/readthedocs/core/urls/__init__.py @@ -42,12 +42,6 @@ core_urls = [ # Random other stuff - url( - r'^random/(?P{project_slug})'.format(**pattern_opts), - views.random_page, - name='random_page', - ), - url(r'^random/$', views.random_page, name='random_page'), url( ( r'^wipe/(?P{project_slug})/' diff --git a/readthedocs/core/views/__init__.py b/readthedocs/core/views/__init__.py index 23161059856..b40308a6152 100644 --- a/readthedocs/core/views/__init__.py +++ b/readthedocs/core/views/__init__.py @@ -60,17 +60,6 @@ def get_context_data(self, **kwargs): return context -def random_page(request, project_slug=None): # pylint: disable=unused-argument - html_file = HTMLFile.objects.internal().order_by('?') - if project_slug: - html_file = html_file.filter(project__slug=project_slug) - html_file = html_file.first() - if html_file is None: - raise Http404 - url = html_file.get_absolute_url() - return HttpResponseRedirect(url) - - def wipe_version(request, project_slug, version_slug): version = get_object_or_404( Version.internal.all(), diff --git a/readthedocs/core/views/serve.py b/readthedocs/core/views/serve.py index 2b8ff3cb417..ab0fdb9a845 100644 --- a/readthedocs/core/views/serve.py +++ b/readthedocs/core/views/serve.py @@ -96,7 +96,7 @@ def inner_view( # noqa ): if project is None: if not project_slug: - project_slug = request.slug + project_slug = getattr(request, 'slug', None) try: project = Project.objects.get(slug=project_slug) except Project.DoesNotExist: diff --git a/readthedocs/rtd_tests/tests/test_views.py b/readthedocs/rtd_tests/tests/test_views.py index c8c96dbb6f3..12100c2f8c3 100644 --- a/readthedocs/rtd_tests/tests/test_views.py +++ b/readthedocs/rtd_tests/tests/test_views.py @@ -164,41 +164,6 @@ def test_project_redirects_delete(self): self.assertRedirectToLogin(response) -class RandomPageTests(TestCase): - fixtures = ['eric', 'test_data'] - - def setUp(self): - self.pip = Project.objects.get(slug='pip') - self.pip_version = self.pip.versions.all()[0] - HTMLFile.objects.create( - project=self.pip, - version=self.pip_version, - name='file.html', - slug='file', - path='file.html', - md5='abcdef', - commit='1234567890abcdef', - ) - - def test_random_page_view_redirects(self): - response = self.client.get('/random/') - self.assertEqual(response.status_code, 302) - - def test_takes_project_slug(self): - response = self.client.get('/random/pip/') - self.assertEqual(response.status_code, 302) - self.assertTrue('pip' in response['Location']) - - def test_404_for_unknown_project(self): - response = self.client.get('/random/not-existent/') - self.assertEqual(response.status_code, 404) - - def test_404_for_with_no_html_files(self): - HTMLFile.objects.all().delete() - response = self.client.get('/random/pip/') - self.assertEqual(response.status_code, 404) - - class SubprojectViewTests(TestCase): def setUp(self):