sharing: share-by-group: add share resolution for other methods beside propfind
This commit is contained in:
@@ -33,8 +33,8 @@ from typing import Iterator, List, Mapping, MutableMapping, Optional, Tuple
|
||||
import vobject
|
||||
|
||||
import radicale.item as radicale_item
|
||||
from radicale import (httputils, pathutils, rights, storage, types, utils,
|
||||
xmlutils)
|
||||
from radicale import (httputils, pathutils, rights, sharing, storage, types,
|
||||
utils, xmlutils)
|
||||
from radicale.app.base import Access, ApplicationBase
|
||||
from radicale.hook import HookNotificationItem, HookNotificationItemTypes
|
||||
from radicale.log import logger
|
||||
@@ -188,7 +188,10 @@ class ApplicationPartPut(ApplicationBase):
|
||||
permissions_filter = 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']
|
||||
|
||||
Reference in New Issue
Block a user