Bug 35058: Automatically show authority tab 0 if DefaultAuthorityTab is empty

The change to the authority detail page made by Bug 34075 didn't take
into account the possibility that the DefaultAuthorityTab tab preference
might be empty. This leads to a JavaScript error and no tabs being
shown.

We can avoid this situation by initializing the tab_object variable as
an empty object.

To test, apply the patch and go to Authorities to repeat the test plan
for Bug 34075:

1. Locate and view the detail page for an authority record.
2. The page should default to the 0XX or first tab.
3. Go to Administration -> System preferences and set the
   DefaultAuthorityTab preference to a number that won't be found
   in your authority record (e.g. there are no 3XX tags defined).
4. Return to the detail page and verify that the first tab is displayed.
5. Set DefaultAuthorityTab to 1XX or greater, one that exists in your
   record.
6. Reload the detail page and confirm the correct tab is selected.
7. Test the case where DefaultAuthorityTab is undefined by directly
   updating the database. In koha-testing-docker you can run this
   command:

   echo "update systempreferences set value = 3 where variable = 'DefaultAuthorityTab';" | koha-mysql kohadev

   Return to the authority detail tab to confirm that the first tab is
   displayed.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
Owen Leonard 2023-10-16 11:02:00 +00:00 committed by Tomas Cohen Arazi
parent 5bad6a6d49
commit 90b89948f1
Signed by: tomascohen
GPG key ID: 0A272EA1B2F3C15F

View file

@ -136,7 +136,7 @@
<script> <script>
$(document).ready(function() { $(document).ready(function() {
if( $("#authoritiestabs .tab-pane.active").length < 1 ){ if( $("#authoritiestabs .tab-pane.active").length < 1 ){
let tab_object; let tab_object = [];
[% SET DefaultAuthorityTab = Koha.Preference('DefaultAuthorityTab') %] [% SET DefaultAuthorityTab = Koha.Preference('DefaultAuthorityTab') %]
[% IF DefaultAuthorityTab %] [% IF DefaultAuthorityTab %]