diff -r 6c8eccb1b695 -r 9f82f81bf13d web/views/forms.py --- a/web/views/forms.py Thu Feb 18 14:30:23 2010 +0100 +++ b/web/views/forms.py Tue Feb 23 17:32:31 2010 +0100 @@ -58,54 +58,20 @@ """ __regid__ = 'base' - internal_fields = ('__errorurl',) + NAV_FORM_PARAMETERS # attributes overrideable by subclasses or through __init__ needs_js = ('cubicweb.ajax.js', 'cubicweb.edition.js',) needs_css = ('cubicweb.form.css',) - domid = 'form' action = None onsubmit = "return freezeFormButtons('%(domid)s');" cssclass = None cssstyle = None cwtarget = None redirect_path = None - copy_nav_params = False form_buttons = None form_renderer_id = 'default' fieldsets_in_order = None - def __init__(self, req, rset=None, row=None, col=None, - submitmsg=None, mainform=True, - **kwargs): - super(FieldsForm, self).__init__(req, rset=rset, row=row, col=col) - self.fields = list(self.__class__._fields_) - for key, val in kwargs.items(): - if key in NAV_FORM_PARAMETERS: - self.add_hidden(key, val) - elif hasattr(self.__class__, key) and not key[0] == '_': - setattr(self, key, val) - else: - self.cw_extra_kwargs[key] = val - # skip other parameters, usually given for selection - # (else write a custom class to handle them) - if mainform: - self.add_hidden('__errorurl', self.session_key()) - self.add_hidden('__domid', self.domid) - self.restore_previous_post(self.session_key()) - - # XXX why do we need two different variables (mainform and copy_nav_params ?) - if self.copy_nav_params: - for param in NAV_FORM_PARAMETERS: - if not param in kwargs: - value = req.form.get(param) - if value: - self.add_hidden(param, value) - if submitmsg is not None: - self.add_hidden('__message', submitmsg) - if 'domid' in kwargs:# session key changed - self.restore_previous_post(self.session_key()) - @property def needs_multipart(self): """true if the form needs enctype=multipart/form-data"""