fixed accessible_query
This commit is contained in:
@@ -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
@@ -2922,16 +2922,27 @@ class Auth(object):
|
|||||||
"""
|
"""
|
||||||
if not user_id:
|
if not user_id:
|
||||||
user_id = self.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
|
return table.id > 0
|
||||||
db = self.db
|
db = self.db
|
||||||
membership = self.settings.table_membership
|
membership = self.settings.table_membership
|
||||||
permission = self.settings.table_permission
|
permission = self.settings.table_permission
|
||||||
return table.id.belongs(db(membership.user_id == user_id)\
|
query = table.id.belongs(
|
||||||
(membership.group_id == permission.group_id)\
|
db(membership.user_id == user_id)\
|
||||||
(permission.name == name)\
|
(membership.group_id == permission.group_id)\
|
||||||
(permission.table_name == table)\
|
(permission.name == name)\
|
||||||
._select(permission.record_id))
|
(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
|
@staticmethod
|
||||||
def archive(form,
|
def archive(form,
|
||||||
|
|||||||
Reference in New Issue
Block a user