[CalendarServer-changes] [10821] CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/ datastore/sql.py
source_changes at macosforge.org
source_changes at macosforge.org
Wed Feb 27 22:18:13 PST 2013
Revision: 10821
http://trac.calendarserver.org//changeset/10821
Author: gaya at apple.com
Date: 2013-02-27 22:18:13 -0800 (Wed, 27 Feb 2013)
Log Message:
-----------
add AddressBook.readonlyGroupIDs(), AddressBook.WriteableGroupIDs()
Modified Paths:
--------------
CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py
Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py 2013-02-28 05:26:27 UTC (rev 10820)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py 2013-02-28 06:18:13 UTC (rev 10821)
@@ -199,7 +199,6 @@
# initialize address book properties, synctoken
child = yield self.addressbook()
yield child._loadPropertyStore()
- child._initProperties()
yield child._initSyncToken()
@@ -936,9 +935,9 @@
@inlineCallbacks
- def writeableAcceptedGroupIDs(self):
+ def accessControlGroupIDs(self):
if self.owned():
- returnValue([])
+ returnValue(([], []))
else:
groupBindRows = yield AddressBookObject._acceptedBindWithHomeIDAndAddressBookID.on(
self._txn, homeID=self._home._resourceID, addressbookID=self._resourceID
@@ -957,12 +956,22 @@
adjustedReadOnlyGroupIDs = set(readonlyGroupIDs) - set(allWriteableIDs)
adjustedReadWriteGroupIDs = set(readwriteGroupIDs) | (set(readonlyGroupIDs) - adjustedReadOnlyGroupIDs)
else:
- #adjustedReadOnlyGroupIDs = readonlyGroupIDs
+ adjustedReadOnlyGroupIDs = readonlyGroupIDs
adjustedReadWriteGroupIDs = readwriteGroupIDs
- returnValue(tuple(adjustedReadWriteGroupIDs))
+ returnValue((tuple(adjustedReadOnlyGroupIDs), tuple(adjustedReadWriteGroupIDs)))
@inlineCallbacks
+ def readonlyGroupIDs(self):
+ returnValue((yield self.accessControlGroupIDs())[0])
+
+
+ @inlineCallbacks
+ def writeableGroupIDs(self):
+ returnValue((yield self.accessControlGroupIDs())[1])
+
+
+ @inlineCallbacks
def updateShare(self, shareeView, mode=None, status=None, message=None, name=None):
"""
Update share mode, status, and message for a home child shared with
@@ -1235,9 +1244,9 @@
# convert delete in sharee shared group address book to remove of memberships
# that make this object visible to the sharee
- writeableAcceptedGroupIDs = yield self._addressbook.writeableAcceptedGroupIDs()
- if writeableAcceptedGroupIDs:
- objectsIDs = yield self._addressbook._objectIDsInExpandedGroupIDs(self._txn, writeableAcceptedGroupIDs)
+ writeableGroupIDs = yield self._addressbook.writeableGroupIDs()
+ if writeableGroupIDs:
+ objectsIDs = yield self._addressbook._objectIDsInExpandedGroupIDs(self._txn, writeableGroupIDs)
yield self._deleteMembersWithMemberIDAndGroupIDsQuery(self._resourceID, objectsIDs).on(
self._txn, groupIDs=objectsIDs
)
@@ -1688,9 +1697,9 @@
# FIXME: Is this correct?
if not self.owned():
if not self._addressbook.fullyShared() or self._addressbook.shareMode() != _BIND_MODE_WRITE:
- writeableAcceptedGroupIDs = yield self._addressbook.writeableAcceptedGroupIDs()
- assert writeableAcceptedGroupIDs, "no access"
- groupIDs.extend(writeableAcceptedGroupIDs)
+ writeableGroupIDs = yield self._addressbook.writeableGroupIDs()
+ assert writeableGroupIDs, "no access"
+ groupIDs.extend(writeableGroupIDs)
# add to member table rows
for groupID in groupIDs:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130227/1188d5ad/attachment.html>
More information about the calendarserver-changes
mailing list