Bug 28567: Fix 0 vs "" vs undef on the admin library form
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 25 Jun 2021 10:44:19 +0000 (12:44 +0200)
committerKyle M Hall <kyle@bywatersolutions.com>
Fri, 6 Aug 2021 12:14:52 +0000 (08:14 -0400)
commita844a2211f58cb6f19efa88568bca300287dcd60
tree68f9812724039570273d1ec31009f07dc1785ffd
parenta09f673471671867e88f9c11553289cb3e4b7328
Bug 28567: Fix 0 vs "" vs undef on the admin library form

There are two things here:
* Branches.pickup_location has a default = 1 in DB, we should not set to undef if 0
or it will be set to 1 when stored.
* The other fields are all text (varchar, mediumtext or longtext) and
can be NULL. They are correct set to NULL when a new library is created
but set to an empty string when the library is modified. That's not
consistent

Test plan:
0. Don't apply the patch
1. Create a new library, set pickup location to "No"
2. Save
=> Pickup location is set to YES
=> In DB notice that the different values you didn't fill in are set to
NULL
3. Edit the library
4. Save
=> In DB notice that the different values you didn't fill in are now set
to an empty string
5. Apply the patch, restart_all
6. Run the updatedatabase script
=> In DB all the empty string values are set to NULL
7. Repeat 1 to 4 and confirm that everything is now working as expected

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
admin/branches.pl
installer/data/mysql/atomicupdate/bug_28567.perl [new file with mode: 0644]