Code

Ticket #6327: has_module_permission.diff

File has_module_permission.diff, 1.2 KB (added by chrj, 6 years ago)
Line 
1Index: django/contrib/admin/options.py
2===================================================================
3--- django/contrib/admin/options.py     (revision 7000)
4+++ django/contrib/admin/options.py     (working copy)
5@@ -270,6 +270,11 @@
6         
7         return forms.Media(js=['%s%s' % (settings.ADMIN_MEDIA_PREFIX, url) for url in js])
8     media = property(_media)
9+
10+    def has_module_permission(self, request):
11+        "Returns True if the given request has permission the the module."
12+        opts = self.opts
13+        return request.user.has_module_perms(opts.app_label)
14     
15     def has_add_permission(self, request):
16         "Returns True if the given request has permission to add an object."
17Index: django/contrib/admin/sites.py
18===================================================================
19--- django/contrib/admin/sites.py       (revision 7000)
20+++ django/contrib/admin/sites.py       (working copy)
21@@ -261,7 +261,7 @@
22         user = request.user
23         for model, model_admin in self._registry.items():
24             app_label = model._meta.app_label
25-            has_module_perms = user.has_module_perms(app_label)
26+            has_module_perms = model_admin.has_module_permission(request)
27 
28             if has_module_perms:
29                 perms = {