[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ - fixed editing single properties

Yvo Schubbe cvs-admin at zope.org
Thu Aug 30 10:14:09 UTC 2012


Log message for revision 127622:
  - fixed editing single properties

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
  U   Products.CMFDefault/trunk/Products/CMFDefault/PropertiesTool.py
  U   Products.CMFDefault/trunk/Products/CMFDefault/tests/test_PropertiesTool.py

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt	2012-08-30 07:48:56 UTC (rev 127621)
+++ Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt	2012-08-30 10:14:05 UTC (rev 127622)
@@ -4,6 +4,8 @@
 2.3.0 (unreleased)
 ------------------
 
+- PropertiesTool: Fixed editing single properties.
+
 - browser views: Fixed zope.formlib 4.1 compatibility.
 
 - Add dependency on zope.app.locales.

Modified: Products.CMFDefault/trunk/Products/CMFDefault/PropertiesTool.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/PropertiesTool.py	2012-08-30 07:48:56 UTC (rev 127621)
+++ Products.CMFDefault/trunk/Products/CMFDefault/PropertiesTool.py	2012-08-30 10:14:05 UTC (rev 127622)
@@ -59,7 +59,8 @@
         '''Change portal settings'''
         site = getUtility(ISiteRoot)
         site.manage_changeProperties(**props)
-        getUtility(IMailHost).smtp_host = props['smtp_server']
+        if 'smtp_server' in props:
+            getUtility(IMailHost).smtp_host = props['smtp_server']
         if hasattr(self, 'propertysheets'):
             ps = self.propertysheets
             if hasattr(ps, 'props'):

Modified: Products.CMFDefault/trunk/Products/CMFDefault/tests/test_PropertiesTool.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/tests/test_PropertiesTool.py	2012-08-30 07:48:56 UTC (rev 127621)
+++ Products.CMFDefault/trunk/Products/CMFDefault/tests/test_PropertiesTool.py	2012-08-30 10:14:05 UTC (rev 127622)
@@ -104,7 +104,39 @@
         self.assertEqual(site_prop('default_charset'), 'iso-8859-1')
         self.assertEqual(site_prop('enable_permalink'), True)
 
+    def test_editProperties_single_value(self):
+        from Products.CMFCore.interfaces import IPropertiesTool
 
+        tool = getUtility(IPropertiesTool)
+        site_prop = self.site.getProperty
+
+        props = {'description': 'Test MailHost Description'}
+        tool.editProperties(props)
+
+        self.assertEqual(getUtility(IMailHost).smtp_host, 'localhost')
+        self.assertEqual(site_prop('email_from_name'), '')
+        self.assertEqual(site_prop('email_from_address'), '')
+        self.assertEqual(site_prop('description'), 'Test MailHost Description')
+        self.assertEqual(site_prop('title'), '')
+        self.assertEqual(site_prop('validate_email'), False)
+        self.assertEqual(site_prop('email_charset'), '')
+        self.assertEqual(site_prop('default_charset'), '')
+        self.assertEqual(site_prop('enable_permalink'), False)
+
+        props = {'smtp_server': 'mail.example.com'}
+        tool.editProperties(props)
+
+        self.assertEqual(getUtility(IMailHost).smtp_host, 'mail.example.com')
+        self.assertEqual(site_prop('email_from_name'), '')
+        self.assertEqual(site_prop('email_from_address'), '')
+        self.assertEqual(site_prop('description'), 'Test MailHost Description')
+        self.assertEqual(site_prop('title'), '')
+        self.assertEqual(site_prop('validate_email'), False)
+        self.assertEqual(site_prop('email_charset'), '')
+        self.assertEqual(site_prop('default_charset'), '')
+        self.assertEqual(site_prop('enable_permalink'), False)
+
+
 def test_suite():
     return unittest.TestSuite((
         unittest.makeSuite(PropertiesToolTests),



More information about the checkins mailing list