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

Include close threads in ACL build process

Rafał Pitoń 10 лет назад
Родитель
Сommit
0338eb1d96
2 измененных файлов с 5 добавлено и 2 удалено
  1. 2 0
      misago/threads/permissions.py
  2. 3 2
      misago/threads/posting/threadstate.py

+ 2 - 0
misago/threads/permissions.py

@@ -113,6 +113,7 @@ def add_acl_to_forum(user, forum):
     forum.acl.update({
     forum.acl.update({
         'can_start_threads': 0,
         'can_start_threads': 0,
         'can_change_threads_weight': 0,
         'can_change_threads_weight': 0,
+        'can_close_threads': 0,
     })
     })
 
 
     if user.is_authenticated():
     if user.is_authenticated():
@@ -120,6 +121,7 @@ def add_acl_to_forum(user, forum):
             can_see_all_threads=algebra.greater,
             can_see_all_threads=algebra.greater,
             can_start_threads=algebra.greater,
             can_start_threads=algebra.greater,
             can_change_threads_weight=algebra.greater,
             can_change_threads_weight=algebra.greater,
+            can_close_threads=algebra.greater,
         )
         )
 
 
 
 

+ 3 - 2
misago/threads/posting/threadstate.py

@@ -10,10 +10,11 @@ class ThreadStateFormMiddleware(PostingMiddleware):
         self.thread_weight = self.thread.weight
         self.thread_weight = self.thread.weight
         self.thread_is_closed = self.thread.is_closed
         self.thread_is_closed = self.thread.is_closed
 
 
-        forum_acl = self.user.acl['forums'].get(self.forum.pk, {
+        forum_acl = {
             'can_change_threads_weight': 0,
             'can_change_threads_weight': 0,
             'can_close_threads': 0,
             'can_close_threads': 0,
-        })
+        }
+        forum_acl.update(self.user.acl['forums'].get(self.forum.pk))
 
 
         self.can_change_threads_weight = forum_acl['can_change_threads_weight']
         self.can_change_threads_weight = forum_acl['can_change_threads_weight']
         self.can_close_threads = forum_acl['can_close_threads']
         self.can_close_threads = forum_acl['can_close_threads']