Re: [web2py] Re: How to add a read-only field to a SQLFORM.factory
Had to revert to my old code form.element('#no_table_sn')['_readonly'] = 'readonly' instead of widget=lambda field, value: SQLFORM.widgets.string.widget(field, value), _readonly=True ), because otherwise after onvalidation web2py would remove "form-control " from the field's class and the appearence of the field would change. Is this a bug? sábado, 30 de Março de 2019 às 03:01:27 UTC, Anthony escreveu: > > On Friday, March 29, 2019 at 5:42:10 PM UTC-4, João Matos wrote: >> >> Found a solution (more like a kludge) :) >> >> form.element('#no_table_sn')['_readonly'] = 'readonly' >> > I even tried adding >> >> _readonly='readonly' >> >> to the Field, but didn't work. >> >> Only works after the form exists. >> > > Field('sn', widget=lambda f, v: SQLFORM.widgets.string.widget(f, v, > _readonly=True)) > > >> Is there a better way? >> > > As noted earlier, you can use the "fields" argument. > > Anthony > -- 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/d/optout.
Re: [web2py] Re: How to add a read-only field to a SQLFORM.factory
Need to see the code that generated the KeyError, as well as the full traceback, and details about how/when the error was generated. On Saturday, March 30, 2019 at 3:31:41 PM UTC-4, João Matos wrote: > > This is my code > form = SQLFORM.factory( > Field('equipment_id', > label=T('Equipment'), > requires=IS_IN_SET({wo.equipment_id: db.equipment(wo. > equipment_id).name}, > zero=None), > ), > Field('sn', > label=T('SN'), > widget=lambda field, value: ( > SQLFORM.widgets.string.widget(field, value, _readonly=True > )), > ), > Field('code', > label=T('WO'), > requires=IS_EMPTY_OR(IS_IN_DB(db(query), 'wo.code', distinct > =True)), > ), > Field('client_id', > label=T('Client'), > requires=IS_IN_DB(db, 'client.id', '%(name)s', zero=T('Choose > one...')), > ), > Field('manual_lang_id', > label=T('Manual language'), > requires=IS_IN_DB(db, > 'manual_lang.id', > '%(name)s', > zero=T('Choose one...'), > ), > ), > Field('co_code', default='', label=T('Customer order')), > Field('so_code', default='', label=T('Supplier order')), > Field('export', 'boolean', default=False, label=T('Export')), > Field('notes', default='', label=T('Notes')), > Field('observations', default='', label=T('Observations')), > Field('est_finish', > 'date', > label=T('Estimated finish'), > notnull=True, > required=True, > requires=IS_DATE_IN_RANGE( # format=T('%Y-%m-%d'), > minimum=request.now.date() + > timedelta(days=1), > # maximum=request.now.date() + , > error_message=T('Must be a future > date.') > ) > ), > *factory_fields, > ) > > > sábado, 30 de Março de 2019 às 19:03:40 UTC, Anthony escreveu: >> >> Hard to say without seeing your code, but it definitely works for me. >> >> On Saturday, March 30, 2019 at 2:37:27 PM UTC-4, João Matos wrote: >>> >>> How can I use the fields argument without a db? >>> I tried >>> fields=['sn'] >>> but it returns an KeyError. >>> >>> >>> sábado, 30 de Março de 2019 às 18:27:11 UTC, Anthony escreveu: I don't see any advantage in using the fields parameter because the > change I found > form.element('#no_table_sn')['_readonly'] = 'readonly' > and the suggestion you made > widget=lambda f, v: SQLFORM.widgets.string.widget(f, v, _readonly=True > ) > only change 1 line, and using the fields would make me change all the > Fields lines (if I'm not mistaken). > No, "fields" is an argument of SQLFORM: form = SQLFORM.factory(..., fields=['field1', 'field2', ...]) Anyway, setting the _readonly attribute of the input widget and setting writable=False in the Field() definition do two different things. The former makes the input element read-only in the UI but is less secure because it does not prevent writes on the server. The latter does not use an input element to display the data in the UI, and it also prevents writes on the server. Anthony >>> -- 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/d/optout.
Re: [web2py] Re: How to add a read-only field to a SQLFORM.factory
No, it doesn't. It simply doesn't show the field. sábado, 30 de Março de 2019 às 19:43:46 UTC, Jim S escreveu: > > Just change it to > > Field('sn', label=T('SN'), writable=False) > > Doesn't that work? > > > Jim > > > > > On Sat, Mar 30, 2019, 2:31 PM João Matos > > wrote: > >> This is my code >> form = SQLFORM.factory( >> Field('equipment_id', >> label=T('Equipment'), >> requires=IS_IN_SET({wo.equipment_id: db.equipment(wo. >> equipment_id).name}, >> zero=None), >> ), >> Field('sn', >> label=T('SN'), >> widget=lambda field, value: ( >> SQLFORM.widgets.string.widget(field, value, _readonly= >> True)), >> ), >> Field('code', >> label=T('WO'), >> requires=IS_EMPTY_OR(IS_IN_DB(db(query), 'wo.code', >> distinct=True)), >> ), >> Field('client_id', >> label=T('Client'), >> requires=IS_IN_DB(db, 'client.id', '%(name)s', zero=T('Choose >> one...')), >> ), >> Field('manual_lang_id', >> label=T('Manual language'), >> requires=IS_IN_DB(db, >> 'manual_lang.id', >> '%(name)s', >> zero=T('Choose one...'), >> ), >> ), >> Field('co_code', default='', label=T('Customer order')), >> Field('so_code', default='', label=T('Supplier order')), >> Field('export', 'boolean', default=False, label=T('Export')), >> Field('notes', default='', label=T('Notes')), >> Field('observations', default='', label=T('Observations')), >> Field('est_finish', >> 'date', >> label=T('Estimated finish'), >> notnull=True, >> required=True, >> requires=IS_DATE_IN_RANGE( # format=T('%Y-%m-%d'), >> minimum=request.now.date() + >> timedelta(days=1), >> # maximum=request.now.date() + , >> error_message=T('Must be a >> future date.') >> ) >> ), >> *factory_fields, >> ) >> >> >> sábado, 30 de Março de 2019 às 19:03:40 UTC, Anthony escreveu: >>> >>> Hard to say without seeing your code, but it definitely works for me. >>> >>> On Saturday, March 30, 2019 at 2:37:27 PM UTC-4, João Matos wrote: How can I use the fields argument without a db? I tried fields=['sn'] but it returns an KeyError. sábado, 30 de Março de 2019 às 18:27:11 UTC, Anthony escreveu: > > I don't see any advantage in using the fields parameter because the >> change I found >> form.element('#no_table_sn')['_readonly'] = 'readonly' >> and the suggestion you made >> widget=lambda f, v: SQLFORM.widgets.string.widget(f, v, _readonly= >> True) >> only change 1 line, and using the fields would make me change all the >> Fields lines (if I'm not mistaken). >> > > No, "fields" is an argument of SQLFORM: > > form = SQLFORM.factory(..., fields=['field1', 'field2', ...]) > > Anyway, setting the _readonly attribute of the input widget and > setting writable=False in the Field() definition do two different things. > The former makes the input element read-only in the UI but is less secure > because it does not prevent writes on the server. The latter does not use > an input element to display the data in the UI, and it also prevents > writes > on the server. > > Anthony > -- >> 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 a topic in the >> Google Groups "web2py-users" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/web2py/U7zQi02p2MY/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> web...@googlegroups.com . >> For more options, visit https://groups.google.com/d/optout. >> > -- 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/d/optout.
Re: [web2py] Re: How to add a read-only field to a SQLFORM.factory
Just change it to Field('sn', label=T('SN'), writable=False) Doesn't that work? Jim On Sat, Mar 30, 2019, 2:31 PM João Matos wrote: > This is my code > form = SQLFORM.factory( > Field('equipment_id', > label=T('Equipment'), > requires=IS_IN_SET({wo.equipment_id: db.equipment(wo. > equipment_id).name}, > zero=None), > ), > Field('sn', > label=T('SN'), > widget=lambda field, value: ( > SQLFORM.widgets.string.widget(field, value, _readonly=True > )), > ), > Field('code', > label=T('WO'), > requires=IS_EMPTY_OR(IS_IN_DB(db(query), 'wo.code', distinct > =True)), > ), > Field('client_id', > label=T('Client'), > requires=IS_IN_DB(db, 'client.id', '%(name)s', zero=T('Choose > one...')), > ), > Field('manual_lang_id', > label=T('Manual language'), > requires=IS_IN_DB(db, > 'manual_lang.id', > '%(name)s', > zero=T('Choose one...'), > ), > ), > Field('co_code', default='', label=T('Customer order')), > Field('so_code', default='', label=T('Supplier order')), > Field('export', 'boolean', default=False, label=T('Export')), > Field('notes', default='', label=T('Notes')), > Field('observations', default='', label=T('Observations')), > Field('est_finish', > 'date', > label=T('Estimated finish'), > notnull=True, > required=True, > requires=IS_DATE_IN_RANGE( # format=T('%Y-%m-%d'), > minimum=request.now.date() + > timedelta(days=1), > # maximum=request.now.date() + , > error_message=T('Must be a future > date.') > ) > ), > *factory_fields, > ) > > > sábado, 30 de Março de 2019 às 19:03:40 UTC, Anthony escreveu: >> >> Hard to say without seeing your code, but it definitely works for me. >> >> On Saturday, March 30, 2019 at 2:37:27 PM UTC-4, João Matos wrote: >>> >>> How can I use the fields argument without a db? >>> I tried >>> fields=['sn'] >>> but it returns an KeyError. >>> >>> >>> sábado, 30 de Março de 2019 às 18:27:11 UTC, Anthony escreveu: I don't see any advantage in using the fields parameter because the > change I found > form.element('#no_table_sn')['_readonly'] = 'readonly' > and the suggestion you made > widget=lambda f, v: SQLFORM.widgets.string.widget(f, v, _readonly=True > ) > only change 1 line, and using the fields would make me change all the > Fields lines (if I'm not mistaken). > No, "fields" is an argument of SQLFORM: form = SQLFORM.factory(..., fields=['field1', 'field2', ...]) Anyway, setting the _readonly attribute of the input widget and setting writable=False in the Field() definition do two different things. The former makes the input element read-only in the UI but is less secure because it does not prevent writes on the server. The latter does not use an input element to display the data in the UI, and it also prevents writes on the server. Anthony >>> -- > 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 a topic in the > Google Groups "web2py-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/web2py/U7zQi02p2MY/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- 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/d/optout.
Re: [web2py] Re: How to add a read-only field to a SQLFORM.factory
This is my code form = SQLFORM.factory( Field('equipment_id', label=T('Equipment'), requires=IS_IN_SET({wo.equipment_id: db.equipment(wo. equipment_id).name}, zero=None), ), Field('sn', label=T('SN'), widget=lambda field, value: ( SQLFORM.widgets.string.widget(field, value, _readonly=True )), ), Field('code', label=T('WO'), requires=IS_EMPTY_OR(IS_IN_DB(db(query), 'wo.code', distinct= True)), ), Field('client_id', label=T('Client'), requires=IS_IN_DB(db, 'client.id', '%(name)s', zero=T('Choose one...')), ), Field('manual_lang_id', label=T('Manual language'), requires=IS_IN_DB(db, 'manual_lang.id', '%(name)s', zero=T('Choose one...'), ), ), Field('co_code', default='', label=T('Customer order')), Field('so_code', default='', label=T('Supplier order')), Field('export', 'boolean', default=False, label=T('Export')), Field('notes', default='', label=T('Notes')), Field('observations', default='', label=T('Observations')), Field('est_finish', 'date', label=T('Estimated finish'), notnull=True, required=True, requires=IS_DATE_IN_RANGE( # format=T('%Y-%m-%d'), minimum=request.now.date() + timedelta(days=1), # maximum=request.now.date() + , error_message=T('Must be a future date.') ) ), *factory_fields, ) sábado, 30 de Março de 2019 às 19:03:40 UTC, Anthony escreveu: > > Hard to say without seeing your code, but it definitely works for me. > > On Saturday, March 30, 2019 at 2:37:27 PM UTC-4, João Matos wrote: >> >> How can I use the fields argument without a db? >> I tried >> fields=['sn'] >> but it returns an KeyError. >> >> >> sábado, 30 de Março de 2019 às 18:27:11 UTC, Anthony escreveu: >>> >>> I don't see any advantage in using the fields parameter because the change I found form.element('#no_table_sn')['_readonly'] = 'readonly' and the suggestion you made widget=lambda f, v: SQLFORM.widgets.string.widget(f, v, _readonly=True) only change 1 line, and using the fields would make me change all the Fields lines (if I'm not mistaken). >>> >>> No, "fields" is an argument of SQLFORM: >>> >>> form = SQLFORM.factory(..., fields=['field1', 'field2', ...]) >>> >>> Anyway, setting the _readonly attribute of the input widget and setting >>> writable=False in the Field() definition do two different things. The >>> former makes the input element read-only in the UI but is less secure >>> because it does not prevent writes on the server. The latter does not use >>> an input element to display the data in the UI, and it also prevents writes >>> on the server. >>> >>> Anthony >>> >> -- 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/d/optout.
Re: [web2py] Re: How to add a read-only field to a SQLFORM.factory
Hard to say without seeing your code, but it definitely works for me. On Saturday, March 30, 2019 at 2:37:27 PM UTC-4, João Matos wrote: > > How can I use the fields argument without a db? > I tried > fields=['sn'] > but it returns an KeyError. > > > sábado, 30 de Março de 2019 às 18:27:11 UTC, Anthony escreveu: >> >> I don't see any advantage in using the fields parameter because the >>> change I found >>> form.element('#no_table_sn')['_readonly'] = 'readonly' >>> and the suggestion you made >>> widget=lambda f, v: SQLFORM.widgets.string.widget(f, v, _readonly=True) >>> only change 1 line, and using the fields would make me change all the >>> Fields lines (if I'm not mistaken). >>> >> >> No, "fields" is an argument of SQLFORM: >> >> form = SQLFORM.factory(..., fields=['field1', 'field2', ...]) >> >> Anyway, setting the _readonly attribute of the input widget and setting >> writable=False in the Field() definition do two different things. The >> former makes the input element read-only in the UI but is less secure >> because it does not prevent writes on the server. The latter does not use >> an input element to display the data in the UI, and it also prevents writes >> on the server. >> >> Anthony >> > -- 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/d/optout.
Re: [web2py] Re: How to add a read-only field to a SQLFORM.factory
How can I use the fields argument without a db? I tried fields=['sn'] but it returns an KeyError. sábado, 30 de Março de 2019 às 18:27:11 UTC, Anthony escreveu: > > I don't see any advantage in using the fields parameter because the change >> I found >> form.element('#no_table_sn')['_readonly'] = 'readonly' >> and the suggestion you made >> widget=lambda f, v: SQLFORM.widgets.string.widget(f, v, _readonly=True) >> only change 1 line, and using the fields would make me change all the >> Fields lines (if I'm not mistaken). >> > > No, "fields" is an argument of SQLFORM: > > form = SQLFORM.factory(..., fields=['field1', 'field2', ...]) > > Anyway, setting the _readonly attribute of the input widget and setting > writable=False in the Field() definition do two different things. The > former makes the input element read-only in the UI but is less secure > because it does not prevent writes on the server. The latter does not use > an input element to display the data in the UI, and it also prevents writes > on the server. > > Anthony > -- 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/d/optout.
Re: [web2py] Re: How to add a read-only field to a SQLFORM.factory
> > I don't see any advantage in using the fields parameter because the change > I found > form.element('#no_table_sn')['_readonly'] = 'readonly' > and the suggestion you made > widget=lambda f, v: SQLFORM.widgets.string.widget(f, v, _readonly=True) > only change 1 line, and using the fields would make me change all the > Fields lines (if I'm not mistaken). > No, "fields" is an argument of SQLFORM: form = SQLFORM.factory(..., fields=['field1', 'field2', ...]) Anyway, setting the _readonly attribute of the input widget and setting writable=False in the Field() definition do two different things. The former makes the input element read-only in the UI but is less secure because it does not prevent writes on the server. The latter does not use an input element to display the data in the UI, and it also prevents writes on the server. Anthony -- 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/d/optout.
Re: [web2py] Re: How to add a read-only field to a SQLFORM.factory
I used your widget=lambda f, v: SQLFORM.widgets.string.widget(f, v, _readonly=True) suggestion. I don't see any advantage in using the fields parameter because the change I found form.element('#no_table_sn')['_readonly'] = 'readonly' and the suggestion you made widget=lambda f, v: SQLFORM.widgets.string.widget(f, v, _readonly=True) only change 1 line, and using the fields would make me change all the Fields lines (if I'm not mistaken). Thanks. sábado, 30 de Março de 2019 às 03:01:27 UTC, Anthony escreveu: > > On Friday, March 29, 2019 at 5:42:10 PM UTC-4, João Matos wrote: >> >> Found a solution (more like a kludge) :) >> >> form.element('#no_table_sn')['_readonly'] = 'readonly' >> > I even tried adding >> >> _readonly='readonly' >> >> to the Field, but didn't work. >> >> Only works after the form exists. >> > > Field('sn', widget=lambda f, v: SQLFORM.widgets.string.widget(f, v, > _readonly=True)) > > >> Is there a better way? >> > > As noted earlier, you can use the "fields" argument. > > Anthony > -- 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/d/optout.
Re: [web2py] Re: How to add a read-only field to a SQLFORM.factory
On Friday, March 29, 2019 at 5:42:10 PM UTC-4, João Matos wrote: > > Found a solution (more like a kludge) :) > > form.element('#no_table_sn')['_readonly'] = 'readonly' > I even tried adding > > _readonly='readonly' > > to the Field, but didn't work. > > Only works after the form exists. > Field('sn', widget=lambda f, v: SQLFORM.widgets.string.widget(f, v, _readonly=True)) > Is there a better way? > As noted earlier, you can use the "fields" argument. Anthony -- 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/d/optout.
Re: [web2py] Re: How to add a read-only field to a SQLFORM.factory
Found a solution (more like a kludge) :) form.element('#no_table_sn').attributes['_readonly'] = 'readonly' I even tried adding _readonly='readonly' to the Field, but didn't work. Only works after the form exists. Is there a better way? sexta-feira, 29 de Março de 2019 às 21:25:48 UTC, João Matos escreveu: > > The field I want to make read-only is sn. > > form = SQLFORM.factory( > Field('equipment_id', > label=T('Equipment'), > requires=IS_IN_DB(db, 'equipment.id', '%(name)s', zero=None > ), > ), > Field('sn', 'integer', label=T('SN'), writable=False), > Field('code', label=T('WO'), requires=IS_EMPTY_OR( > IS_IN_DB(db(query), 'wo.code', distinct=True))), > Field('client_id', > label=T('Client'), > requires=IS_IN_DB(db, 'client.id', '%(name)s', zero=T('Choose > one...')), > ), > Field('manual_lang_id', > label=T('Manual language'), > requires=IS_IN_DB(db, > 'manual_lang.id', > '%(name)s', > zero=T('Choose one...'), > ), > ), > Field('co_code', 'string', default='', label=T('Customer order')), > Field('so_code', 'string', default='', label=T('Supplier order')), > Field('export', 'boolean', default=False, label=T('Export')), > Field('notes', 'string', default='', label=T('Notes')), > Field('observations', 'string', default='', label=T('Observations' > )), > Field('est_finish', 'date', label=T('Estimated finish'), notnull= > True, > required=True, > requires=IS_DATE_IN_RANGE( # format=T('%Y-%m-%d'), > minimum=request.now.date() + > timedelta(days=1), > # maximum=request.now.date() + , > error_message=T('Must be a future > date.') > ) > ), > *factory_fields, > hidden={'mon': wo.modified_on}, > ) > > > > sexta-feira, 29 de Março de 2019 às 21:20:27 UTC, Jim S escreveu: >> >> Can you show some code? Mine is working fine without a db and specifying >> writable=False. >> >> -Jim >> >> On Fri, Mar 29, 2019 at 4:02 PM João Matos wrote: >> >>> It is readable and editable. >>> >>> -- >>> 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 a topic in the >>> Google Groups "web2py-users" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/web2py/U7zQi02p2MY/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> web...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- 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/d/optout.
Re: [web2py] Re: How to add a read-only field to a SQLFORM.factory
The field I want to make read-only is sn. form = SQLFORM.factory( Field('equipment_id', label=T('Equipment'), requires=IS_IN_DB(db, 'equipment.id', '%(name)s', zero=None), ), Field('sn', 'integer', label=T('SN'), writable=False), Field('code', label=T('WO'), requires=IS_EMPTY_OR( IS_IN_DB(db(query), 'wo.code', distinct=True))), Field('client_id', label=T('Client'), requires=IS_IN_DB(db, 'client.id', '%(name)s', zero=T('Choose one...')), ), Field('manual_lang_id', label=T('Manual language'), requires=IS_IN_DB(db, 'manual_lang.id', '%(name)s', zero=T('Choose one...'), ), ), Field('co_code', 'string', default='', label=T('Customer order')), Field('so_code', 'string', default='', label=T('Supplier order')), Field('export', 'boolean', default=False, label=T('Export')), Field('notes', 'string', default='', label=T('Notes')), Field('observations', 'string', default='', label=T('Observations' )), Field('est_finish', 'date', label=T('Estimated finish'), notnull= True, required=True, requires=IS_DATE_IN_RANGE( # format=T('%Y-%m-%d'), minimum=request.now.date() + timedelta(days=1), # maximum=request.now.date() + , error_message=T('Must be a future date.') ) ), *factory_fields, hidden={'mon': wo.modified_on}, ) sexta-feira, 29 de Março de 2019 às 21:20:27 UTC, Jim S escreveu: > > Can you show some code? Mine is working fine without a db and specifying > writable=False. > > -Jim > > On Fri, Mar 29, 2019 at 4:02 PM João Matos > wrote: > >> It is readable and editable. >> >> -- >> 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 a topic in the >> Google Groups "web2py-users" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/web2py/U7zQi02p2MY/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> web...@googlegroups.com . >> For more options, visit https://groups.google.com/d/optout. >> > -- 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/d/optout.
Re: [web2py] Re: How to add a read-only field to a SQLFORM.factory
Can you show some code? Mine is working fine without a db and specifying writable=False. -Jim On Fri, Mar 29, 2019 at 4:02 PM João Matos wrote: > It is readable and editable. > > -- > 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 a topic in the > Google Groups "web2py-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/web2py/U7zQi02p2MY/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- 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/d/optout.
Re: [web2py] Re: How to add a read-only field to a SQLFORM.factory
It is readable and editable. -- 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/d/optout.
Re: [web2py] Re: How to add a read-only field to a SQLFORM.factory
Is readable set to True? -Jim On Fri, Mar 29, 2019 at 3:32 PM João Matos wrote: > Tried that, doesn't work. > With writable=False the field isn't shown. > > > sexta-feira, 29 de Março de 2019 às 20:12:45 UTC, Jim S escreveu: >> >> Set writable=False >> >> Field('end', 'date', requires=IS_DATE('%m/%d/%Y'), default=default_end, >> writable=False) >> >> -Jim >> >> On Friday, March 29, 2019 at 2:39:58 PM UTC-5, João Matos wrote: >>> >>> Hello, >>> >>> How can I add a read-only field to a SQLFORM.factory? >>> >>> Thanks, >>> >>> JM >>> >>> -- > 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 a topic in the > Google Groups "web2py-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/web2py/U7zQi02p2MY/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- 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/d/optout.