From a923ccf2d30b85196991a3f33c710a7d2a638c55 Mon Sep 17 00:00:00 2001 From: Peter Bieringer Date: Wed, 25 Mar 2026 06:55:56 +0100 Subject: [PATCH] sharing/legacy bday: fallback for list --- radicale/sharing/__init__.py | 9 +++++++++ radicale/tests/test_sharing.py | 14 ++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/radicale/sharing/__init__.py b/radicale/sharing/__init__.py index 0ba0f091..f054ea3f 100644 --- a/radicale/sharing/__init__.py +++ b/radicale/sharing/__init__.py @@ -16,6 +16,7 @@ # along with Radicale. If not, see . import base64 +import copy # TODO: remove/3.7.0-final import io import json import logging @@ -878,6 +879,14 @@ class BaseSharing: Conversion=Conversion, ) + if "SHARING_NO_LEGACY" not in os.environ: # TODO: remove/3.7.0-final + # check and change to legacy ShareType # TODO: remove/3.7.0-final + result_array_adj = copy.deepcopy(result_array) # TODO: remove/3.7.0-final + for index in range(0, len(result_array_adj)): # TODO: remove/3.7.0-final + if result_array_adj[index]['Conversion'] == "bday": # TODO: remove/3.7.0-final + result_array_adj[index]['ShareType'] = "bday" # TODO: remove/3.7.0-final + result_array = result_array_adj + answer['Lines'] = len(result_array) if len(result_array) == 0: answer['Status'] = "not-found" diff --git a/radicale/tests/test_sharing.py b/radicale/tests/test_sharing.py index e4d69fbb..6da17d10 100644 --- a/radicale/tests/test_sharing.py +++ b/radicale/tests/test_sharing.py @@ -4351,6 +4351,20 @@ permissions: RrWw""") json_dict['PathOrToken'] = path_shared_r _, headers, answer = self._sharing_api_json("map", "enable", check=200, login="user:userpw", json_dict=json_dict) + # list by user + logging.info("\n*** list by user") + json_dict = {} + _, headers, answer = self._sharing_api_json("map", "list", check=200, login="user:userpw", json_dict=json_dict) + answer_dict = json.loads(answer) + assert answer_dict['Status'] == "success" + assert answer_dict['Lines'] == 1 + row = answer_dict['Content'][0] + if "SHARING_NO_LEGACY" not in os.environ: # TODO: remove/3.7.0-final + assert row['ShareType'] == "bday" # TODO: remove/3.7.0-final + else: # TODO: remove/3.7.0-final + assert row['ShareType'] == "map" + assert row['Conversion'] == "bday" + # check PROPFIND item as user logging.info("\n*** PROPFIND item as user -> calendar") response = self._propfind_allprop(path_shared_r, login="user:userpw")