[CalendarServer-changes] [10120] CalendarServer/trunk/twistedcaldav/directory

source_changes at macosforge.org source_changes at macosforge.org
Mon Dec 3 18:01:59 PST 2012


Revision: 10120
          http://trac.calendarserver.org//changeset/10120
Author:   sagen at apple.com
Date:     2012-12-03 18:01:59 -0800 (Mon, 03 Dec 2012)
Log Message:
-----------
Hide delegates that are not enabledForLogin

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py
    CalendarServer/trunk/twistedcaldav/directory/test/accounts.xml
    CalendarServer/trunk/twistedcaldav/directory/test/augments.xml
    CalendarServer/trunk/twistedcaldav/directory/test/proxies.xml
    CalendarServer/trunk/twistedcaldav/directory/test/test_proxyprincipalmembers.py

Modified: CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py	2012-12-03 16:17:17 UTC (rev 10119)
+++ CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py	2012-12-04 02:01:59 UTC (rev 10120)
@@ -374,7 +374,9 @@
         for uid in members:
             p = self.pcollection.principalForUID(uid)
             if p:
-                found.append(p)
+                # Only principals enabledForLogin can be a delegate
+                if p.record.enabledForLogin:
+                    found.append(p)
                 # Make sure any outstanding deletion timer entries for
                 # existing principals are removed
                 yield self._index().refreshPrincipal(uid)

Modified: CalendarServer/trunk/twistedcaldav/directory/test/accounts.xml
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/accounts.xml	2012-12-03 16:17:17 UTC (rev 10119)
+++ CalendarServer/trunk/twistedcaldav/directory/test/accounts.xml	2012-12-04 02:01:59 UTC (rev 10120)
@@ -110,6 +110,20 @@
     <name>佐藤佐藤佐藤</name>
     <email-address>nonascii at example.com</email-address>
   </user>
+  <user>
+    <uid>delegator</uid>
+    <guid>FC465590-E9E9-4746-ACE8-6C756A49FE4D</guid>
+    <password>a</password>
+    <name>Calendar Delegator</name>
+    <email-address>calendardelegator at example.com</email-address>
+  </user>
+  <user>
+    <uid>occasionaldelegate</uid>
+    <guid>EC465590-E9E9-4746-ACE8-6C756A49FE4D</guid>
+    <password>a</password>
+    <name>Occasional Delegate</name>
+    <email-address>occasional at example.com</email-address>
+  </user>
   <user repeat="2">
     <uid>user%02d</uid>
     <guid>user%02d</guid>

Modified: CalendarServer/trunk/twistedcaldav/directory/test/augments.xml
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/augments.xml	2012-12-03 16:17:17 UTC (rev 10119)
+++ CalendarServer/trunk/twistedcaldav/directory/test/augments.xml	2012-12-04 02:01:59 UTC (rev 10120)
@@ -175,4 +175,15 @@
     <enable>true</enable>
     <enable-addressbook>true</enable-addressbook>
   </record>
+  <record>
+    <uid>FC465590-E9E9-4746-ACE8-6C756A49FE4D</uid>
+    <enable>true</enable>
+    <enable-calendar>true</enable-calendar>
+  </record>
+  <record>
+    <uid>EC465590-E9E9-4746-ACE8-6C756A49FE4D</uid>
+    <enable>true</enable>
+    <enable-calendar>true</enable-calendar>
+    <enable-login>true</enable-login>
+  </record>
 </augments>

Modified: CalendarServer/trunk/twistedcaldav/directory/test/proxies.xml
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/proxies.xml	2012-12-03 16:17:17 UTC (rev 10119)
+++ CalendarServer/trunk/twistedcaldav/directory/test/proxies.xml	2012-12-04 02:01:59 UTC (rev 10120)
@@ -59,4 +59,10 @@
       <member>9FF60DAD-0BDE-4508-8C77-15F0CA5C8DD2</member>
     </proxies>
   </record>
+  <record>
+    <guid>FC465590-E9E9-4746-ACE8-6C756A49FE4D</guid>
+    <proxies>
+      <member>EC465590-E9E9-4746-ACE8-6C756A49FE4D</member>
+    </proxies>
+  </record>
 </proxies>

Modified: CalendarServer/trunk/twistedcaldav/directory/test/test_proxyprincipalmembers.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/test_proxyprincipalmembers.py	2012-12-03 16:17:17 UTC (rev 10119)
+++ CalendarServer/trunk/twistedcaldav/directory/test/test_proxyprincipalmembers.py	2012-12-04 02:01:59 UTC (rev 10120)
@@ -439,5 +439,34 @@
         """
         self.assertEquals(
             set((yield calendaruserproxy.ProxyDBService.getAllMembers())),
-            set([u'6423F94A-6B76-4A3A-815B-D52CFD77935D', u'8A985493-EE2C-4665-94CF-4DFEA3A89500', u'9FF60DAD-0BDE-4508-8C77-15F0CA5C8DD2', u'both_coasts', u'left_coast', u'non_calendar_group', u'recursive1_coasts', u'recursive2_coasts'])
+            set([u'6423F94A-6B76-4A3A-815B-D52CFD77935D', u'8A985493-EE2C-4665-94CF-4DFEA3A89500', u'9FF60DAD-0BDE-4508-8C77-15F0CA5C8DD2', u'both_coasts', u'left_coast', u'non_calendar_group', u'recursive1_coasts', u'recursive2_coasts', u'EC465590-E9E9-4746-ACE8-6C756A49FE4D'])
         )
+
+
+    @inlineCallbacks
+    def test_hideDisabledDelegates(self):
+        """
+        Delegates who are not enabledForLogin are "hidden" from the delegate lists
+        """
+
+        record = self.directoryService.recordWithGUID("EC465590-E9E9-4746-ACE8-6C756A49FE4D")
+
+        record.enabledForLogin = True
+        yield self._groupMembersTest(
+            DirectoryService.recordType_users, "delegator", "calendar-proxy-write",
+            ("Occasional Delegate",),
+        )
+
+        # Login disabled -- no longer shown as a delegate
+        record.enabledForLogin = False
+        yield self._groupMembersTest(
+            DirectoryService.recordType_users, "delegator", "calendar-proxy-write",
+            [],
+        )
+
+        # Login re-enabled -- once again a delegate (it wasn't not removed from proxydb)
+        record.enabledForLogin = True
+        yield self._groupMembersTest(
+            DirectoryService.recordType_users, "delegator", "calendar-proxy-write",
+            ("Occasional Delegate",),
+        )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20121203/cf04dfcd/attachment.html>


More information about the calendarserver-changes mailing list