Mercurial > p > roundup > code
comparison roundup/hyperdb.py @ 8135:aa5ae3f84889 permission-performance
Test new filter function in security checks
And add bug-fix after moving filter_with_permissions to hyperdb.
| author | Ralf Schlatterbeck <rsc@runtux.com> |
|---|---|
| date | Wed, 23 Oct 2024 16:29:43 +0200 |
| parents | 627871650f4f |
| children | 5a2b9435a04d |
comparison
equal
deleted
inserted
replaced
| 8134:132d450bdc00 | 8135:aa5ae3f84889 |
|---|---|
| 1826 # permission list. | 1826 # permission list. |
| 1827 if sec.is_filterable(permission, userid, cn): | 1827 if sec.is_filterable(permission, userid, cn): |
| 1828 new_ids = set(item_ids) | 1828 new_ids = set(item_ids) |
| 1829 confirmed = set() | 1829 confirmed = set() |
| 1830 for perm in sec.filter_iter(permission, userid, cn): | 1830 for perm in sec.filter_iter(permission, userid, cn): |
| 1831 fargs = perm.filter(self._client.db, userid, klass) | 1831 fargs = perm.filter(self.db, userid, self) |
| 1832 for farg in fargs: | 1832 for farg in fargs: |
| 1833 farg.update(sort=[], group=[], retired=None) | 1833 farg.update(sort=[], group=[], retired=None) |
| 1834 result = klass.filter(list(new_ids), **farg) | 1834 result = self.filter(list(new_ids), **farg) |
| 1835 new_ids.difference_update(result) | 1835 new_ids.difference_update(result) |
| 1836 confirmed.update(result) | 1836 confirmed.update(result) |
| 1837 # all allowed? | 1837 # all allowed? |
| 1838 if not new_ids: | 1838 if not new_ids: |
| 1839 break | 1839 break |
