[CalendarServer-changes] [775]
CalendarServer/trunk/twistedcaldav/directory
source_changes at macosforge.org
source_changes at macosforge.org
Fri Dec 8 15:34:10 PST 2006
Revision: 775
http://trac.macosforge.org/projects/calendarserver/changeset/775
Author: wsanchez at apple.com
Date: 2006-12-08 15:34:10 -0800 (Fri, 08 Dec 2006)
Log Message:
-----------
Any principal can have members.
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/directory/sqldb.py
CalendarServer/trunk/twistedcaldav/directory/xmlaccountsparser.py
Modified: CalendarServer/trunk/twistedcaldav/directory/sqldb.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/sqldb.py 2006-12-08 23:29:47 UTC (rev 774)
+++ CalendarServer/trunk/twistedcaldav/directory/sqldb.py 2006-12-08 23:34:10 UTC (rev 775)
@@ -108,11 +108,10 @@
groups = set()
calendarUserAddresses = set()
- # See if we have a group
- if recordType == "group":
- rowiter = self._db_execute("select MEMBER_RECORD_TYPE, MEMBER_UID from GROUPS where GRPUID = :1", uid)
- for row in rowiter:
- members.add((row[0], row[1]))
+ # See if we have members
+ rowiter = self._db_execute("select MEMBER_RECORD_TYPE, MEMBER_UID from GROUPS where GRPUID = :1", uid)
+ for row in rowiter:
+ members.add((row[0], row[1]))
# See if we are a member of a group
rowiter = self._db_execute("select GRPUID from GROUPS where MEMBER_UID = :1", uid)
@@ -146,11 +145,10 @@
groups = set()
calendarUserAddresses = set()
- # See if we have a group
- if recordType == "group":
- rowiter = self._db_execute("select MEMBER_RECORD_TYPE, MEMBER_UID from GROUPS where GRPUID = :1", uid)
- for row in rowiter:
- members.add((row[0], row[1]))
+ # See if we have members
+ rowiter = self._db_execute("select MEMBER_RECORD_TYPE, MEMBER_UID from GROUPS where GRPUID = :1", uid)
+ for row in rowiter:
+ members.add((row[0], row[1]))
# See if we are a member of a group
rowiter = self._db_execute("select GRPUID from GROUPS where MEMBER_UID = :1", uid)
@@ -179,15 +177,14 @@
""", recordType, uid, password, name, canproxy
)
- # Check for group
- if recordType == "group":
- for memberRecordType, memberShortName in record.members:
- self._db_execute(
- """
- insert into GROUPS (GRPUID, MEMBER_RECORD_TYPE, MEMBER_UID)
- values (:1, :2, :3)
- """, uid, memberRecordType, memberShortName
- )
+ # Check for members
+ for memberRecordType, memberShortName in record.members:
+ self._db_execute(
+ """
+ insert into GROUPS (GRPUID, MEMBER_RECORD_TYPE, MEMBER_UID)
+ values (:1, :2, :3)
+ """, uid, memberRecordType, memberShortName
+ )
# CUAddress
for cuaddr in record.calendarUserAddresses:
Modified: CalendarServer/trunk/twistedcaldav/directory/xmlaccountsparser.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/xmlaccountsparser.py 2006-12-08 23:29:47 UTC (rev 774)
+++ CalendarServer/trunk/twistedcaldav/directory/xmlaccountsparser.py 2006-12-08 23:34:10 UTC (rev 775)
@@ -83,6 +83,13 @@
if node.hasAttribute(ATTRIBUTE_REALM):
self.realm = node.getAttribute(ATTRIBUTE_REALM)
+ def updateMembership(group):
+ # Update group membership
+ for recordType, shortName in group.members:
+ item = self.items[recordType].get(shortName, None)
+ if item is not None:
+ item.groups.add(group.uid)
+
for child in node._get_childNodes():
if child._get_localName() in (ELEMENT_USER, ELEMENT_GROUP, ELEMENT_RESOURCE):
if child.hasAttribute(ATTRIBUTE_REPEAT):
@@ -102,19 +109,10 @@
for i in xrange(1, repeat+1):
newprincipal = principal.repeat(i)
self.items[recordType][newprincipal.uid] = newprincipal
- if recordType == "group":
- self._updateMembership(newprincipal)
+ updateMembership(newprincipal)
else:
self.items[recordType][principal.uid] = principal
- if recordType == "group":
- self._updateMembership(principal)
-
- def _updateMembership(self, group):
- # Update group membership
- for recordType, shortName in group.members:
- item = self.items[recordType].get(shortName, None)
- if item is not None:
- item.groups.add(group.uid)
+ updateMembership(principal)
class XMLAccountRecord (object):
"""
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061208/cf42ba10/attachment.html
More information about the calendarserver-changes
mailing list