[CalendarServer-changes] [10310] CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/ datastore/sql.py
source_changes at macosforge.org
source_changes at macosforge.org
Thu Jan 17 16:00:14 PST 2013
Revision: 10310
http://trac.calendarserver.org//changeset/10310
Author: gaya at apple.com
Date: 2013-01-17 16:00:14 -0800 (Thu, 17 Jan 2013)
Log Message:
-----------
fix sharee shared group members
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-01-17 22:34:40 UTC (rev 10309)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py 2013-01-18 00:00:14 UTC (rev 10310)
@@ -934,12 +934,18 @@
@inlineCallbacks
def _allColumnsWithParent(cls, parent): #@NoSelf
- result = yield super(AddressBookObject, cls)._allColumnsWithParent(parent)
+ ownerGroup = yield parent.ownerGroup()
+ if ownerGroup:
+ objectIDs = yield ownerGroup._allGroupObjectIDs()
+ rows = (yield cls._abObjectColumnsWithResourceIDsQuery(cls._allColumns, objectIDs).on(
+ parent._txn, resourceIDs=objectIDs)) if objectIDs else []
+ else:
+ rows = yield super(AddressBookObject, cls)._allColumnsWithParent(parent)
+ # add group vCard for shared address books
+ if not parent.owned():
+ rows.append((yield parent._groupForSharedAddressBookRow()))
- # add group vCard for shared address books
- if not parent.owned():
- result.append((yield parent._groupForSharedAddressBookRow()))
- returnValue(result)
+ returnValue(rows)
@classmethod
@@ -954,13 +960,19 @@
@inlineCallbacks
def _allColumnsWithParentAndNames(cls, parent, names): #@NoSelf
- result = yield super(AddressBookObject, cls)._allColumnsWithParentAndNames(parent, names)
+ ownerGroup = yield parent.ownerGroup()
+ if ownerGroup:
+ objectIDs = yield parent._allAddressBookObjectIDs()
+ rows = (yield cls._allColumnsWithResourceIDsAndNamesQuery(objectIDs, names).on(
+ parent._txn, resourceIDs=objectIDs, names=names)) if objectIDs else []
+ else:
+ rows = yield super(AddressBookObject, cls)._allColumnsWithParentAndNames(parent, names)
- # add group vCard for shared address books
- if not parent.owned() and (yield parent._groupForSharedAddressBookName()) in names:
- result.append((yield parent._groupForSharedAddressBookRow(parent)))
+ # add group vCard for shared address books
+ if not parent.owned() and (yield parent._groupForSharedAddressBookName()) in names:
+ rows.append((yield parent._groupForSharedAddressBookRow(parent)))
- returnValue(result)
+ returnValue(rows)
@inlineCallbacks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130117/82b577de/attachment.html>
More information about the calendarserver-changes
mailing list