sharing: share-by-group: add share resolution for other methods beside propfind

This commit is contained in:
Peter Bieringer
2026-07-19 11:04:46 +02:00
parent 5e4dd2451a
commit 1ff4c6ca03
7 changed files with 38 additions and 13 deletions

View File

@@ -38,7 +38,7 @@ import vobject.base
from vobject.base import ContentLine
import radicale.item as radicale_item
from radicale import httputils, pathutils, storage, types, xmlutils
from radicale import httputils, pathutils, sharing, storage, types, xmlutils
from radicale.app.base import Access, ApplicationBase
from radicale.item import filter as radicale_filter
from radicale.log import logger
@@ -864,7 +864,10 @@ class ApplicationPartReport(ApplicationBase):
share = None
if self._sharing._enabled:
# Sharing by token or map (if enabled)
share = self._sharing.sharing_collection_resolver(path, user)
user_lookup = user
if self._rights._user_groups is not None and len(self._rights._user_groups) > 0:
user_lookup += sharing.SHARING_SEPARATOR_GROUP + ','.join(self._rights._user_groups)
share = self._sharing.sharing_collection_resolver(path, user_lookup)
if share:
# overwrite and run through extended permission check
path = share['PathMapped']