--- a/server/migractions.py Wed Nov 18 09:16:38 2009 +0100
+++ b/server/migractions.py Thu Nov 19 12:58:57 2009 +0100
@@ -104,9 +104,14 @@
if migrscript.endswith('.sql'):
if self.execscript_confirm(migrscript):
sqlexec(open(migrscript).read(), self.session.system_sql)
- else:
+ elif migrscript.endswith('.py'):
return super(ServerMigrationHelper, self).cmd_process_script(
migrscript, funcname, *args, **kwargs)
+ else:
+ print
+ print ('-> ignoring %s, only .py and .sql scripts are considered' %
+ migrscript)
+ print
self.commit()
except:
self.rollback()
--- a/web/formfields.py Wed Nov 18 09:16:38 2009 +0100
+++ b/web/formfields.py Thu Nov 19 12:58:57 2009 +0100
@@ -81,6 +81,8 @@
role of the entity in the relation (eg 'subject' or 'object')
:fieldset:
optional fieldset to which this field belongs to
+ :order:
+ key used by automatic forms to sort fields
"""
# default widget associated to this class of fields. May be overriden per
@@ -94,7 +96,7 @@
def __init__(self, name=None, id=None, label=None, help=None,
widget=None, required=False, initial=None,
choices=None, sort=True, internationalizable=False,
- eidparam=False, role='subject', fieldset=None):
+ eidparam=False, role='subject', fieldset=None, order=None):
self.name = name
self.id = id or name
self.label = label or name
@@ -108,6 +110,7 @@
self.role = role
self.fieldset = fieldset
self.init_widget(widget)
+ self.order = order
# ordering number for this field instance
self.creation_rank = Field.__creation_rank
Field.__creation_rank += 1
@@ -178,12 +181,7 @@
renderer
"""
widget = self.get_widget(form)
- try:
- return widget.render(form, self, renderer)
- except TypeError:
- warn('[3.3] %s: widget.render now take the renderer as third argument, '
- 'please update implementation' % widget, DeprecationWarning)
- return widget.render(form, self)
+ return widget.render(form, self, renderer)
def vocabulary(self, form):
"""return vocabulary for this field. This method will be called by
--- a/web/views/autoform.py Wed Nov 18 09:16:38 2009 +0100
+++ b/web/views/autoform.py Thu Nov 19 12:58:57 2009 +0100
@@ -180,6 +180,8 @@
except form.FieldNotFound:
# meta attribute such as <attr>_format
continue
+ fnum = len(self.fields)
+ self.fields.sort(key=lambda f: f.order is None and fnum or f.order)
self.maxrelitems = self.req.property_value('navigation.related-limit')
self.force_display = bool(self.req.form.get('__force_display'))