From 7f9d881d22abafd710efda347175b546af0d8d24 Mon Sep 17 00:00:00 2001 From: Antony Chazapis Date: Mon, 5 Sep 2011 16:43:51 +0300 Subject: [PATCH] Return paths shared to '*' in shared lists (in simple and modular backends). --- pithos/backends/lib/permissions.py | 2 +- pithos/backends/simple.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pithos/backends/lib/permissions.py b/pithos/backends/lib/permissions.py index 02cefe5..f97746b 100644 --- a/pithos/backends/lib/permissions.py +++ b/pithos/backends/lib/permissions.py @@ -118,7 +118,7 @@ class Permissions(XFeatures, Groups, Public): q = ("select distinct path from xfeatures inner join " " (select distinct feature_id, key from xfeaturevals inner join " " (select owner || ':' || name as value from groups " - " where member = ? union select ?) " + " where member = ? union select ? union select '*') " " using (value)) " "using (feature_id)") p = (member, member) diff --git a/pithos/backends/simple.py b/pithos/backends/simple.py index 6d6efa2..504af1b 100644 --- a/pithos/backends/simple.py +++ b/pithos/backends/simple.py @@ -974,8 +974,10 @@ class SimpleBackend(BaseBackend): raise NotAllowedError def _allowed_paths(self, user, prefix=None): - sql = '''select distinct name from permissions where (user = ? - or user in (select account || ':' || gname from groups where user = ?))''' + sql = '''select distinct name from permissions + where (user = '*' or + user = ? or + user in (select account || ':' || gname from groups where user = ?))''' param = (user, user) if prefix: sql += ' and name like ?' -- 1.7.10.4