Issue submitted with proposed fix:
https://github.com/web2py/web2py/issues/1351
On Monday, June 6, 2016 at 11:23:10 AM UTC-4, Anthony wrote:
>
> I see. With smartgrid, you can pass through any of the standard grid
> parameters to the grid, and there is an option to specify any of those
> parameters as a dictionary with table names as keys. The problem is that
> the code simply checks whether each kwarg is a dictionary, assuming if it
> is, it must be a dictionary whose keys are table names. However, some of
> the parameters themselves are supposed to be dictionaries, as in this case,
> so the code in question mistakenly deletes the parameter rather than
> allowing it to pass through unchanged.
>
> Thanks for pointing this out. I'll file an issue.
>
> Anthony
>
> On Monday, June 6, 2016 at 8:57:58 AM UTC-4, omicron wrote:
>>
>> I want to believe you, but in version 2.13.4 the code for smatgrid is
>> # filter out data info for displayed table
>> if table._tablename in constraints:
>> query = query & constraints[table._tablename]
>> if isinstance(links, dict):
>> links = links.get(table._tablename, [])
>> for key in
>> 'columns,orderby,searchable,sortable,paginate,deletable,editable,details,selectable,create,fields'
>> .split(','):
>> if isinstance(kwargs.get(key, None), dict):
>> if table._tablename in kwargs[key]:
>> kwargs[key] = kwargs[key][table._tablename]
>> else:
>> del kwargs[key]
>> check = {}
>>
>> and in 2.14.6 I see :
>> # filter out data info for displayed table
>> if table._tablename in constraints:
>> query = query & constraints[table._tablename]
>> if isinstance(links, dict):
>> links = links.get(table._tablename, [])
>> for key in ('fields', 'field_id', 'left', 'headers', 'orderby',
>> 'groupby', 'searchable',
>> 'sortable', 'paginate', 'deletable', 'editable',
>> 'details', 'selectable',
>> 'create', 'csv', 'links', 'links_in_grid', 'upload',
>> 'maxtextlengths',
>> 'maxtextlength', 'onvalidation', 'onfailure',
>> 'oncreate', 'onupdate',
>> 'ondelete', 'sorter_icons', 'ui', 'showbuttontext',
>> '_class', 'formname',
>> 'search_widget', 'advanced_search', 'ignore_rw',
>> 'formstyle', 'exportclasses',
>> 'formargs', 'createargs', 'editargs', 'viewargs',
>> 'selectable_submit_button',
>> 'buttons_placement', 'links_placement', 'noconfirm',
>> 'cache_count', 'client_side_delete',
>> 'ignore_common_filters', 'auto_pagination',
>> 'use_cursor'
>> ):
>> if isinstance(kwargs.get(key, None), dict):
>> if table._tablename in kwargs[key]:
>> kwargs[key] = kwargs[key][table._tablename]
>> else:
>> del kwargs[key]
>> check = {}
>>
>> So, to hide the export buttons I must adapt my controller between this 2
>> versions. If not, where i am wrong ?
>>
>> Le vendredi 3 juin 2016 22:11:46 UTC+2, Anthony a écrit :
>>>
>>> The documentation you quote is for SQLFORM.grid, but you are using
>>> SQLFORM.smartgrid, which lets you use most of the grid parameters, but
>>> within a dictionary keyed for each table of the smartgrid. Nothing has
>>> changed.
>>>
>>> Anthony
>>>
>>> On Friday, June 3, 2016 at 3:33:36 PM UTC-4, omicron wrote:
>>>>
>>>> It's on smartgrid for my application
>>>>
>>>> Le vendredi 3 juin 2016 20:24:41 UTC+2, Niphlod a écrit :
>>>>>
>>>>> is this on grid or smartgrid ?
>>>>>
>>>>> On Friday, June 3, 2016 at 7:15:33 PM UTC+2, omicron wrote:
>>>>>>
>>>>>> I have just seen this modification for parameter 'exportclasses' in
>>>>>> grids. The manual say "If you pass a dict like
>>>>>> dict(xml=False, html=False)
>>>>>>
>>>>>> you will disable the xml and html export formats", but with the last
>>>>>> version you must change you code to pass a dict like this
>>>>>> dict(tablename = dict(xml=False, html=False))
>>>>>>
>>>>>>
>>>>>> And it's the same for other dicts options like "maxtextlength" for
>>>>>> example.
>>>>>>
>>>>>>
>>>>>>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.