Something is wrong here

IS_IMAGE(extensions=('jpeg'))

should be

IS_IMAGE(extensions=('jpeg',))

A tuple of one element must contain a comma. Not sure if that may be
the cause of your problem.

On Aug 23, 3:16 pm, Joe Wakefield <coffeeburr...@gmail.com> wrote:
> I was also experiencing this issue, but found that rebuilding the
> database only worked until the first valid upload, after which it is
> broken again.
>
> In my case, I am using:
> Field('photo', 'upload', uploadfield='photo_data',
> requires=IS_IMAGE(extensions=('jpeg'))),
> Field('photo_data', 'blob', requires=IS_IMAGE(extensions=('jpeg'))),
>
> And was using SQLFORM to display the update form.
>
> When I first added this, it was accepting absolutely everything (pdf,
> odt, zip) as an upload. I deleted my database entirely, and had it
> rebuilt. I first noticed that it started rejecting non-image uploads.
> However, once I had uploaded an image, all subsequent uploads of non-
> image types were allowed again. A second database build showed the
> exact same behaviour; proper rejection until the first valid upload.
>
> I then made a backup of my web2py folder, and extracted today's
> nightly build over my folder. Rebuilding my database one last time, it
> shows the exact same behaviour.
>
> On Jul 11, 2:56 pm, Rob <r...@rmdashr.com> wrote:
>
> > I just recently added:
>
> > db.Item.image.requires =IS_IMAGE()
>
> > The records that existed prior to adding this line does not obey 
> > theIS_IMAGE() (ie: they still allow me to upload a PDF).  All new records
> > created DO work - they force me to select an image or else they show
> > an error.
>
> > steps to reproduce (untested)
> > 1)  create DB
> > db.define_table('Item',
> >                 Field('description'),
> >                 Field('need', 'boolean'),
> >                 Field('image', 'upload'))
>
> > 2) add rows to the table
> > 3) add rules:
> > db.Item.category.requires = IS_IN_DB(db, db.Category.id,'%(name)s')
> > db.Item.description.requires = IS_NOT_EMPTY()
> > db.Item.image.requires =IS_IMAGE()
>
> > 4) go back to the rows you added to the Item table and add non-image
> > files - notice it works
>
> > Does that help?
>
> > On Jul 11, 11:42 am, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > Please tell us more. When do you get an error? What is the error?
>
> > > On 11 Lug, 11:57, Rob <r...@rmdashr.com> wrote:
>
> > > > This issue only happens for records that were created before I added
> > > > the .requires fields.  Error handling on new records works as
> > > > expected...  so... is it still a bug?
>
> > > > On Jul 11, 9:15 am, Rob <r...@rmdashr.com> wrote:
>
> > > > > db.define_table('Category',
> > > > >                 Field('name'))
>
> > > > > db.define_table('Item',
> > > > >                 Field('category', db.Category),
> > > > >                 Field('description'),
> > > > >                 Field('need', 'boolean'),
> > > > >                 Field('image', 'upload'))
>
> > > > > db.Item.category.requires = IS_IN_DB(db, db.Category.id)
> > > > > db.Item.description.requires = IS_NOT_EMPTY()
> > > > > db.Item.image.requires =IS_IMAGE()
>
> > > > > def details():
> > > > >     item = request.args(0)
> > > > >     form = crud.update(db.Item, item, next=URL(r=request, args=item))
> > > > >     return dict(form=form)
>
> > > > > It allows me to upload PDFs and flashes 'record updated'

Reply via email to