[CalendarServer-changes] [3564] CalendarServer/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Mon Dec 22 10:41:44 PST 2008
Revision: 3564
http://trac.macosforge.org/projects/calendarserver/changeset/3564
Author: sagen at apple.com
Date: 2008-12-22 10:41:33 -0800 (Mon, 22 Dec 2008)
Log Message:
-----------
Adds expanded-group-membership property, and makes group-membership property non-expanding
Modified Paths:
--------------
CalendarServer/trunk/run
CalendarServer/trunk/twistedcaldav/customxml.py
CalendarServer/trunk/twistedcaldav/directory/principal.py
CalendarServer/trunk/twistedcaldav/resource.py
Modified: CalendarServer/trunk/run
===================================================================
--- CalendarServer/trunk/run 2008-12-22 18:40:44 UTC (rev 3563)
+++ CalendarServer/trunk/run 2008-12-22 18:41:33 UTC (rev 3564)
@@ -692,7 +692,7 @@
caldavtester="${top}/CalDAVTester";
-svn_get "CalDAVTester" "${caldavtester}" "${svn_uri_base}/CalDAVTester/trunk" 3559;
+svn_get "CalDAVTester" "${caldavtester}" "${svn_uri_base}/CalDAVTester/trunk" 3563;
#
# Calendar Server
Modified: CalendarServer/trunk/twistedcaldav/customxml.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/customxml.py 2008-12-22 18:40:44 UTC (rev 3563)
+++ CalendarServer/trunk/twistedcaldav/customxml.py 2008-12-22 18:41:33 UTC (rev 3564)
@@ -385,6 +385,17 @@
allowed_children = { (dav_namespace, "href"): (0, None) }
+class ExpandedGroupMembership (davxml.WebDAVElement):
+ """
+ The expanded list of groups a principal is a member of
+ """
+ namespace = calendarserver_namespace
+ name = "expanded-group-membership"
+ protected = True
+ hidden = True
+
+ allowed_children = { (dav_namespace, "href"): (0, None) }
+
class IScheduleInbox (davxml.WebDAVEmptyElement):
"""
Denotes the resourcetype of a iSchedule Inbox.
Modified: CalendarServer/trunk/twistedcaldav/directory/principal.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/principal.py 2008-12-22 18:40:44 UTC (rev 3563)
+++ CalendarServer/trunk/twistedcaldav/directory/principal.py 2008-12-22 18:41:33 UTC (rev 3564)
@@ -630,13 +630,13 @@
return succeed(self._getRelatives("members", infinity=True))
@inlineCallbacks
- def groupMemberships(self):
- groups = self._getRelatives("groups", infinity=True)
+ def groupMemberships(self, infinity=False):
+ groups = self._getRelatives("groups", infinity=infinity)
if config.EnableProxyPrincipals:
# Get any directory specified proxies
- groups.update(self._getRelatives("proxyFor", proxy='read-write', infinity=True))
- groups.update(self._getRelatives("readOnlyProxyFor", proxy='read-only', infinity=True))
+ groups.update(self._getRelatives("proxyFor", proxy='read-write', infinity=infinity))
+ groups.update(self._getRelatives("readOnlyProxyFor", proxy='read-only', infinity=infinity))
# Get proxy group UIDs and map to principal resources
proxies = []
@@ -650,6 +650,10 @@
returnValue(groups)
+ def expandedGroupMemberships(self):
+ return self.groupMemberships(infinity=True)
+
+
@inlineCallbacks
def proxyFor(self, read_write, resolve_memberships=True):
proxyFors = set()
Modified: CalendarServer/trunk/twistedcaldav/resource.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/resource.py 2008-12-22 18:40:44 UTC (rev 3563)
+++ CalendarServer/trunk/twistedcaldav/resource.py 2008-12-22 18:41:33 UTC (rev 3564)
@@ -851,6 +851,7 @@
(calendarserver_namespace, "calendar-proxy-read-for" ),
(calendarserver_namespace, "calendar-proxy-write-for" ),
(calendarserver_namespace, "expanded-group-member-set"),
+ (calendarserver_namespace, "expanded-group-membership"),
)
@classmethod
@@ -946,7 +947,13 @@
*[davxml.HRef(p.principalURL()) for p in principals]
))
+ elif name == "expanded-group-membership":
+ principals = (yield self.expandedGroupMemberships())
+ returnValue(customxml.ExpandedGroupMembership(
+ *[davxml.HRef(p.principalURL()) for p in principals]
+ ))
+
result = (yield super(CalendarPrincipalResource, self).readProperty(property, request))
returnValue(result)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20081222/4727a19d/attachment-0001.html>
More information about the calendarserver-changes
mailing list