Просмотр исходного кода

Keep best answer perms focused on best answers provider

Rafał Pitoń 7 лет назад
Родитель
Сommit
b832e86129

+ 10 - 1
misago/threads/permissions/bestanswers.py

@@ -64,10 +64,19 @@ def build_acl(acl, roles, key_name):
     for category in categories:
         category_acl = acl['categories'].get(category.pk, {'can_browse': 0})
         if category_acl['can_browse']:
-            category_acl = acl['categories'][category.pk] = build_category_acl(
+            acl['categories'][category.pk] = build_category_acl(
                 category_acl, category, categories_roles, key_name
             )
 
+    private_category = Category.objects.private_threads()
+    private_threads_acl = acl['categories'].get(private_category.pk)
+    if private_threads_acl:
+        private_threads_acl.update({
+            'can_mark_best_answers': 0,
+            'can_change_marked_answers': 0,
+            'best_answer_change_time': 0,
+        })
+
     return acl
 
 

+ 0 - 3
misago/threads/permissions/privatethreads.py

@@ -132,9 +132,6 @@ def build_acl(acl, roles, key_name):
         'can_see_posts_likes': 0,
         'can_like_posts': 0,
         'can_hide_events': 0,
-        'can_mark_best_answers': 0,
-        'can_change_marked_answers': 0,
-        'best_answer_change_time': 0,
     }
 
     if new_acl['can_moderate_private_threads']: