diff --git a/radicale/item/__init__.py b/radicale/item/__init__.py index 400c7bcb..faa602dc 100644 --- a/radicale/item/__init__.py +++ b/radicale/item/__init__.py @@ -647,29 +647,29 @@ class Item: # create SUMMARY summary = name + " (BDAY)" # default - if ShareActions is not None and 'template' in ShareActions: - if 'conversion_bday_summary_template' in ShareActions['template']: - summary = ShareActions['template']['conversion_bday_summary_template'] + if ShareActions is not None and 'config' in ShareActions: + if 'conversion_bday_summary_template' in ShareActions['config']: + summary = ShareActions['config']['conversion_bday_summary_template'] summary = self.replace_placeholders(summary, placeholder_mapping) # create DESCRIPTION description = "BDAY=" + bdaySdesc # default - if ShareActions is not None and 'template' in ShareActions: - if 'conversion_bday_description_template' in ShareActions['template']: - description = ShareActions['template']['conversion_bday_description_template'] + if ShareActions is not None and 'config' in ShareActions: + if 'conversion_bday_description_template' in ShareActions['config']: + description = ShareActions['config']['conversion_bday_description_template'] description = self.replace_placeholders(description, placeholder_mapping) # check ALARM alarm_trigger = "" # default - if ShareActions is not None and 'template' in ShareActions: - alarm_trigger = ShareActions['template']['conversion_bday_alarm_trigger_template'] + if ShareActions is not None and 'config' in ShareActions: + alarm_trigger = ShareActions['config']['conversion_bday_alarm_trigger_template'] vevent_enable_age = False age_max = 0 if "{age}" in summary or "{age}" in description or "age" in alarm_trigger: - if ShareActions is not None and 'limit' in ShareActions: - if 'conversion_bday_age_max' in ShareActions['limit']: - age_max = ShareActions['limit']['conversion_bday_age_max'] + if ShareActions is not None and 'config' in ShareActions: + if 'conversion_bday_age_max' in ShareActions['config']: + age_max = ShareActions['config']['conversion_bday_age_max'] vevent_enable_age = True # create UID diff --git a/radicale/sharing/__init__.py b/radicale/sharing/__init__.py index 2e815528..faa448b3 100644 --- a/radicale/sharing/__init__.py +++ b/radicale/sharing/__init__.py @@ -425,67 +425,48 @@ class BaseSharing: if share is not None: if share['Conversion'] == "bday": # autogenerate Actions if not existing - if share['Actions'] is None: + if share['Actions'] is None or 'config' not in share['Actions']: share['Actions'] = { - 'template': { + 'config': { 'conversion_bday_summary_template': self.conversion_bday_summary_template, 'conversion_bday_description_template': self.conversion_bday_description_template, 'conversion_bday_alarm_trigger_template': self.conversion_bday_alarm_trigger_template, - }, - 'limit': { 'conversion_bday_age_max': self.conversion_bday_age_max, }, } else: - if 'template' in share['Actions']: - if 'conversion_bday_summary_template' in share['Actions']['template']: + if 'config' in share['Actions']: + if 'conversion_bday_summary_template' in share['Actions']['config']: # nothing to do pass else: - share['Actions']['template'].update( + share['Actions']['config'].update( {'conversion_bday_summary_template': self.conversion_bday_summary_template} ) - if 'conversion_bday_description_template' in share['Actions']['template']: + if 'conversion_bday_description_template' in share['Actions']['config']: # nothing to do pass else: - share['Actions']['template'].update( + share['Actions']['config'].update( {'conversion_bday_description_template': self.conversion_bday_description_template} ) - if 'conversion_bday_alarm_trigger_template' in share['Actions']['template']: + if 'conversion_bday_alarm_trigger_template' in share['Actions']['config']: # nothing to do pass else: - share['Actions']['template'].update( + share['Actions']['config'].update( {'conversion_bday_alarm_trigger_template': self.conversion_bday_alarm_trigger_template} ) - else: - share['Actions'].update( - {'template': { - 'conversion_bday_summary_template': self.conversion_bday_summary_template, - 'conversion_bday_description_template': self.conversion_bday_description_template, - 'conversion_bday_alarm_trigger_template': self.conversion_bday_alarm_trigger_template, - } - } - ) - if 'limit' in share['Actions']: - if 'conversion_bday_age_max' in share['Actions']['limit']: + if 'conversion_bday_age_max' in share['Actions']['config']: # nothing to do pass else: - share['Actions']['limit'].update( + share['Actions']['config'].update( {'conversion_bday_age_max': self.conversion_bday_age_max} ) - else: - share['Actions'].update( - {'limit': { - 'conversion_bday_age_max': self.conversion_bday_age_max, - } - } - ) logger.info("sharing/%s: resolved path %r->%r, user %r->%r, Permissions=%r Conversion=%r Actions=%r", share['ShareType'], share['PathOrToken'], share['PathMapped'], user, share['Owner'], share['Permissions'], share['Conversion'], share['Actions']) diff --git a/radicale/tests/test_sharing.py b/radicale/tests/test_sharing.py index 34939c9d..7c8ce93c 100644 --- a/radicale/tests/test_sharing.py +++ b/radicale/tests/test_sharing.py @@ -5178,7 +5178,7 @@ permissions: RrWw""") json_dict['User'] = "user" json_dict['PathMapped'] = path_mapped json_dict['PathOrToken'] = path_shared_r - json_dict['Actions'] = {"limit": { + json_dict['Actions'] = {"config": { "conversion_bday_age_max": 5, }} _, headers, answer = self._sharing_api_json("map", "update", check=200, login="owner:ownerpw", json_dict=json_dict) @@ -5237,7 +5237,7 @@ permissions: RrWw""") json_dict['User'] = "user" json_dict['PathMapped'] = path_mapped json_dict['PathOrToken'] = path_shared_r - json_dict['Actions'] = {"limit": { + json_dict['Actions'] = {"config": { "level2": "test", }} _, headers, answer = self._sharing_api_json("map", "update", check=400, login="owner:ownerpw", json_dict=json_dict) @@ -5298,7 +5298,7 @@ permissions: RrWw""") json_dict['Enabled'] = True json_dict['Hidden'] = False json_dict['Properties'] = {"D:displayname": "Test-BDAY2"} - json_dict['Actions'] = {"template": { + json_dict['Actions'] = {"config": { "conversion_bday_summary_template": "{fn} (BDAY2)", "conversion_bday_description_template": "BDAY2={year}-{month}-{day}", }} @@ -5317,7 +5317,7 @@ permissions: RrWw""") json_dict['Enabled'] = True json_dict['Hidden'] = False json_dict['Properties'] = {"D:displayname": "Test-Birthday3"} - json_dict['Actions'] = {"template": { + json_dict['Actions'] = {"config": { "conversion_bday_summary_template": "{fn} (Birthday3)", "conversion_bday_description_template": "Birthday3={year}-{month}-{day}", }} @@ -5355,7 +5355,7 @@ permissions: RrWw""") json_dict['User'] = "user" json_dict['PathMapped'] = path_mapped_2 json_dict['PathOrToken'] = path_shared_2r - json_dict['Actions'] = {"template": { + json_dict['Actions'] = {"config": { "conversion_bday_summary_template": "{fn} (BDAY2x)", "conversion_bday_description_template": "BDAY2x={year}-{month}-{day}", }} @@ -5374,7 +5374,7 @@ permissions: RrWw""") json_dict['User'] = "user" json_dict['PathMapped'] = path_mapped_2 json_dict['PathOrToken'] = path_shared_2r - json_dict['Actions'] = {"template": { + json_dict['Actions'] = {"config": { "conversion_bday_summary_template_UNSUPPORTED": "{fn} (BDAY2x)", "conversion_bday_description_template_UNSUPPORTED": "BDAY2x={year}-{month}-{day}", }}