fix(dav): Principal-Depth-1 liefert keine Sub-Container mehr
Die zuletzt eingefuehrten Sub-Container (calendars/, addressbooks/) bei PROPFIND Depth 1 auf /dav/<user>/ wurden von DAVx5 als leere Kalender gezaehlt (DEFAULT_TASK_CALENDAR_NAME-Phantom-Eintraege). Da die CardDAV- Route jetzt korrekt an den Home-Set-Handler delegiert, reicht es wenn der Principal nur sich selbst liefert - Clients folgen den Home-Sets. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
0ef480858e
commit
8772e02410
|
|
@ -269,24 +269,13 @@ def propfind(subpath=''):
|
|||
multistatus.append(_principal_response(user))
|
||||
return _xml_response(multistatus)
|
||||
|
||||
# /dav/<username>/ : principal itself + the two sub-containers as
|
||||
# collection children (calendars/ and addressbooks/). The actual
|
||||
# calendar/addressbook lists live under those home-sets.
|
||||
# /dav/<username>/ : nur der Principal. Clients MUESSEN den Home-Sets
|
||||
# (calendar-home-set / addressbook-home-set) folgen - sonst wuerden die
|
||||
# Container hier faelschlich als leere Kalender angezeigt (DAVx5).
|
||||
if len(parts) == 1:
|
||||
if parts[0] != user.username:
|
||||
return Response('', 403)
|
||||
multistatus.append(_principal_response(user))
|
||||
if depth != '0':
|
||||
for (sub, dn) in (('calendars', 'Kalender'), ('addressbooks', 'Adressbücher')):
|
||||
container = ET.Element(_qn('d', 'response'))
|
||||
ET.SubElement(container, _qn('d', 'href')).text = f'/dav/{user.username}/{sub}/'
|
||||
propstat = ET.SubElement(container, _qn('d', 'propstat'))
|
||||
prop = ET.SubElement(propstat, _qn('d', 'prop'))
|
||||
rt = ET.SubElement(prop, _qn('d', 'resourcetype'))
|
||||
ET.SubElement(rt, _qn('d', 'collection'))
|
||||
ET.SubElement(prop, _qn('d', 'displayname')).text = dn
|
||||
ET.SubElement(propstat, _qn('d', 'status')).text = 'HTTP/1.1 200 OK'
|
||||
multistatus.append(container)
|
||||
return _xml_response(multistatus)
|
||||
|
||||
# /dav/<username>/calendars/ : only calendar collections
|
||||
|
|
|
|||
Loading…
Reference in New Issue