[CalendarServer-changes] [13748] CalendarServer/branches/users/gaya/groupsharee2/txdav
source_changes at macosforge.org
source_changes at macosforge.org
Thu Jul 10 17:17:43 PDT 2014
Revision: 13748
http://trac.calendarserver.org//changeset/13748
Author: gaya at apple.com
Date: 2014-07-10 17:17:43 -0700 (Thu, 10 Jul 2014)
Log Message:
-----------
only use effectiveShareMode() for notifications and access privs
Modified Paths:
--------------
CalendarServer/branches/users/gaya/groupsharee2/txdav/caldav/datastore/sql.py
CalendarServer/branches/users/gaya/groupsharee2/txdav/common/datastore/sql.py
Modified: CalendarServer/branches/users/gaya/groupsharee2/txdav/caldav/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/gaya/groupsharee2/txdav/caldav/datastore/sql.py 2014-07-10 23:30:57 UTC (rev 13747)
+++ CalendarServer/branches/users/gaya/groupsharee2/txdav/caldav/datastore/sql.py 2014-07-11 00:17:43 UTC (rev 13748)
@@ -1754,7 +1754,6 @@
#===============================================================================
# Group sharing
#===============================================================================
-
@inlineCallbacks
def reconcileGroupSharee(self, groupUID):
"""
@@ -1891,31 +1890,23 @@
returnValue(changed)
- def effectiveShareMode(self):
- return self._effectiveShareMode(
- self._bindMode, self.ownerHome()._resourceID,
- self._resourceID, self._txn
- )
-
-
- @classmethod
@inlineCallbacks
- def _effectiveShareMode(cls, bindMode, homeID, childID, txn):
- if bindMode == _BIND_MODE_GROUP_WRITE:
+ def effectiveShareMode(self):
+ if self._bindMode == _BIND_MODE_GROUP_WRITE:
returnValue(_BIND_MODE_WRITE)
- elif bindMode in (_BIND_MODE_GROUP, _BIND_MODE_GROUP_READ):
+ elif self._bindMode in (_BIND_MODE_GROUP, _BIND_MODE_GROUP_READ):
gs = schema.GROUP_SHAREE
rows = yield Select(
[Max(gs.GROUP_BIND_MODE)], # _BIND_MODE_WRITE > _BIND_MODE_READ
From=gs,
- Where=(gs.CALENDAR_HOME_ID == homeID).And(
- gs.CALENDAR_ID == childID
+ Where=(gs.CALENDAR_HOME_ID == self.ownerHome()._resourceID).And(
+ gs.CALENDAR_ID == self._resourceID
)
- ).on(txn)
+ ).on(self._txn)
groupShareMode = rows[0][0]
returnValue(groupShareMode)
else:
- returnValue(bindMode)
+ returnValue(self._bindMode)
#
Modified: CalendarServer/branches/users/gaya/groupsharee2/txdav/common/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/gaya/groupsharee2/txdav/common/datastore/sql.py 2014-07-10 23:30:57 UTC (rev 13747)
+++ CalendarServer/branches/users/gaya/groupsharee2/txdav/common/datastore/sql.py 2014-07-11 00:17:43 UTC (rev 13748)
@@ -4749,7 +4749,7 @@
"sharee": shareeView.viewerHome().uid(),
"uid": shareeView.shareUID(),
"status": shareeView.shareStatus() if notificationState is None else notificationState,
- "access": shareeView.shareMode(),
+ "access": (yield shareeView.effectiveShareMode()),
"ownerName": self.shareName(),
"summary": displayname,
}
@@ -5149,14 +5149,6 @@
result = []
for homeUID, homeRID, _ignore_resourceID, resourceName, bindMode, bindStatus, bindMessage in invitedRows:
-
- # performance optimzation: don't instantiate viewer or viewer home
- if bindMode in (_BIND_MODE_GROUP, _BIND_MODE_GROUP_READ, _BIND_MODE_GROUP_WRITE):
- bindMode = yield self._effectiveShareMode(
- bindMode, homeRID,
- self._resourceID, self._txn
- )
-
invite = SharingInvitation(
resourceName,
self.ownerHome().name(),
@@ -5292,11 +5284,6 @@
return self._bindMode
- @classmethod
- def _effectiveShareMode(cls, bindMode, homeID, childID, txn):
- return bindMode
-
-
def shareName(self):
"""
This is a path like name for the resource within the home being shared. For object resource
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140710/cfbffa9d/attachment.html>
More information about the calendarserver-changes
mailing list