Thanks for reporting this:

Fixed these:
* _dashboard, when reloading Apps, examples error: Table already defined: 
person

* Local access  127.0.0.1:8000/whateverapp  from 2 diferent browsers hungs

Problem was that models.py MUST db.commit()

Not sure about these.

* Form usage: Date, Time, Integer and Decimal widgets don't show. Date does 
not use browser's local date format.

* Grid *create*: Boolean widget does not show selected state.

I cannot reproduce. Maybe I misunderstand. Can you post code and 
screenshots?

Massimo


On Saturday, 28 December 2019 10:14:10 UTC+1, JSalvat wrote:
>
> Things that may need to be fixed:
>
> * _dashboard, when reloading Apps, examples error: Table already defined: 
> person
>
> * Form usage: Date, Time, Integer and Decimal widgets don't show. Date 
> does not use browser's local date format.
>
> * Grid *create*: Boolean widget does not show selected state.
>
> * Local access  127.0.0.1:8000/whateverapp  from 2 diferent browsers hungs
>
>
> El miércoles, 25 de diciembre de 2019, 19:49:22 (UTC+1), Massimo Di Pierro 
> escribió:
>>
>> Can you please check the latest version? This should be fixed.
>>
>> translations in forms are not yet supported in an automatic manner. 
>> working on it.
>>
>> On Tuesday, 24 December 2019 14:21:28 UTC+1, JSalvat wrote:
>>>
>>> Very simple Form and Grid sample to show some errors:
>>>
>>> In Grid: decimal field  does not show /  allow input.
>>>
>>> In Form: date and time widgets not working
>>>
>>> Mainly copied from examples, Showing what was modified:
>>>
>>> models.py
>>>
>>> import os
>>> from py4web import DAL, Field
>>> from pydal.validators import *
>>> # define database and tables
>>> db = DAL('sqlite://storage.db', 
>>> folder=os.path.join(os.path.dirname(__file__), 'databases'))
>>>
>>> # simple table example
>>> db.define_table(
>>>     'sam_table',
>>>     Field('samString', 'string', length=10,  unique=True, required=True,
>>>           requires = [IS_LENGTH(10, 4), IS_SLUG(maxlen=10,
>>>           check=True, error_message='Only alphanumeric characters and 
>>> non-repeated dashes.')],
>>>           comment='Unique identifier.'),
>>>     Field('samText', 'text', comment='Enter a description text.'),
>>>     Field('samBool', 'boolean', comment='Are you interested in py4web 
>>> ?'),
>>>     Field('samDate', 'date', required=True,
>>>           requires = [IS_NOT_EMPTY(), IS_DATE()],
>>>           comment='Enter a valid sample date.'),
>>>     Field('samTime', 'time',
>>>           requires = IS_TIME(), comment='Enter a valid sample time.'),
>>>     Field('samInteger', 'integer', default=0,
>>>           requires = IS_INT_IN_RANGE(0, 9999, error_message='Must be 
>>> integer between 0 and 9999.'),
>>>           comment='Enter a valid sample integer.'),
>>>     Field('samDecimal', 'decimal(4,2)', default=0.0,
>>>           requires = IS_DECIMAL_IN_RANGE(0, 35.0, dot='.'),
>>>           comment='Enter a decimal between 0 and 35.'),
>>>     )
>>>
>>> if not db(db.sam_table).count():
>>>     db.sam_table.insert(
>>>         samString='2011',
>>>         samText='This record was inserted when first time create-table.',
>>>         samBool=True,
>>>         samDate='2011-12-24',
>>>         samTime='11:45:00',
>>>         samInteger=1234,
>>>         samDecimal=21.50)
>>>     db.commit()
>>>
>>> __init__.py
>>>
>>> import os
>>> from py4web import *
>>> from py4web.utils.form import Form, FormStyleBulma
>>> from py4web.utils.publisher import Publisher, ALLOW_ALL_POLICY
>>> from pydal.validators import *
>>> from . models import db
>>>
>>> session = Session(secret='mysecret')
>>>
>>> T = Translator(os.path.join(os.path.dirname(__file__), 'translations'))
>>>
>>> publisher = Publisher(db, policy=ALLOW_ALL_POLICY)
>>>
>>> @action('index')
>>> @action.uses('index.html')
>>> def index():
>>>     return {}
>>>
>>> # exposed as /sample/create_form or /sample/update_form/<id>
>>> @action('create_form', method=['GET','POST'])
>>> @action('update_form/<id>', method=['GET','POST'])
>>> @action.uses('form.html', db, session)
>>> def sample_form(id=None):
>>>     form = Form(db.sam_table, id, deletable=False, formstyle=
>>> FormStyleBulma)
>>>     rows = db(db.sam_table).select()
>>>     return dict(form=form, rows=rows)
>>>
>>> # exposed as /sample/grid
>>> @action('grid')
>>> @action.uses('grid.html')
>>> def sample_grid():
>>>     return dict(grid=publisher.grid(db.sam_table))
>>>
>>> form.html
>>>
>>> [[extend 'layout.html']]
>>>
>>> <h2 class="title">Sample Form</h2>
>>>
>>> [[=form]]
>>>
>>> <h2 class="title">Rows</h2>
>>>
>>> <ul>
>>>   [[for row in rows:]]
>>>   <li>[[=row.id]]: [[=row.samString]] ( [[=row.samBool]] )</li>
>>>   [[pass]]
>>> </ul>
>>>
>>>
>>> Have not tested translations yet.
>>>
>>>

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/5095802f-0680-435d-8da1-549926c87bda%40googlegroups.com.

Reply via email to