fixed issue 1786:Allow formargs to override grid parameters., thanks iiijjjiii

This commit is contained in:
mdipierro
2013-11-22 10:25:22 -06:00
parent 4f4cc8f98f
commit 2361eb4a84
2 changed files with 17 additions and 18 deletions

View File

@@ -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

View File

@@ -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,