fixed accessible_query

This commit is contained in:
Massimo Di Pierro
2012-04-17 21:22:11 -05:00
parent ba64a96eba
commit 04a82409fe
2 changed files with 18 additions and 7 deletions
+1 -1
View File
@@ -1 +1 @@
Version 1.99.7 (2012-04-17 15:29:12) dev
Version 1.99.7 (2012-04-17 21:21:45) dev
+17 -6
View File
@@ -2922,16 +2922,27 @@ class Auth(object):
"""
if not user_id:
user_id = self.user_id
if self.has_permission(name, table, 0, user_id):
if isinstance(table,str) and table in self.db.tables():
table = self.db[table]
if not isinstance(table,str) and\
self.has_permission(name, table, 0, user_id):
return table.id > 0
db = self.db
membership = self.settings.table_membership
permission = self.settings.table_permission
return table.id.belongs(db(membership.user_id == user_id)\
(membership.group_id == permission.group_id)\
(permission.name == name)\
(permission.table_name == table)\
._select(permission.record_id))
query = table.id.belongs(
db(membership.user_id == user_id)\
(membership.group_id == permission.group_id)\
(permission.name == name)\
(permission.table_name == table)\
._select(permission.record_id))
if self.settings.everybody_group_id:
query|=table.id.belongs(
db(permission.group_id==self.settings.everybody_group_id)\
(permission.name == name)\
(permission.table_name == table)\
._select(permission.record_id))
return query
@staticmethod
def archive(form,