[Repoze-dev] chameleon.formish and formish i18n
Hi all, what is the preferred form generation tool for repoze.bfg? I tried chameleon.formish, which seems a nice solution. I found the fileupload-widget is broken, attached is a patch to fix it. This is probably the wrong list to ask about i18n support of formish, but since chameleon is involved the key is maybe there. I solved the localization issue of the form labels with the following monkey patch, but I'm not really happy to use monkey patches in general. does anyone know of a better solution? -Tom from formish.forms import Field from zope.i18nmessageid.message import Message from zope.i18n import translate @property def title(self): title = self._orig_title if isinstance(title, Message): lang = getattr(self.form, 'target_language', 'en') return translate(title, target_language=lang) return title Field._orig_title = Field.title Field.title = title @property def description(self): description = self._orig_description if isinstance(description, Message): lang = getattr(self.form, 'target_language', 'en') return translate(description, target_language=lang) return description Field._orig_description = Field.description Field.description = description Index: chameleon.formish/chameleon/formish/templates/zpt/formish/widgets/FileUpload/widget.html === --- chameleon.formish/chameleon/formish/templates/zpt/formish/widgets/FileUpload/widget.html (Revision 7981) +++ chameleon.formish/chameleon/formish/templates/zpt/formish/widgets/FileUpload/widget.html (Arbeitskopie) @@ -1,19 +1,17 @@ -div class=preview - tal:define=star ('*' in field.name); +tal:var define=star ('*' in field.name); value_name (not star) and field.value['name'][0] or ''; value_default (not star) and field.value['default'][0] or ''; - mimetype (not star) and field.value['mimetype'][0] or ''; - mimetype mimetype or ''; - + mimetype (not star) and field.value['mimetype'][0] or ''; +div class=preview div tal:condition=field.widget.show_file_preview class=icon ${mimetype.replace('/','_')} -img tal:condition=field.widget.show_image_thumbnail and value name != '' and mimetype.startswith('image') +img tal:condition=field.widget.show_image_thumbnail and value_name != '' and mimetype.startswith('image') src=${field.widget.urlfactory(value_name)}?size=20x20/ -img tal:condition=not (field.widget.show_image_thumbnail and value name != '' and mimetype.startswith('image')) and field.widget_thumbnail_default is not None - src=${field.widget.image_thumbnail_default/ + img tal:condition=not (field.widget.show_image_thumbnail and value_name != '' and mimetype.startswith('image')) and field.widget.image_thumbnail_default is not None +src=${field.widget.image_thumbnail_default}/ /div a tal:condition=field.widget.show_download_link - href=${field.widget.urlfactory(value_name)download/a + href=${field.widget.urlfactory(value_name)}download/a /div input id=${field.cssname}-remove type=checkbox name=${field.name}.remove value=true / @@ -21,3 +19,4 @@ input id=${field.cssname}-mimetype type=hidden name=${field.name}.mimetype value=${mimetype} / input id=${field.cssname}-default type=hidden name=${field.name}.default value=${value_default} / input id=${field.cssname} type=file name=${field.name}.file / +/tal:var ___ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev
Re: [Repoze-dev] chameleon.formish and formish i18n
Hi Tom, On Mon, Jan 18, 2010 at 6:17 AM, Tom Gross itconse...@gmail.com wrote: Hi all, what is the preferred form generation tool for repoze.bfg? I tried chameleon.formish, which seems a nice solution. I found the fileupload-widget is broken, attached is a patch to fix it. This is probably the wrong list to ask about i18n support of formish, but since chameleon is involved the key is maybe there. I solved the localization issue of the form labels with the following monkey patch, but I'm not really happy to use monkey patches in general. does anyone know of a better solution? I wouldn't argue that it's better ... I've been using formencode which has i18n support, formencode.validators is easy to work with, the package has minimal html generation (formencode.htmlfill) which was a design decision. http://formencode.org/i18n.html http://formencode.org/Design.html Best, Darryl -Tom from formish.forms import Field from zope.i18nmessageid.message import Message from zope.i18n import translate @property def title(self): title = self._orig_title if isinstance(title, Message): lang = getattr(self.form, 'target_language', 'en') return translate(title, target_language=lang) return title Field._orig_title = Field.title Field.title = title @property def description(self): description = self._orig_description if isinstance(description, Message): lang = getattr(self.form, 'target_language', 'en') return translate(description, target_language=lang) return description Field._orig_description = Field.description Field.description = description ___ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev ___ Repoze-dev mailing list Repoze-dev@lists.repoze.org http://lists.repoze.org/listinfo/repoze-dev