Plugin.__init__(self, **settings)
print "SETTINGS", settings
assert 'page' in settings, "You should specify page"
- assert 'object' in settings or 'fields' in settings, "You should specify object or field list"
+ assert 'object' in settings, "You should specify object"
if 'object' in settings:
- # Retrieve object fields from metadata
- metadata = settings['page'].get_metadata()
- md_o = metadata.details_by_object(settings['object'])
- self.columns = md_o['column']
+ self.object = settings['object']
- elif 'fields' in settings:
- self.columns = []
+ if 'fields' in settings:
+ self.fields = []
for field in settings['fields']:
c = {
'name' : field.get('name', ''),
'validate_err' : field.get('validate_err', ''),
'old_value' : 'POST',
}
- self.columns.append(c)
+ 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):
# 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',
+ 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 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', 'columns']
-
- 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 """
- // Useless since this is now a parameter
- //frm = document.forms['form_%(domid)s'];
-
- // Loop on the fields and test regexp if present
- err = false;
- $.each(options.columns, function(column) {
- if (!frm.elements[column['field']].match(column['validate_rx'])) {
- $('err_%(domid)s_' + column['field']).html(column['validation_err']);
- err = true;
- }
- });
- if (!err) {
- // Issue json query
- }
- """ % self.__dict__
+ def json_settings_list (self): return ['plugin_uuid', 'object', 'fields']