From 2361eb4a84503a7bb517fbbaa867c02459c62bf8 Mon Sep 17 00:00:00 2001 From: mdipierro Date: Fri, 22 Nov 2013 10:25:22 -0600 Subject: [PATCH] fixed issue 1786:Allow formargs to override grid parameters., thanks iiijjjiii --- VERSION | 2 +- gluon/sqlhtml.py | 33 ++++++++++++++++----------------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/VERSION b/VERSION index ebb5cda6..118837e4 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.7.4-stable+timestamp.2013.11.22.10.17.32 +Version 2.7.4-stable+timestamp.2013.11.22.10.24.23 diff --git a/gluon/sqlhtml.py b/gluon/sqlhtml.py index 04f516be..03f4b8e6 100644 --- a/gluon/sqlhtml.py +++ b/gluon/sqlhtml.py @@ -2040,15 +2040,14 @@ class SQLFORM(FORM): _class='form_footer row_buttons %(header)s %(cornerbottom)s' % ui) create_form = update_form = view_form = search_form = None - sqlformargs = dict(formargs) if create and request.args(-2) == 'new': table = db[request.args[-1]] + sqlformargs = dict(ignore_rw=ignore_rw, formstyle=formstyle, + _class='web2py_form') + sqlformargs.update(formargs) sqlformargs.update(createargs) - create_form = SQLFORM( - table, ignore_rw=ignore_rw, formstyle=formstyle, - _class='web2py_form', - **sqlformargs) + create_form = SQLFORM(table, **sqlformargs) create_form.process(formname=formname, next=referrer, onvalidation=onvalidation, @@ -2065,11 +2064,12 @@ class SQLFORM(FORM): elif details and request.args(-3) == 'view': table = db[request.args[-2]] record = table(request.args[-1]) or redirect(referrer) + sqlformargs = dict(upload=upload, ignore_rw=ignore_rw, + formstyle=formstyle, readonly=True, + _class='web2py_form') + sqlformargs.update(formargs) sqlformargs.update(viewargs) - view_form = SQLFORM( - table, record, upload=upload, ignore_rw=ignore_rw, - formstyle=formstyle, readonly=True, _class='web2py_form', - **sqlformargs) + view_form = SQLFORM(table, record, **sqlformargs) res = DIV(buttons(edit=editable, record=record), view_form, formfooter, _class=_class) res.create_form = create_form @@ -2081,16 +2081,15 @@ class SQLFORM(FORM): elif editable and request.args(-3) == 'edit': table = db[request.args[-2]] record = table(request.args[-1]) or redirect(URL('error')) + sqlformargs = dict(upload=upload, ignore_rw=ignore_rw, + formstyle=formstyle, deletable=deletable_, + _class='web2py_form', + submit_button=T('Submit'), + delete_label=T('Check to delete')) + sqlformargs.update(formargs) sqlformargs.update(editargs) deletable_ = deletable(record) if callable(deletable) else deletable - update_form = SQLFORM( - table, - record, upload=upload, ignore_rw=ignore_rw, - formstyle=formstyle, deletable=deletable_, - _class='web2py_form', - submit_button=T('Submit'), - delete_label=T('Check to delete'), - **sqlformargs) + update_form = SQLFORM(table, record, **sqlformargs) update_form.process( formname=formname, onvalidation=onvalidation,