[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