From 6637aaae9a670abcfd120d001103abc47b2f7518 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20G=C3=B3rny?= <bartek@gorny.edu.pl> Date: Wed, 11 Oct 2006 11:09:06 +0000 Subject: [PATCH] InputButtonField for Formulator git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@10659 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5Form/InputButtonField.py | 81 ++++++++++++++++++++++++++++ product/ERP5Form/__init__.py | 4 +- 2 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 product/ERP5Form/InputButtonField.py diff --git a/product/ERP5Form/InputButtonField.py b/product/ERP5Form/InputButtonField.py new file mode 100644 index 0000000000..db7ae0a75a --- /dev/null +++ b/product/ERP5Form/InputButtonField.py @@ -0,0 +1,81 @@ +############################################################################## +# +# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved. +# Jean-Paul Smets-Solanes <jp@nexedi.com> +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## + +from Products.Formulator import Widget, Validator +from Products.Formulator.Field import ZMIField +from Products.Formulator.DummyField import fields + +class InputButtonWidget(Widget.Widget): + """ + InputButton widget + + Displays an input button. + + To hide the button label, apply + """ + property_names = Widget.Widget.property_names + ['name', 'extra'] + + default = fields.StringField('default', + title='Button text', + description=( + "You can place text here that will be used as the value (button text)"), + default="Submit", + required=1) + + name = fields.StringField('name', + title='Name', + description=( + "The Name of the submit button."), + default='', + required=0) + + css_class = fields.StringField('css_class', + title='CSS class', + description=( + "The CSS class of the field. This can be used to style your " + "formulator fields using cascading style sheets. Not required."), + default="hiddenLabel", + required=0) + + def render(self, field, key, value, REQUEST): + """Render input button. + """ + return Widget.render_element("input", + type="submit", + name=field.get_value('name'), + css_class=field.get_value('css_class'), + value=field.get_value('default'), + extra=field.get_value('extra')) + +InputButtonWidgetInstance = InputButtonWidget() + +class InputButtonField(ZMIField): + meta_type = "InputButtonField" + + widget = InputButtonWidgetInstance + validator = Validator.SuppressValidatorInstance diff --git a/product/ERP5Form/__init__.py b/product/ERP5Form/__init__.py index 7f355f2455..addae998c1 100644 --- a/product/ERP5Form/__init__.py +++ b/product/ERP5Form/__init__.py @@ -43,7 +43,7 @@ document_classes = updateGlobals( this_module, globals(), import Form, FSForm, ListBox, MatrixBox, SelectionTool import ZGDChart, PDFTemplate, Report, PDFForm, ParallelListField import PlanningBox, POSBox, FormBox, EditorField, ProxyField -import RelationField, ImageField, MultiRelationField, MultiLinkField +import RelationField, ImageField, MultiRelationField, MultiLinkField, InputButtonField import ZPyChart import PreferenceTool @@ -140,6 +140,8 @@ def initialize( context ): 'www/LinkField.gif') FieldRegistry.registerField(MultiLinkField.MultiLinkField, 'www/LinkField.gif') + FieldRegistry.registerField(InputButtonField.InputButtonField, + 'www/StringField.gif') # some helper fields FieldRegistry.registerField(HelperFields.ListTextAreaField) -- 2.30.9