To recreate: 1 - Define values for bsort1 2 - Edit a patron 3 - note that you must select a value (cannot leave blank) You can workaround this by instering a blank value into the authorized value list, but it seems we should not force selection.
Created attachment 103213 [details] [review] Bug 18680: Add an empty entry by default to sort1/sort2 values in patron account When using sort1/sort2 with authorised values to create a pull down list, there will be no empty entry unless one is manually added to the authorised values list. This is not a good default behaviour, as it can easily cause errors on patron creation. Without the empty entry, the first alphabetic value is pre-selected and will be saved if not explicitly changed. It also doesn't allow to mark sort1/sort2 as mandatory, as the value is always 'set', the required message won't be triggered. This adds an empty parameter to av-build-dropbox.inc to allow selectively adding this empty entry without causing side-effects in other places this include is used. To test: - Create authorised values for either Bsort1 or Bsort2 authorised value category - Create a new patron: - you should see a pull down list on one and an input field for the other - for the pull down list, there will be no empty entry and the first alphabetic value will be preselected - Make your sort1 and sort2 mandatory using BorrowerMandatoryField - Verify there is still on empty entry - Apply patch - Repeat tests and verify that the behaviour is as expected - There should now be an empty entry - When the field is marked mandatory and empty is left, the required warning will be shown.
There might be some things to discuss here, but I am putting it out there as we just recently ran into that question in training again.
Created attachment 103214 [details] [review] Bug 18680: Add an empty entry by default to sort1/sort2 values in patron account When using sort1/sort2 with authorised values to create a pull down list, there will be no empty entry unless one is manually added to the authorised values list. This is not a good default behaviour, as it can easily cause errors on patron creation. Without the empty entry, the first alphabetic value is pre-selected and will be saved if not explicitly changed. It also doesn't allow to mark sort1/sort2 as mandatory, as the value is always 'set', the required message won't be triggered. This adds an empty parameter to av-build-dropbox.inc to allow selectively adding this empty entry without causing side-effects in other places this include is used. To test: - Create authorised values for either Bsort1 or Bsort2 authorised value category - Create a new patron: - you should see a pull down list on one and an input field for the other - for the pull down list, there will be no empty entry and the first alphabetic value will be preselected - Make your sort1 and sort2 mandatory using BorrowerMandatoryField - Verify there is still on empty entry - Apply patch - Repeat tests and verify that the behaviour is as expected - There should now be an empty entry - When the field is marked mandatory and empty is left, the required warning will be shown.
Created attachment 103215 [details] [review] Bug 18680: Add an empty entry by default to sort1/sort2 values in patron account When using sort1/sort2 with authorised values to create a pull down list, there will be no empty entry unless one is manually added to the authorised values list. This is not a good default behaviour, as it can easily cause errors on patron creation. Without the empty entry, the first alphabetic value is pre-selected and will be saved if not explicitly changed. It also doesn't allow to mark sort1/sort2 as mandatory, as the value is always 'set', the required message won't be triggered. This adds an empty parameter to av-build-dropbox.inc to allow selectively adding this empty entry without causing side-effects in other places this include is used. To test: - Create authorised values for either Bsort1 or Bsort2 authorised value category - Create a new patron: - you should see a pull down list on one and an input field for the other - for the pull down list, there will be no empty entry and the first alphabetic value will be preselected - Make your sort1 and sort2 mandatory using BorrowerMandatoryField - Verify there is still on empty entry - Apply patch - Repeat tests and verify that the behaviour is as expected - There should now be an empty entry - When the field is marked mandatory and empty is left, the required warning will be shown. Signed-off-by: David Roberts <david@koha-ptfs.co.uk>
Created attachment 103257 [details] [review] Bug 18680: Add an empty entry by default to sort1/sort2 values in patron account When using sort1/sort2 with authorised values to create a pull down list, there will be no empty entry unless one is manually added to the authorised values list. This is not a good default behaviour, as it can easily cause errors on patron creation. Without the empty entry, the first alphabetic value is pre-selected and will be saved if not explicitly changed. It also doesn't allow to mark sort1/sort2 as mandatory, as the value is always 'set', the required message won't be triggered. This adds an empty parameter to av-build-dropbox.inc to allow selectively adding this empty entry without causing side-effects in other places this include is used. To test: - Create authorised values for either Bsort1 or Bsort2 authorised value category - Create a new patron: - you should see a pull down list on one and an input field for the other - for the pull down list, there will be no empty entry and the first alphabetic value will be preselected - Make your sort1 and sort2 mandatory using BorrowerMandatoryField - Verify there is still on empty entry - Apply patch - Repeat tests and verify that the behaviour is as expected - There should now be an empty entry - When the field is marked mandatory and empty is left, the required warning will be shown. Signed-off-by: David Roberts <david@koha-ptfs.co.uk> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Nice work everyone! Pushed to master for 20.05
Backported to 19.11.x for 19.11.06
backported to 19.05.x for 19.05.11