[web2py] Re: SQLFORM and read-only references

2011-02-09 Thread Juan Antonio
Yes, the nightly built works fine. Thanks.


On 7 feb, 15:44, Massimo Di Pierro  wrote:
> Should be fixed in trunk already. Try the nightly built.
>
> On Feb 7, 4:46 am, Juan Antonio  wrote:
>
> > I have
>
> > db.define_table('article', Field('name'),,format='%(name)s')
> > db.define_table('lote', Field('name'),, Field('article',
> > db.article)
> > db.lote.article.requires = IS_IN_DB(db, db.article.id, '%(name)s')
>
> > AndSQLFORM(db.lote,..,readonly=True) shows 'None' in field articulo
>
> > I think it is the same proble discussed here, or what am I doing
> > wrong?
>
> > I am using 1.91.6
>
> > Cheers,
>
> > Juan.
>
> > On 4 feb, 13:46, Kenneth  wrote:
>
> > > I´m having the same problem. In aSQLFORMI have a Field that is
> > > sometimes writable and sometimes not. If you are admin you can modify
> > > this field but not as user. Field is a reference to and other table,
> > > so admin gets a dropdown but the user gets None but he should get the
> > > selection that admin has made.
>
> > > Kenneth
>
> > > On Jan 26, 11:48 pm, Pawel Jasinski  wrote:
>
> > > > Hi,
>
> > > > > Are you sure you want the formreadonly?
>
> > > > Yes
>
> > > > > What if you removereadonly?
>
> > > > The 'None' changes into drop down with ids or whatever is in the
> > > > format argument of the field.
>
> > > > > If you wantreadonlyyou do not need accepts
>
> > > > Good point, changed. It does not help with the main problem.
>
> > > > I also have another use case, where form is used on the confirmation
> > > > screen. Kind of "are you really sure ..."
> > > > All fields are maderead onlywith db.table.filed.writable=False.
> > > > Thereferencesare also rendered as None.
>
> > > > Cheers,
> > > > Pawel


[web2py] Re: SQLFORM and read-only references

2011-02-07 Thread Massimo Di Pierro
Should be fixed in trunk already. Try the nightly built.

On Feb 7, 4:46 am, Juan Antonio  wrote:
> I have
>
> db.define_table('article', Field('name'),,format='%(name)s')
> db.define_table('lote', Field('name'),, Field('article',
> db.article)
> db.lote.article.requires = IS_IN_DB(db, db.article.id, '%(name)s')
>
> And SQLFORM(db.lote,..,readonly=True) shows 'None' in field articulo
>
> I think it is the same proble discussed here, or what am I doing
> wrong?
>
> I am using 1.91.6
>
> Cheers,
>
> Juan.
>
> On 4 feb, 13:46, Kenneth  wrote:
>
>
>
>
>
>
>
> > I´m having the same problem. In a SQLFORM I have a Field that is
> > sometimes writable and sometimes not. If you are admin you can modify
> > this field but not as user. Field is a reference to and other table,
> > so admin gets a dropdown but the user gets None but he should get the
> > selection that admin has made.
>
> > Kenneth
>
> > On Jan 26, 11:48 pm, Pawel Jasinski  wrote:
>
> > > Hi,
>
> > > > Are you sure you want the form readonly?
>
> > > Yes
>
> > > > What if you remove readonly?
>
> > > The 'None' changes into drop down with ids or whatever is in the
> > > format argument of the field.
>
> > > > If you want readonly you do not need accepts
>
> > > Good point, changed. It does not help with the main problem.
>
> > > I also have another use case, where form is used on the confirmation
> > > screen. Kind of "are you really sure ..."
> > > All fields are made read only with db.table.filed.writable=False.
> > > The references are also rendered as None.
>
> > > Cheers,
> > > Pawel


[web2py] Re: SQLFORM and read-only references

2011-02-07 Thread Juan Antonio
I have

db.define_table('article', Field('name'),,format='%(name)s')
db.define_table('lote', Field('name'),, Field('article',
db.article)
db.lote.article.requires = IS_IN_DB(db, db.article.id, '%(name)s')

And SQLFORM(db.lote,..,readonly=True) shows 'None' in field articulo

I think it is the same proble discussed here, or what am I doing
wrong?

I am using 1.91.6

Cheers,

Juan.

On 4 feb, 13:46, Kenneth  wrote:
> I´m having the same problem. In a SQLFORM I have a Field that is
> sometimes writable and sometimes not. If you are admin you can modify
> this field but not as user. Field is a reference to and other table,
> so admin gets a dropdown but the user gets None but he should get the
> selection that admin has made.
>
> Kenneth
>
> On Jan 26, 11:48 pm, Pawel Jasinski  wrote:
>
> > Hi,
>
> > > Are you sure you want the form readonly?
>
> > Yes
>
> > > What if you remove readonly?
>
> > The 'None' changes into drop down with ids or whatever is in the
> > format argument of the field.
>
> > > If you want readonly you do not need accepts
>
> > Good point, changed. It does not help with the main problem.
>
> > I also have another use case, where form is used on the confirmation
> > screen. Kind of "are you really sure ..."
> > All fields are made read only with db.table.filed.writable=False.
> > The references are also rendered as None.
>
> > Cheers,
> > Pawel


[web2py] Re: SQLFORM and read-only references

2011-02-04 Thread Kenneth
I´m having the same problem. In a SQLFORM I have a Field that is
sometimes writable and sometimes not. If you are admin you can modify
this field but not as user. Field is a reference to and other table,
so admin gets a dropdown but the user gets None but he should get the
selection that admin has made.


Kenneth


On Jan 26, 11:48 pm, Pawel Jasinski  wrote:
> Hi,
>
> > Are you sure you want the form readonly?
>
> Yes
>
> > What if you remove readonly?
>
> The 'None' changes into drop down with ids or whatever is in the
> format argument of the field.
>
> > If you want readonly you do not need accepts
>
> Good point, changed. It does not help with the main problem.
>
> I also have another use case, where form is used on the confirmation
> screen. Kind of "are you really sure ..."
> All fields are made read only with db.table.filed.writable=False.
> The references are also rendered as None.
>
> Cheers,
> Pawel


[web2py] Re: SQLFORM and read-only references

2011-01-26 Thread Pawel Jasinski
Hi,

> Are you sure you want the form readonly?
Yes

> What if you remove readonly?
The 'None' changes into drop down with ids or whatever is in the
format argument of the field.

> If you want readonly you do not need accepts
Good point, changed. It does not help with the main problem.

I also have another use case, where form is used on the confirmation
screen. Kind of "are you really sure ..."
All fields are made read only with db.table.filed.writable=False.
The references are also rendered as None.

Cheers,
Pawel



[web2py] Re: SQLFORM and read-only references

2011-01-26 Thread Massimo Di Pierro
Are you sure you want the form readonly? What id you remove readonly?
If you want readonly you do not need accepts

On Jan 26, 12:40 pm, Pawel Jasinski  wrote:
> hi,
>
> hi,
> i had the same idea in a mean time. Same effect :-(
> --pawel
>
> On Jan 26, 6:25 pm, Massimo Di Pierro 
> wrote:
>
>
>
>
>
>
>
> > I will double check because clearly something is wrong. Meanwhile, how
> > about this:
>
> > db.define_table('foo', Field('x'), format='%(x)s')
> > db.define_table('bar', Field('label'), Field('ref',db.foo))
> > in controller:
> > def insertone():
> >     id=db.foo.insert(x="xxx")
> >     db.bar.insert(label="label",ref=id)
> > def index():
> >     record=db.bar(id=1)
> >     form=SQLFORM(db.bar,record,readonly=True)
> >     if form.accepts(request.vars,session):
> >         session.flash="accepted"
> >     return dict(form=form)
>
> > On Jan 26, 10:37 am, Pawel Jasinski  wrote:
>
> > > Hi,
>
> > > I just hit the same problem and can reproduce in trivial case
>
> > > in model:
> > > db.define_table('foo', Field('x'))
> > > db.define_table('bar', Field('label'), Field('ref',db.foo))
>
> > > in controller:
> > > def insertone():
> > >     id=db.foo.insert(x="xxx")
> > >     db.bar.insert(label="label",ref=id)
>
> > > def index():
> > >     record=db.bar(id=1)
> > >     form=SQLFORM(db.bar,record,readonly=True)
> > >     if form.accepts(request.vars,session):
> > >         session.flash="accepted"
> > >     return dict(form=form)
>
> > > this will produce 'None' on the ref field
> > > if I change index to be:
>
> > > def index():
> > >     record=db.bar(id=1)
> > >     db.bar.ref.represent=lambda val: db.foo[val].x
> > >     form=SQLFORM(db.bar,record,readonly=True)
> > >     if form.accepts(request.vars,session):
> > >         session.flash="accepted"
> > >     return dict(form=form)
>
> > > everything is tiptop
> > > web2py version: 1.91.6
>
> > > Cheers,
> > > Pawel


[web2py] Re: SQLFORM and read-only references

2011-01-26 Thread Pawel Jasinski
hi,

hi,
i had the same idea in a mean time. Same effect :-(
--pawel

On Jan 26, 6:25 pm, Massimo Di Pierro 
wrote:
> I will double check because clearly something is wrong. Meanwhile, how
> about this:
>
> db.define_table('foo', Field('x'), format='%(x)s')
> db.define_table('bar', Field('label'), Field('ref',db.foo))
> in controller:
> def insertone():
>     id=db.foo.insert(x="xxx")
>     db.bar.insert(label="label",ref=id)
> def index():
>     record=db.bar(id=1)
>     form=SQLFORM(db.bar,record,readonly=True)
>     if form.accepts(request.vars,session):
>         session.flash="accepted"
>     return dict(form=form)
>
> On Jan 26, 10:37 am, Pawel Jasinski  wrote:
>
> > Hi,
>
> > I just hit the same problem and can reproduce in trivial case
>
> > in model:
> > db.define_table('foo', Field('x'))
> > db.define_table('bar', Field('label'), Field('ref',db.foo))
>
> > in controller:
> > def insertone():
> >     id=db.foo.insert(x="xxx")
> >     db.bar.insert(label="label",ref=id)
>
> > def index():
> >     record=db.bar(id=1)
> >     form=SQLFORM(db.bar,record,readonly=True)
> >     if form.accepts(request.vars,session):
> >         session.flash="accepted"
> >     return dict(form=form)
>
> > this will produce 'None' on the ref field
> > if I change index to be:
>
> > def index():
> >     record=db.bar(id=1)
> >     db.bar.ref.represent=lambda val: db.foo[val].x
> >     form=SQLFORM(db.bar,record,readonly=True)
> >     if form.accepts(request.vars,session):
> >         session.flash="accepted"
> >     return dict(form=form)
>
> > everything is tiptop
> > web2py version: 1.91.6
>
> > Cheers,
> > Pawel
>
>


[web2py] Re: SQLFORM and read-only references

2011-01-26 Thread Massimo Di Pierro
I will double check because clearly something is wrong. Meanwhile, how
about this:

db.define_table('foo', Field('x'), format='%(x)s')
db.define_table('bar', Field('label'), Field('ref',db.foo))
in controller:
def insertone():
id=db.foo.insert(x="xxx")
db.bar.insert(label="label",ref=id)
def index():
record=db.bar(id=1)
form=SQLFORM(db.bar,record,readonly=True)
if form.accepts(request.vars,session):
session.flash="accepted"
return dict(form=form)

On Jan 26, 10:37 am, Pawel Jasinski  wrote:
> Hi,
>
> I just hit the same problem and can reproduce in trivial case
>
> in model:
> db.define_table('foo', Field('x'))
> db.define_table('bar', Field('label'), Field('ref',db.foo))
>
> in controller:
> def insertone():
>     id=db.foo.insert(x="xxx")
>     db.bar.insert(label="label",ref=id)
>
> def index():
>     record=db.bar(id=1)
>     form=SQLFORM(db.bar,record,readonly=True)
>     if form.accepts(request.vars,session):
>         session.flash="accepted"
>     return dict(form=form)
>
> this will produce 'None' on the ref field
> if I change index to be:
>
> def index():
>     record=db.bar(id=1)
>     db.bar.ref.represent=lambda val: db.foo[val].x
>     form=SQLFORM(db.bar,record,readonly=True)
>     if form.accepts(request.vars,session):
>         session.flash="accepted"
>     return dict(form=form)
>
> everything is tiptop
> web2py version: 1.91.6
>
> Cheers,
> Pawel


[web2py] Re: SQLFORM and read-only references

2011-01-26 Thread Pawel Jasinski
Hi,

I just hit the same problem and can reproduce in trivial case

in model:
db.define_table('foo', Field('x'))
db.define_table('bar', Field('label'), Field('ref',db.foo))

in controller:
def insertone():
id=db.foo.insert(x="xxx")
db.bar.insert(label="label",ref=id)

def index():
record=db.bar(id=1)
form=SQLFORM(db.bar,record,readonly=True)
if form.accepts(request.vars,session):
session.flash="accepted"
return dict(form=form)

this will produce 'None' on the ref field
if I change index to be:

def index():
record=db.bar(id=1)
db.bar.ref.represent=lambda val: db.foo[val].x
form=SQLFORM(db.bar,record,readonly=True)
if form.accepts(request.vars,session):
session.flash="accepted"
return dict(form=form)

everything is tiptop
web2py version: 1.91.6

Cheers,
Pawel


[web2py] Re: SQLFORM and read-only references

2011-01-17 Thread howesc
it seems that upon further testing this is not a problem.  i don't know what 
i was doing when this showed up.  sorry for the noise.

cfh


[web2py] Re: SQLFORM and read-only references

2011-01-11 Thread howesc
my own forms created with SQLFORM.


[web2py] Re: SQLFORM and read-only references

2011-01-10 Thread Massimo Di Pierro
Is this in appadmin or your own forms?

On Jan 10, 5:44 pm, howesc  wrote:
> It seems that in the latest version of web2py (1.91.6 and today's trunk)
> that if you have a table (say auth_user), with a format string, and then you
> refer to it in another table as read-only like:
>   Field('updated_by', 'reference '+auth.settings.table_user_name,
>         default=auth.user_id,update=auth.user_id,writable=False),
>
> when the form is rendered we see 'None' rather than the format of the
> referenced table.  I can adjust the read-only field to have a represent
> like:
>   Field('created_by', 'reference '+auth.settings.table_user_name,
>         default=auth.user_id, writable=False,
>         represent=lambda x: auth_user_table[x].first_name + " " + \
>           auth_user_table[x].last_name+" ("+str(auth_user_table[x].id)+")" \
>           if x else None),
> (which matches my format string on my auth_user table).  Is this a
> regression, or was i making broken assumptions previously?
>
> thanks,
>
> christian