Skip to content

Commit

Permalink
[fc] Repository: Products.Archetypes
Browse files Browse the repository at this point in the history
Branch: refs/heads/1.10.x
Date: 2016-08-11T12:27:40-06:00
Author: Sean Upton (seanupton) <sdupton@gmail.com>
Commit: plone/Products.Archetypes@2ea2aa4

DateWidget, DatetimeWidget (pick-a-date) now able to clear previous
values; fixes inability to clear an already set date or datetime in
Archetypes fields; backport of already merged fix for 1.11.1.

Files changed:
M CHANGES.rst
M Products/Archetypes/Widget.py
M Products/Archetypes/tests/test_pawidgets.py
Repository: Products.Archetypes
Branch: refs/heads/1.10.x
Date: 2016-08-12T01:34:16+02:00
Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org>
Commit: plone/Products.Archetypes@7171122

Merge pull request #61 from seanupton/1.10.x

DateWidget, DatetimeWidget (pick-a-date) now able to clear previous

Files changed:
M CHANGES.rst
M Products/Archetypes/Widget.py
M Products/Archetypes/tests/test_pawidgets.py
  • Loading branch information
mauritsvanrees committed Aug 11, 2016
1 parent cd503c6 commit 823fea1
Showing 1 changed file with 165 additions and 62 deletions.
227 changes: 165 additions & 62 deletions last_commit.txt
Original file line number Diff line number Diff line change
@@ -1,97 +1,200 @@
Repository: Products.PortalTransforms
Repository: Products.Archetypes


Branch: refs/heads/master
Date: 2016-07-22T10:46:19-06:00
Branch: refs/heads/1.10.x
Date: 2016-08-11T12:27:40-06:00
Author: Sean Upton (seanupton) <sdupton@gmail.com>
Commit: https://github.com/plone/Products.PortalTransforms/commit/555076af97cabf783d87e7824a38f46d2491ef37
Commit: https://github.com/plone/Products.Archetypes/commit/2ea2aa46e5496d01b2f331a697e8835e950b2e6e

Fix rest heading level regression introduced in 2.2.0, levels in body
headings now match what was previously output by old Zope2
reStructuredText wrapper, which means Products.Archetypes tests for
transforms will pass again.
DateWidget, DatetimeWidget (pick-a-date) now able to clear previous
values; fixes inability to clear an already set date or datetime in
Archetypes fields; backport of already merged fix for 1.11.1.

Files changed:
M CHANGES.rst
M Products/PortalTransforms/transforms/rest.py
M Products/Archetypes/Widget.py
M Products/Archetypes/tests/test_pawidgets.py

diff --git a/CHANGES.rst b/CHANGES.rst
index 0495fc8..ceafaee 100644
index 7aa4424..f8f20a4 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -10,6 +10,12 @@ New:
@@ -14,7 +14,9 @@ New features:

Fixes:
Bug fixes:

+- Fix regression in rest transform vs. old Zope2 reStructuredText wrapper:
+ headings now proper level in settings for body, which was necessary to
+ preserve levels assumed in downstream use of this transform
+ (e.g. Archetypes). Behavior now matches that of previous wrapper.
-- *add item here*
+- DateWidget, DatetimeWidget now able to clear previous values; backported
+ fix from 1.11.1.
+ [seanupton]


1.10.15 (2016-05-15)
diff --git a/Products/Archetypes/Widget.py b/Products/Archetypes/Widget.py
index 1dba93f..116d1db 100644
--- a/Products/Archetypes/Widget.py
+++ b/Products/Archetypes/Widget.py
@@ -1023,6 +1023,10 @@ def process_form(self, instance, field, form, empty_marker=None):

value = value.split('-')

+ if value[0] == '':
+ # empty value, clear any previous value
+ return None, {}
+
- *add item here*


diff --git a/Products/PortalTransforms/transforms/rest.py b/Products/PortalTransforms/transforms/rest.py
index ed28b23..9610552 100644
--- a/Products/PortalTransforms/transforms/rest.py
+++ b/Products/PortalTransforms/transforms/rest.py
@@ -100,7 +100,7 @@ def convert(self, orig, data, **kwargs):
'raw_enabled': 0,
'language_code': language,
# starting level for <H> elements:
- 'initial_header_level': initial_header_level,
+ 'initial_header_level': initial_header_level + 1,
# set the reporting level to something sane:
'report_level': report_level,
# don't break if we get errors:
try:
value = DateTime(datetime(*map(int, value)))
except:
@@ -1102,8 +1106,11 @@ def process_form(self, instance, field, form, empty_marker=None):
return empty_marker

tmp = value.split(' ')
+
if not tmp[0]:
- return empty_marker
+ # empty: clear, not preserve, any previous value
+ return None, {}
+
value = tmp[0].split('-')
if len(tmp) == 2 and ':' in tmp[1]:
value += tmp[1].split(':')
diff --git a/Products/Archetypes/tests/test_pawidgets.py b/Products/Archetypes/tests/test_pawidgets.py
index 2421358..a8a85e6 100644
--- a/Products/Archetypes/tests/test_pawidgets.py
+++ b/Products/Archetypes/tests/test_pawidgets.py
@@ -124,6 +124,16 @@ def test_process_form(self):
(datetime(2011, 11, 22))
)

