Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:rkwasny:erp5
erp5-Formulator
Formulator-1.6.1-editable-xml.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File Formulator-1.6.1-editable-xml.patch of Package erp5-Formulator
diff -ru erp5-Formulator-1.6.1/Formulator/Field.py erp5-Formulator-1.6.1.final/Formulator/Field.py --- erp5-Formulator-1.6.1/Formulator/Field.py 2004-01-21 17:06:17.000000000 +0100 +++ erp5-Formulator-1.6.1.final/Formulator/Field.py 2004-01-22 16:22:21.000000000 +0100 @@ -177,12 +177,14 @@ return getattr(self.validator, name) else: return "Unknown error: %s" % name - + security.declarePrivate('_render_helper') def _render_helper(self, key, value, REQUEST): value = self._get_default(key, value, REQUEST) if self.get_value('hidden'): return self.widget.render_hidden(self, key, value, REQUEST) + elif (not self.get_value('editable')): + return self.widget.render_view(self, value) else: return self.widget.render(self, key, value, REQUEST) diff -ru erp5-Formulator-1.6.1/Formulator/Form.py erp5-Formulator-1.6.1.final/Formulator/Form.py --- erp5-Formulator-1.6.1/Formulator/Form.py 2004-01-21 17:06:17.000000000 +0100 +++ erp5-Formulator-1.6.1.final/Formulator/Form.py 2004-01-22 16:22:21.000000000 +0100 @@ -20,6 +20,8 @@ from FormToXML import formToXML from XMLToForm import XMLToForm +from ComputedAttribute import ComputedAttribute + # FIXME: manage_renameObject hack needs these imports from Acquisition import aq_base from App.Dialogs import MessageDialog @@ -469,16 +471,15 @@ """change form according to xml""" XMLToForm(xml, self, override_encoding) - security.declareProtected('Access contents information', - 'management_page_charset') - def management_page_charset(self): - """manage_before_header calls this to determine management - screen encodings. - """ + def _management_page_charset(self): if not self.unicode_mode: return self.stored_encoding else: return 'UTF-8' + + security.declareProtected('Access contents information', + 'management_page_charset') + management_page_charset = ComputedAttribute(_management_page_charset) security.declareProtected('View', 'set_encoding_header') def set_encoding_header(self): diff -ru erp5-Formulator-1.6.1/Formulator/FormToXML.py erp5-Formulator-1.6.1.final/Formulator/FormToXML.py --- erp5-Formulator-1.6.1/Formulator/FormToXML.py 2004-01-21 17:06:17.000000000 +0100 +++ erp5-Formulator-1.6.1.final/Formulator/FormToXML.py 2004-01-22 16:29:27.000000000 +0100 @@ -41,9 +41,16 @@ for key, value in items: if value is None: continue - if type(value) == type(1.1): + if value==True: # XXX Patch + value = 1 # XXX Patch + if value==False: # XXX Patch + value = 0 # XXX Patch + if callable(value): # XXX Patch + write(' <%s type="method">%s</%s>\n' % # XXX Patch + (key, escape(str(value.method_name)), key)) # XXX Patch + elif type(value) == type(1.1): write(' <%s type="float">%s</%s>\n' % (key, escape(str(value)), key)) - if type(value) == type(1): + elif type(value) == type(1): write(' <%s type="int">%s</%s>\n' % (key, escape(str(value)), key)) elif type(value) == type([]): write(' <%s type="list">%s</%s>\n' % (key, escape(str(value)), key)) diff -ru erp5-Formulator-1.6.1/Formulator/Validator.py erp5-Formulator-1.6.1.final/Formulator/Validator.py --- erp5-Formulator-1.6.1/Formulator/Validator.py 2004-01-21 17:06:17.000000000 +0100 +++ erp5-Formulator-1.6.1.final/Formulator/Validator.py 2004-01-22 16:22:21.000000000 +0100 @@ -10,7 +10,7 @@ class ValidatorBase: """Even more minimalistic base class for validators. """ - property_names = ['enabled'] + property_names = ['enabled','editable'] message_names = [] @@ -24,10 +24,18 @@ "get a validation error as a field suddenly got enabled that " "wasn't there when the form was drawn."), default=1) - + + editable = fields.CheckBoxField('editable', + title="Editable", + description=( + "If a field is not editable, then the user can only see" + "the value. This allows to drawn very different forms depending" + "on use permissions."), + default=1) + def raise_error(self, error_key, field): raise ValidationError(error_key, field) - + def validate(self, field, key, REQUEST): pass # override in subclass diff -ru erp5-Formulator-1.6.1/Formulator/XMLToForm.py erp5-Formulator-1.6.1.final/Formulator/XMLToForm.py --- erp5-Formulator-1.6.1/Formulator/XMLToForm.py 2004-01-21 17:06:17.000000000 +0100 +++ erp5-Formulator-1.6.1.final/Formulator/XMLToForm.py 2004-01-22 16:22:21.000000000 +0100 @@ -1,5 +1,6 @@ import XMLObjects from Products.Formulator.TALESField import TALESMethod +from Products.Formulator.MethodField import Method def XMLToForm(s, form, override_encoding=None): """Takes an xml string and changes formulator form accordingly. @@ -80,6 +81,8 @@ field.values[name] = float(value.text) elif value.attributes.get('type') == 'int': field.values[name] = int(value.text) + elif value.attributes.get('type') == 'method': # XXX Patch + field.values[name] = Method(value.text) # XXX Patch elif value.attributes.get('type') == 'list': # XXX bare eval here (this may be a security leak ?) field.values[name] = eval(
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor