I have an integer field and when I try to create a filter on it it didn't work.
Looking at p.a.querystring code I see that the related operators don't work:
- plone.app.querystring.operation.int.is
- plone.app.querystring.operation.int.lessThan
- plone.app.querystring.operation.int.largerThan
They are mapped to these methods respectively:
- plone.app.querystring.queryparser._equal
- plone.app.querystring.queryparser._lessThan
- plone.app.querystring.queryparser._largerThan
And these methods don't convert the value to int (because they are used for other string based types).
Also I tested the plone.app.querystring.operation.selection.is and it fail too with an int field.
Looking at the tests of these methods, you clearly see that it is not testing every kind of data.
My suggestions are to create new methods just for int fields (doing type cast) and to add a new operator for int fields plone.app.querystring.operation.intselection.is (something like this)
Can someone confirm this as a bug? Thanks