Browse Source

Fix #963: display message about accessory being non-browseable instead of 404

Rafał Pitoń 7 years ago
parent
commit
52825611c8

+ 2 - 4
misago/threads/tests/test_threadslists.py

@@ -481,7 +481,7 @@ class CategoryThreadsListTests(ThreadsListTestCase):
             override_acl(
                 self.user, {
                     'visible_categories': [test_category.pk],
-                    'browseable_categories': [test_category.pk],
+                    'browseable_categories': [],
                     'categories': {
                         test_category.pk: {
                             'can_see': 1,
@@ -490,14 +490,13 @@ class CategoryThreadsListTests(ThreadsListTestCase):
                     },
                 }
             )
-
             response = self.client.get(test_category.get_absolute_url() + url)
             self.assertEqual(response.status_code, 403)
 
             override_acl(
                 self.user, {
                     'visible_categories': [test_category.pk],
-                    'browseable_categories': [test_category.pk],
+                    'browseable_categories': [],
                     'categories': {
                         test_category.pk: {
                             'can_see': 1,
@@ -506,7 +505,6 @@ class CategoryThreadsListTests(ThreadsListTestCase):
                     },
                 }
             )
-
             response = self.client.get(
                 '%s?category=%s&list=%s' % (self.api_link, test_category.pk, url.strip('/'), )
             )

+ 2 - 2
misago/threads/viewmodels/category.py

@@ -51,7 +51,7 @@ class ThreadsRootCategory(ViewModel):
     def get_categories(self, request):
         return [Category.objects.root_category()] + list(
             Category.objects.all_categories().filter(
-                id__in=request.user.acl_cache['browseable_categories'],
+                id__in=request.user.acl_cache['visible_categories'],
             ).select_related('parent')
         )
 
@@ -65,7 +65,7 @@ class ThreadsCategory(ThreadsRootCategory):
         for category in categories:
             if category.pk == int(kwargs['pk']):
                 if not category.special_role:
-                    # don't check permissions for non-special category
+                    # check permissions for non-special categories
                     allow_see_category(request.user, category)
                     allow_browse_category(request.user, category)