View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0015565||phpList 3 plugins||General||public||09-12-10 12:32||04-06-13 22:28|
|Summary||0015565: Incorrect record selection in Stacked Criteria|
|Description||Incorrect record selection occurs in various scenarios within stacked criteria selection with various field and operator types. Full details of those causing unexpected results are detailed in the following forum post http://forums.phplist.com/viewtopic.php?f=17&t=34980|
|Steps To Reproduce||HTTP_Request|
|Tags||No tags attached.|
you're not suggesting a code change. Do you think that 0009983 will solve it all? In that case this would be a duplicate of that issue
The missing parentheses only solve a small number of the resulting errors.
Referring to my forum post (link above):
Radio & select field types used with an "is not" operator need the sql adapting to include records where these field types are null.
Checkbox used with "is unchecked" operator, also needs sql updating to look at records where this field type is null.
Checkbox used with "is not unchecked", also needs sql updating, should look for those that are checked because even with the parentheses mod in place, this currently picks up records where someone has previously saved this field type with it checked but since updated their record to remove the check mark. Thus the field could have had nothing in it upon record creation if the field is non mandatory and thus be null, or a later saving of the record to remove the check mark results in the field being saved as blank or empty. The logic in the current sql is over complicating what should be being sought, i.e. just look for the check mark being present.
Checkbox used with "is not checked" is doing what "is not unchecked" should be doing. Just needs the sql moving to where the above (is not unchecked) is, so that the drop down operator description in the UI corresponds with the correct action.
Checkbox group used with "is" operator should be returning exact matches to the options within a group that are checked not just one option that matches. i.e. if a group has a,b,c,d options and user has a,b & c checked then this user should only be returned in the results if the search entered is for those that have a,b & c but not included in the results when only searching for a, b, c or d individually or any combination thereof other than a,b & c together.
Checkbox group used with "is not" operator also needs sql changing as currently not selecting correct records.
Dates, I suspect that a comma is being appended to the criteria that is built from the UI selection, hence the 1064 DB error that can occur when no users match. Sql doesn't seem right as it should be selecting users that don't have a date when using the "is not" operator, as well as those with dates that don't match.
Dates before or after given date should be subtracting a day or adding a day respectively from the search date entered.
I believe the above are the necessary changes required in addition to the additional parentheses issue (9983).
||tha'ts brilliant, thanks. I'll try to find some time to look at it, once I've worked my way through other things.|
|09-12-10 12:32||spiro||New Issue|
|13-12-10 18:14||h2b2||Relationship added||related to 0009983|
|13-12-10 18:15||h2b2||Relationship added||related to 0015454|
|13-12-10 18:16||h2b2||Target Version||=> 2.10.13|
|28-04-11 17:18||michiel||Note Added: 0051184|
|28-04-11 17:18||michiel||Status||new => feedback|
|28-04-11 19:44||spiro||Note Added: 0051189|
|28-04-11 19:44||spiro||Status||feedback => new|
|28-04-11 21:28||michiel||Note Added: 0051190|
|29-04-11 17:17||michiel||Target Version||2.10.13 => 2.10.X|
|01-02-12 23:57||michiel||Target Version||2.10.X => 2.11.X|
|31-05-12 03:33||michiel||Priority||urgent => normal|
|31-05-12 03:33||michiel||Steps to Reproduce Updated||View Revisions|
|01-11-12 11:31||michiel||Severity||major => minor|
|01-11-12 11:31||michiel||Target Version||2.11.X => plugin Development|
|04-06-13 22:28||michiel||Project||phpList 3 application => phpList 3 plugins|
|04-06-13 22:28||michiel||Category||Message Send Process => General|