+ def test_process_form_empty_existing(self):
+ form = {
+ 'fieldname': ''
+ }
+ self.assertEqual(
+ self.widget.process_form(
+ self.context, self.field, form)[0],
+ None
+ )
+

class DatetimeWidgetTests(unittest.TestCase):

@@ -188,6 +198,16 @@ def test_process_form(self):
(datetime(2011, 11, 22, 13, 30))
)

+ def test_process_form_empty_existing(self):
+ form = {
+ 'fieldname': ''
+ }
+ self.assertEqual(
+ self.widget.process_form(
+ self.context, self.field, form)[0],
+ None
+ )
+

class SelectWidgetTests(unittest.TestCase):



Repository: Products.PortalTransforms
Repository: Products.Archetypes


Branch: refs/heads/master
Date: 2016-08-11T22:48:26+02:00
Branch: refs/heads/1.10.x
Date: 2016-08-12T01:34:16+02:00
Author: Maurits van Rees (mauritsvanrees) <maurits@vanrees.org>
Commit: https://github.com/plone/Products.PortalTransforms/commit/14a4e26d4389addc6157a047b7d63a34bb73f906
Commit: https://github.com/plone/Products.Archetypes/commit/71711223ac415084f9642d57a16fff7cf623d82c

Merge pull request #15 from seanupton/master
Merge pull request #61 from seanupton/1.10.x

Fix rest heading level regression introduced in 2.2.0
DateWidget, DatetimeWidget (pick-a-date) now able to clear previous

Files changed:
M CHANGES.rst
M Products/PortalTransforms/transforms/rest.py
M Products/Archetypes/Widget.py
M Products/Archetypes/tests/test_pawidgets.py

diff --git a/CHANGES.rst b/CHANGES.rst
index 0495fc8..ceafaee 100644
index 7aa4424..f8f20a4 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -10,6 +10,12 @@ New:
@@ -14,7 +14,9 @@ New features:

Fixes:
Bug fixes:

+- Fix regression in rest transform vs. old Zope2 reStructuredText wrapper:
+ headings now proper level in settings for body, which was necessary to
+ preserve levels assumed in downstream use of this transform
+ (e.g. Archetypes). Behavior now matches that of previous wrapper.
-- *add item here*
+- DateWidget, DatetimeWidget now able to clear previous values; backported
+ fix from 1.11.1.
+ [seanupton]


1.10.15 (2016-05-15)
diff --git a/Products/Archetypes/Widget.py b/Products/Archetypes/Widget.py
index 1dba93f..116d1db 100644
--- a/Products/Archetypes/Widget.py
+++ b/Products/Archetypes/Widget.py
@@ -1023,6 +1023,10 @@ def process_form(self, instance, field, form, empty_marker=None):

value = value.split('-')

+ if value[0] == '':
+ # empty value, clear any previous value
+ return None, {}
+
- *add item here*


diff --git a/Products/PortalTransforms/transforms/rest.py b/Products/PortalTransforms/transforms/rest.py
index ed28b23..9610552 100644
--- a/Products/PortalTransforms/transforms/rest.py
+++ b/Products/PortalTransforms/transforms/rest.py
@@ -100,7 +100,7 @@ def convert(self, orig, data, **kwargs):
'raw_enabled': 0,
'language_code': language,
# starting level for <H> elements:
- 'initial_header_level': initial_header_level,
+ 'initial_header_level': initial_header_level + 1,
# set the reporting level to something sane:
'report_level': report_level,
# don't break if we get errors:
try:
value = DateTime(datetime(*map(int, value)))
except:
@@ -1102,8 +1106,11 @@ def process_form(self, instance, field, form, empty_marker=None):
return empty_marker

tmp = value.split(' ')
+
if not tmp[0]:
- return empty_marker
+ # empty: clear, not preserve, any previous value
+ return None, {}
+
value = tmp[0].split('-')
if len(tmp) == 2 and ':' in tmp[1]:
value += tmp[1].split(':')
diff --git a/Products/Archetypes/tests/test_pawidgets.py b/Products/Archetypes/tests/test_pawidgets.py
index 2421358..a8a85e6 100644
--- a/Products/Archetypes/tests/test_pawidgets.py
+++ b/Products/Archetypes/tests/test_pawidgets.py
@@ -124,6 +124,16 @@ def test_process_form(self):
(datetime(2011, 11, 22))
)

+ def test_process_form_empty_existing(self):
+ form = {
+ 'fieldname': ''
+ }
+ self.assertEqual(
+ self.widget.process_form(
+ self.context, self.field, form)[0],
+ None
+ )
+

class DatetimeWidgetTests(unittest.TestCase):

@@ -188,6 +198,16 @@ def test_process_form(self):
(datetime(2011, 11, 22, 13, 30))
)

+ def test_process_form_empty_existing(self):
+ form = {
+ 'fieldname': ''
+ }
+ self.assertEqual(
+ self.widget.process_form(
+ self.context, self.field, form)[0],
+ None
+ )
+

class SelectWidgetTests(unittest.TestCase):



0 comments on commit 823fea1

Please sign in to comment.