a profile field existed in the db always passed because it used quickArray in
scalar context. Since quickArray always returns 1 element, this was always true
and it never returned undef like it was supposed to.
To fix this, I added a new method called quickScalar that returns the first column
from the row as a scalar. It has a basic test in SQL.t.
Then there's the new test in User.t for coverage that exposed this problem, and
I also removed a whole slew of duplicate tests.
Uncovered and fixed a bug where $session->user instead of $self was used in canUseAdminMode
Added an explicit test in Config.pm to make sure that array refs can be passed to ->set.
the lastUpdated method on a user, for example. I've made two changes
to try and fix these:
1) Changed the tests to use cmp_ok instead of ok, so that future failures
will print the measured times as a debug, like is and isn't do.
2) Reversed the order of the method and time measurement. This might help
the difference stay smaller since the two statements are closer.
User.pm: Collapse all methods into getUsers(1) inside isInGroup
Group.pm: Disable the cache whenever a scratchFilter or ipFilter is assigned.
Begin updating Group documentation for changes to dbQuery
User.t: better clean-up at end
Scratch.t: no newlines in test output
Session/Scratch.pm: convert to use placeholders
Ad.pm: Add missing line of POD.
Group.pm: add method to get all users in a group by karma.
User.pm: isInGroup to use getKarmaUsers.
always cleans up after itself.
Fix a bug where Operation::User::_submenu was still using form->process. Switched
to using stow instead.
If the uid is "new", links for delete and become user are not shown anymore.
Multiple IPs are separated by commas, whitespace is ignored.
In groups, that affects the ipFilter field, User::isInGroup.
In settings, that affects Settings::debugIp and Session::ErrorHandler::canShowDebug.
Fixed a bug in WebGUI::Utility::isInSubnet where Net::Subnets->check needs a scalar.
Modified t/User.t to use addresses in CIDR format.