From 31cd83a91dca98b98438308cd9e717d12c9875f5 Mon Sep 17 00:00:00 2001 From: Gauthier Bastien Date: Thu, 13 Sep 2018 13:56:49 +0200 Subject: [PATCH] Display column description if provided in schema `field.description`. --- CHANGES.rst | 4 ++-- src/collective/z3cform/datagridfield/browser.rst | 6 ++++++ src/collective/z3cform/datagridfield/datagridfield.py | 1 + .../z3cform/datagridfield/datagridfield_input.pt | 1 + .../z3cform/datagridfield/demo/editform_simple.py | 7 ++++++- 5 files changed, 16 insertions(+), 3 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index fb79718d..f8956fc5 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,8 +4,8 @@ Changelog 1.3.1 (unreleased) ------------------ -- Nothing changed yet. - +- Display column description if provided in schema `field.description`. + [gbastien, bleybaert] 1.3.0.post1 (2018-07-16) ------------------------ diff --git a/src/collective/z3cform/datagridfield/browser.rst b/src/collective/z3cform/datagridfield/browser.rst index c5099081..333dd701 100644 --- a/src/collective/z3cform/datagridfield/browser.rst +++ b/src/collective/z3cform/datagridfield/browser.rst @@ -60,6 +60,12 @@ Make sure the delete row button is present (x4) >>> browser.contents.find('') != -1 True +Make sure the description is displayed in the 'personCount' column header + + >>> browser.contents.find('Persons\n \n Enter number of persons (min 0 and max 15)') != -1 + True + + Make sure resources from our package are not using absolute URLs. If absolute URLs are present, then the resources won't load on anything except where Plone/Zope are the root of the domain. diff --git a/src/collective/z3cform/datagridfield/datagridfield.py b/src/collective/z3cform/datagridfield/datagridfield.py index ae64510e..b582f512 100644 --- a/src/collective/z3cform/datagridfield/datagridfield.py +++ b/src/collective/z3cform/datagridfield/datagridfield.py @@ -97,6 +97,7 @@ def field(self, value): col = { 'name': name, 'label': field.title, + 'description': field.description, 'required': field.required, 'mode': fieldmodes.get(name, None), } diff --git a/src/collective/z3cform/datagridfield/datagridfield_input.pt b/src/collective/z3cform/datagridfield/datagridfield_input.pt index 115ff211..c18c102c 100644 --- a/src/collective/z3cform/datagridfield/datagridfield_input.pt +++ b/src/collective/z3cform/datagridfield/datagridfield_input.pt @@ -17,6 +17,7 @@ tal:content="column/label">title   + Description diff --git a/src/collective/z3cform/datagridfield/demo/editform_simple.py b/src/collective/z3cform/datagridfield/demo/editform_simple.py index a470daf9..cd78b329 100644 --- a/src/collective/z3cform/datagridfield/demo/editform_simple.py +++ b/src/collective/z3cform/datagridfield/demo/editform_simple.py @@ -62,7 +62,12 @@ class IAddress(Interface): title=u'Don\'t change', readonly=True, required=True) # A sample integer field - personCount = schema.Int(title=u'Persons', required=False, min=0, max=15) + personCount = schema.Int( + title=u'Persons', + description=u'Enter number of persons (min 0 and max 15)', + required=False, + min=0, + max=15) # A sample datetime field if widget_datetime is not None: