Thank You Massimo, it's enaugh for me - indeed, the code is rather simple.

Regards and good luck :)
brushek

W dniu wtorek, 7 stycznia 2014 09:09:04 UTC+1 użytkownik Massimo Di Pierro 
napisał:
>
> This is the source for SQLFORM.dictform:
>
> def dictform(dictionary, **kwargs):
>         fields = []
>         for key, value in sorted(dictionary.items()):
>             t, requires = SQLFORM.AUTOTYPES.get(type(value), (None, None))
>             if t:
>                 fields.append(Field(key, t, requires=requires,
>                                     default=value))
>         return SQLFORM.factory(*fields, **kwargs)
>
> As you can see it is just a SQLFORM.factory except that it makes a guess 
> for field types and requires. If you want to change those defaults, than 
> you do not need this function at all. Perhaps it can be used as an example 
> of how to do what you need to do.
>
>
>
> On Sunday, 5 January 2014 10:48:08 UTC-6, brushek wrote:
>>
>> Thank You Masimo for answer,
>>
>> Hm... so this is huge problem for me, because I have in dict many other 
>> options (I showed only one field to show the problem). Is there any easy 
>> way to append or insert Field (with corect select option generated in the 
>> view) to the form created by SQLFORM.dictform ? Or, to change the 
>> SQLFORM.dictform to SQLFORM.factory, but factory need to take dict with 
>> (many) fields ? I was very happy to see dictform - it perfectly fit into 
>> the config setter/updater for me, last thing I needed is to make select for 
>> some of the fields :(. 
>>
>> Regards
>> brushek
>>
>>
>>
>>
>> W dniu niedziela, 5 stycznia 2014 17:07:09 UTC+1 użytkownik Massimo Di 
>> Pierro napisał:
>>>
>>> Unfortunately dictform does not support this. You can do:
>>>
>>> session.config = dict(NAME = 'a')
>>> form = 
>>> SQLFORM.factory(Field('NAME',default=session.config['NAME'],requires=IS_IN_SET(('a','b','c','d','e'),
>>>  
>>> error_message="Choose between a and e")))
>>>  if form.process().accepted: 
>>>         session.config['NAME'] = form.vars['NAME']
>>>
>>>
>>>
>>> On Saturday, 4 January 2014 11:26:10 UTC-6, brushek wrote:
>>>>
>>>> Hello :)
>>>>
>>>> I have following code in controller:
>>>>
>>>> session.config = dict(NAME = 'a')
>>>> form = SQLFORM.dictform(session.config)
>>>> form.custom.widget.NAME['requires'] = IS_IN_SET(('a','b','c','d','e'), 
>>>> error_message="Choose between a and e")
>>>>  if form.process().accepted: 
>>>>         session.config.update(form.vars)
>>>>
>>>> validator is working OK, but I would like to change the type of NAME 
>>>> field in form to select dropdown, instead simple input. How to do this ? 
>>>> How to change the type of field after it is created by any SQLFORM(.*)  ?
>>>>
>>>> Regards
>>>> brushek
>>>>
>>>

-- 
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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to