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

Fixed potential name conflicts in ACL's

Ralfp 12 лет назад
Родитель
Сommit
41af554404
2 измененных файлов с 15 добавлено и 16 удалено
  1. 6 7
      misago/acl/builder.py
  2. 9 9
      misago/models/threadmodel.py

+ 6 - 7
misago/acl/builder.py

@@ -59,9 +59,8 @@ def acl(request, user):
 
 
 
 
 def build_acl(request, roles):
 def build_acl(request, roles):
-    acl = ACL(request.monitor['acl_version'])
-    forums = (Forum.objects.filter(special__in=('private_threads', 'reports'))
-              | Forum.objects.get(special='root').get_descendants().order_by('lft'))
+    new_acl = ACL(request.monitor['acl_version'])
+    forums = Forum.objects.get(special='root').get_descendants().order_by('lft')
     perms = []
     perms = []
     forum_roles = {}
     forum_roles = {}
 
 
@@ -74,19 +73,19 @@ def build_acl(request, roles):
     for provider in settings.PERMISSION_PROVIDERS:
     for provider in settings.PERMISSION_PROVIDERS:
         app_module = import_module(provider)
         app_module = import_module(provider)
         try:
         try:
-            app_module.build(acl, perms)
+            app_module.build(new_acl, perms)
         except AttributeError:
         except AttributeError:
             pass
             pass
         try:
         try:
-            app_module.build_forums(acl, perms, forums, forum_roles)
+            app_module.build_forums(new_acl, perms, forums, forum_roles)
         except AttributeError:
         except AttributeError:
             pass
             pass
 
 
     for provider in settings.PERMISSION_PROVIDERS:
     for provider in settings.PERMISSION_PROVIDERS:
         app_module = import_module(provider)
         app_module = import_module(provider)
         try:
         try:
-            app_module.cleanup(acl, perms, forums)
+            app_module.cleanup(new_acl, perms, forums)
         except AttributeError:
         except AttributeError:
             pass
             pass
 
 
-    return acl
+    return new_acl

+ 9 - 9
misago/models/threadmodel.py

@@ -156,17 +156,17 @@ class Thread(models.Model):
             user = watch.user
             user = watch.user
             if user.pk != request.user.pk:
             if user.pk != request.user.pk:
                 try:
                 try:
-                    acl = acl(request, user)
-                    acl.forums.allow_forum_view(self.forum)
-                    acl.threads.allow_thread_view(user, self)
-                    acl.threads.allow_post_view(user, self, post)
+                    user_acl = acl(request, user)
+                    user_acl.forums.allow_forum_view(self.forum)
+                    user_acl.threads.allow_thread_view(user, self)
+                    user_acl.threads.allow_post_view(user, self, post)
                     if not user.is_ignoring(request.user):
                     if not user.is_ignoring(request.user):
                         user.email_user(
                         user.email_user(
-                            request,
-                            '%s_reply_notification' % thread_type,
-                            _('New reply in thread "%(thread)s"') % {'thread': self.name},
-                            {'author': request.user, 'post': post, 'thread': self}
-                            )
+                                        request,
+                                        '%s_reply_notification' % thread_type,
+                                        _('New reply in thread "%(thread)s"') % {'thread': self.name},
+                                        {'author': request.user, 'post': post, 'thread': self}
+                                        )
                 except (ACLError403, ACLError404):
                 except (ACLError403, ACLError404):
                     pass
                     pass