[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/ Add support for detecting portal_calendar and portal_uidhandler with tests

Charlie Clark charlie at begeistert.org
Tue Sep 28 13:30:23 EDT 2010


Log message for revision 117022:
  Add support for detecting portal_calendar and portal_uidhandler with tests

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_ursa.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/ursa.py

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_ursa.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_ursa.py	2010-09-28 17:29:05 UTC (rev 117021)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/tests/test_ursa.py	2010-09-28 17:30:23 UTC (rev 117022)
@@ -105,6 +105,34 @@
         tool = view.context.portal_workflow = DummyWorkflowTool()
         self.failUnless(view.wtool is tool)
 
+    def test_uidtool(self):
+        view = self._makeOne()
+        tool = view.context.portal_uidhandler = DummyTool()
+        self.assertTrue(view.uidtool is tool)
+
+    def test_uidtool_not_installed(self):
+        view = self._makeOne()
+        self.assertFalse(view.uidtool_installed)
+
+    def test_uidtool_installed(self):
+        view = self._makeOne()
+        view.context.portal_uidhandler = DummyTool()
+        self.assertTrue(view.uidtool_installed)
+
+    def test_caltool(self):
+        view = self._makeOne()
+        tool = view.context.portal_calendar = DummyTool()
+        self.assertTrue(view.caltool is tool)
+
+    def test_caltool_not_installed(self):
+        view = self._makeOne()
+        self.assertFalse(view.caltool_installed)
+
+    def test_caltool_installed(self):
+        view = self._makeOne()
+        view.context.portal_calendar = DummyTool()
+        self.assertTrue(view.caltool_installed)
+
     def test_portal_object(self):
         view = self._makeOne()
         tool = view.context.portal_url = DummyURLTool()
@@ -406,6 +434,10 @@
         if key == 'review_state':
             return self.review_state
 
+class DummyTool(object):
+    
+    pass
+
 class DummyUser:
     pass
 

Modified: Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/ursa.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/ursa.py	2010-09-28 17:29:05 UTC (rev 117021)
+++ Products.CMFDefault/trunk/Products/CMFDefault/browser/skins/ursa.py	2010-09-28 17:30:23 UTC (rev 117022)
@@ -13,6 +13,7 @@
 """
 """
 
+from Products.CMFCore.utils import getToolByName
 from Products.CMFDefault.utils import Message as _
 from Products.CMFDefault.utils import decode
 from Products.CMFDefault.browser.utils import ViewBase
@@ -58,9 +59,29 @@
     @memoize
     def wtool(self):
         return self._getTool('portal_workflow')
+        
+    @property
+    @memoize
+    def caltool(self):
+        return getToolByName(self.context, 'portal_calendar', None)
+        
+    @property
+    @memoize
+    def caltool_installed(self):
+        return self.caltool is not None
+        
+    @property
+    @memoize
+    def uidtool(self):
+        return getToolByName(self.context, 'portal_uidhandler', None)
 
     @property
     @memoize
+    def uidtool_installed(self):
+        return self.uidtool is not None
+
+    @property
+    @memoize
     def portal_object(self):
         return self.utool.getPortalObject()
 



More information about the checkins mailing list