@@ -265,7 +265,7 @@ def get(
265
265
pass
266
266
267
267
# Check user permissions and return an unauthed response if needed
268
- if not self .allowed_user (request , final_project , version_slug ):
268
+ if not version or not self .allowed_user (request , version ):
269
269
return self .get_unauthed_response (request , final_project )
270
270
271
271
return self ._serve_docs (
@@ -460,7 +460,7 @@ def get_using_unresolver(self, request):
460
460
pass
461
461
462
462
# Check user permissions and return an unauthed response if needed.
463
- if not self .allowed_user (request , project , version . slug ):
463
+ if not self .allowed_user (request , version ):
464
464
return self .get_unauthed_response (request , project )
465
465
466
466
return self ._serve_docs (
@@ -637,22 +637,21 @@ def _get_custom_404_page(self, request, project, version=None):
637
637
If a 404 page is found, we return a response with the content of that file,
638
638
`None` otherwise.
639
639
"""
640
- current_version_slug = version .slug if version else None
641
- versions_slug = []
642
- if current_version_slug :
643
- versions_slug .append (current_version_slug )
644
-
645
- default_version_slug = project .get_default_version ()
646
- if default_version_slug != current_version_slug :
647
- versions_slug .append (default_version_slug )
648
-
649
- for version_slug_404 in versions_slug :
650
- if not self .allowed_user (request , project , version_slug_404 ):
640
+ versions_404 = [version ] if version else []
641
+ if not version or version .slug != project .default_version :
642
+ default_version = project .versions .filter (
643
+ slug = project .default_version
644
+ ).first ()
645
+ if default_version :
646
+ versions_404 .append (default_version )
647
+
648
+ for version_404 in versions_404 :
649
+ if not self .allowed_user (request , version_404 ):
651
650
continue
652
651
653
652
storage_root_path = project .get_storage_path (
654
653
type_ = "html" ,
655
- version_slug = version_slug_404 ,
654
+ version_slug = version_404 . slug ,
656
655
include_file = False ,
657
656
version_type = self .version_type ,
658
657
)
@@ -664,7 +663,7 @@ def _get_custom_404_page(self, request, project, version=None):
664
663
if build_media_storage .exists (storage_filename_path ):
665
664
log .info (
666
665
"Serving custom 404.html page." ,
667
- version_slug_404 = version_slug_404 ,
666
+ version_slug_404 = version_404 . slug ,
668
667
storage_filename_path = storage_filename_path ,
669
668
)
670
669
resp = HttpResponse (
0 commit comments