mirror of
https://github.com/django/django.git
synced 2025-09-14 13:09:13 +00:00
magic-removal: Fixed some bugs in User.get_group_permissions()
git-svn-id: http://code.djangoproject.com/svn/django/branches/magic-removal@1843 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
4e713af133
commit
c4076a4314
@ -1,5 +1,5 @@
|
|||||||
from django.core import validators
|
from django.core import validators
|
||||||
from django.db import models
|
from django.db import backend, connection, models
|
||||||
from django.models import core
|
from django.models import core
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
import datetime
|
import datetime
|
||||||
@ -130,7 +130,7 @@ class User(models.Model):
|
|||||||
"Returns a list of permission strings that this user has through his/her groups."
|
"Returns a list of permission strings that this user has through his/her groups."
|
||||||
if not hasattr(self, '_group_perm_cache'):
|
if not hasattr(self, '_group_perm_cache'):
|
||||||
import sets
|
import sets
|
||||||
cursor = db.cursor()
|
cursor = connection.cursor()
|
||||||
# The SQL below works out to the following, after DB quoting:
|
# The SQL below works out to the following, after DB quoting:
|
||||||
# cursor.execute("""
|
# cursor.execute("""
|
||||||
# SELECT p.package, p.codename
|
# SELECT p.package, p.codename
|
||||||
@ -144,11 +144,11 @@ class User(models.Model):
|
|||||||
WHERE p.%s = gp.%s
|
WHERE p.%s = gp.%s
|
||||||
AND gp.%s = ug.%s
|
AND gp.%s = ug.%s
|
||||||
AND ug.%s = %%s""" % (
|
AND ug.%s = %%s""" % (
|
||||||
db.quote_name('package'), db.quote_name('codename'),
|
backend.quote_name('package'), backend.quote_name('codename'),
|
||||||
db.quote_name('auth_permissions'), db.quote_name('auth_groups_permissions'),
|
backend.quote_name('auth_permissions'), backend.quote_name('auth_groups_permissions'),
|
||||||
db.quote_name('auth_users_groups'), db.quote_name('id'),
|
backend.quote_name('auth_users_groups'), backend.quote_name('id'),
|
||||||
db.quote_name('permission_id'), db.quote_name('group_id'),
|
backend.quote_name('permission_id'), backend.quote_name('group_id'),
|
||||||
db.quote_name('group_id'), db.quote_name('user_id'))
|
backend.quote_name('group_id'), backend.quote_name('user_id'))
|
||||||
cursor.execute(sql, [self.id])
|
cursor.execute(sql, [self.id])
|
||||||
self._group_perm_cache = sets.Set(["%s.%s" % (row[0], row[1]) for row in cursor.fetchall()])
|
self._group_perm_cache = sets.Set(["%s.%s" % (row[0], row[1]) for row in cursor.fetchall()])
|
||||||
return self._group_perm_cache
|
return self._group_perm_cache
|
||||||
|
Loading…
x
Reference in New Issue
Block a user