assert 'page' in settings, "You should specify page"
assert 'object' in settings, "You should specify object"
- # Retrieve object fields from metadata
- metadata = settings['page'].get_metadata()
- md_o = metadata.details_by_object(settings['object'])
- self.columns = md_o['column']
+ if 'object' in settings:
+ self.object = settings['object']
+
+ if 'fields' in settings:
+ self.fields = []
+ for field in settings['fields']:
+ c = {
+ 'name' : field.get('name', ''),
+ 'field' : field.get('field', ''),
+ 'type' : field.get('type', 'input'),
+ 'description' : field.get('description', ''),
+ 'validate_rx' : field.get('validate_rx', ''),
+ 'validate_err' : field.get('validate_err', ''),
+ 'old_value' : 'POST',
+ }
+ self.fields.append(c)
+ else:
+ # Attempt to retrieve object fields from metadata
+ metadata = settings['page'].get_metadata()
+ md_o = metadata.details_by_object(settings['object'])
+ self.fields = md_o['column']
def requirements (self):
- return { 'js_files' : ['js/form.js', 'js/jquery.validate.js', ],
+ # Some should be included by default by manifold
+ return { 'js_files' : ['js/manifold.js', 'js/spin.presets.js', 'js/spin.min.js', 'js/jquery.spin.js',
+ 'js/form.js', 'js/jquery.validate.js', ],
'css_files' : ['css/form.css']
}
+ def export_json_settings(self):
+ # We need initialization, even though we are not associated with a query
+ return True
def template_env (self, request):
env={}
env.update(self.__dict__)
- #env['columns']=self.columns
return env
def template_file (self):
return "form.html"
- def json_settings_list (self): return ['plugin_uuid']
-
- def get_validation_js(self):
- # XXX We need to avoid sending the same query twice !"
- # somehow store something into the dom, to perform an update afterwards
- # XXX This should be moved to a template
- # XXX We also need some storage into the wizard to be displayed later
- return "alert('validation'); return true;"
+ def json_settings_list (self): return ['plugin_uuid', 'object', 'fields']