[CalendarServer-changes] [1215] CalendarServer/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Tue Feb 20 07:44:30 PST 2007
Revision: 1215
http://trac.macosforge.org/projects/calendarserver/changeset/1215
Author: cdaboo at apple.com
Date: 2007-02-20 07:44:30 -0800 (Tue, 20 Feb 2007)
Log Message:
-----------
Add directory parameter to allow all users to be considered as valid calendar user principals as opposed to only those
with the calendar service schema property enabled. This is useful for testing purposes only and off by default.
Modified Paths:
--------------
CalendarServer/trunk/conf/caldavd-test-logged.plist
CalendarServer/trunk/conf/caldavd-test.plist
CalendarServer/trunk/conf/caldavd.plist
CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py
Modified: CalendarServer/trunk/conf/caldavd-test-logged.plist
===================================================================
--- CalendarServer/trunk/conf/caldavd-test-logged.plist 2007-02-20 02:52:11 UTC (rev 1214)
+++ CalendarServer/trunk/conf/caldavd-test-logged.plist 2007-02-20 15:44:30 UTC (rev 1215)
@@ -91,6 +91,8 @@
<dict>
<key>node</key>
<string>/Search</string>
+ <key>allUsers</key>
+ <false/>
</dict>
</dict>
-->
Modified: CalendarServer/trunk/conf/caldavd-test.plist
===================================================================
--- CalendarServer/trunk/conf/caldavd-test.plist 2007-02-20 02:52:11 UTC (rev 1214)
+++ CalendarServer/trunk/conf/caldavd-test.plist 2007-02-20 15:44:30 UTC (rev 1215)
@@ -97,6 +97,8 @@
<dict>
<key>node</key>
<string>/Search</string>
+ <key>allUsers</key>
+ <false/>
</dict>
</dict>
-->
Modified: CalendarServer/trunk/conf/caldavd.plist
===================================================================
--- CalendarServer/trunk/conf/caldavd.plist 2007-02-20 02:52:11 UTC (rev 1214)
+++ CalendarServer/trunk/conf/caldavd.plist 2007-02-20 15:44:30 UTC (rev 1215)
@@ -97,6 +97,8 @@
<dict>
<key>node</key>
<string>/Search</string>
+ <key>allUsers</key>
+ <false/>
</dict>
</dict>
Modified: CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py 2007-02-20 02:52:11 UTC (rev 1214)
+++ CalendarServer/trunk/twistedcaldav/directory/appleopendirectory.py 2007-02-20 15:44:30 UTC (rev 1215)
@@ -52,7 +52,7 @@
def __repr__(self):
return "<%s %r: %r>" % (self.__class__.__name__, self.realmName, self.node)
- def __init__(self, node="/Search", dosetup=True):
+ def __init__(self, node="/Search", allUsers=False, dosetup=True):
"""
@param node: an OpenDirectory node name to bind to.
@param dosetup: if C{True} then the directory records are initialized,
@@ -68,6 +68,7 @@
self.realmName = node
self.directory = directory
self.node = node
+ self.allUsers = allUsers
self.computerRecordName = ""
self._records = {}
self._delayedCalls = set()
@@ -373,31 +374,38 @@
records = {}
try:
- results = opendirectory.queryRecordsWithAttributes(
- self.directory,
- query,
- dsattributes.eDSStartsWith,
- False,
- False,
- listRecordType,
- attrs)
+ if self.allUsers:
+ results = opendirectory.listAllRecordsWithAttributes(
+ self.directory,
+ listRecordType,
+ attrs)
+ else:
+ results = opendirectory.queryRecordsWithAttributes(
+ self.directory,
+ query,
+ dsattributes.eDSStartsWith,
+ False,
+ False,
+ listRecordType,
+ attrs)
except opendirectory.ODError, ex:
log.msg("Open Directory (node=%s) error: %s" % (self.realmName, str(ex)))
raise
for (key, value) in results.iteritems():
- # Make sure this user has service enabled.
- enabled = True
- service = value.get(dsattributes.kDSNAttrServicesLocator)
- if isinstance(service, str):
- service = [service]
- for item in service:
- if item.startswith(self.servicetag):
- if item.endswith(":disabled"):
- enabled = False
- break
- if not enabled:
- continue
+ if not self.allUsers:
+ # Make sure this user has service enabled.
+ enabled = True
+ service = value.get(dsattributes.kDSNAttrServicesLocator)
+ if isinstance(service, str):
+ service = [service]
+ for item in service:
+ if item.startswith(self.servicetag):
+ if item.endswith(":disabled"):
+ enabled = False
+ break
+ if not enabled:
+ continue
# Now get useful record info.
shortName = key
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070220/a9aa2861/attachment.html
More information about the calendarserver-changes
mailing list