summaryrefslogtreecommitdiff
path: root/ishtar_common/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r--ishtar_common/models.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 29dedd113..e4a72eab7 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -2414,10 +2414,10 @@ class Person(Address, Merge, OwnPerms, ValueGetter):
bool(self.person_types.filter(
groups__permissions__codename=right_name).count()) or \
bool(self.ishtaruser.filter(
- groups__permissions__codename__in=right_name
+ groups__permissions__codename__in=[right_name]
).count()) or\
bool(self.ishtaruser.filter(
- user_permissions__codename__in=right_name).count())
+ user_permissions__codename__in=[right_name]).count())
# or self.person_types.filter(wizard__url_name=right_name).count())
if session:
cache.set(cache_key, res, settings.CACHE_SMALLTIMEOUT)
@@ -2514,8 +2514,9 @@ class IshtarUser(User):
def has_perm(self, perm, model=None, session=None, obj=None):
if not session:
return super(IshtarUser, self).has_perm(perm, model)
- cache_key = 'usersession-{}-{}'.format(session.session_key, perm,
- model or 'no')
+ cache_key = 'usersession-{}-{}-{}-{}'.format(
+ session.session_key, perm, model.__name__ if model else 'no',
+ obj.pk if obj else 'no')
res = cache.get(cache_key)
if res in (True, False):
return res