From 61aa4a4ab420ff3caf9c8ea634465ca4e404f546 Mon Sep 17 00:00:00 2001 From: Demian Katz <demian.katz@villanova.edu> Date: Fri, 20 Mar 2015 11:01:49 -0400 Subject: [PATCH] Fixed call number sort configuration. --- config/vufind/searches.ini | 2 +- module/VuFind/src/VuFind/Config/Upgrade.php | 13 +++++++++++++ .../src/VuFindTest/Config/UpgradeTest.php | 8 ++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/config/vufind/searches.ini b/config/vufind/searches.ini index f0576f491e2..b855252ebec 100644 --- a/config/vufind/searches.ini +++ b/config/vufind/searches.ini @@ -151,7 +151,7 @@ title = sort_title ; [Sorting] section above. Any search type that is not listed here will be sorted ; using the default_sort setting in the [General] section above. [DefaultSortingByType] -CallNumber = callnumber +CallNumber = callnumber-sort ; Each search type defined in searchspecs.yaml can have one or more "recommendations ; modules" associated with it in the following sections. These plug-ins will cause diff --git a/module/VuFind/src/VuFind/Config/Upgrade.php b/module/VuFind/src/VuFind/Config/Upgrade.php index 29baac43769..1a1b6631c36 100644 --- a/module/VuFind/src/VuFind/Config/Upgrade.php +++ b/module/VuFind/src/VuFind/Config/Upgrade.php @@ -742,6 +742,19 @@ class Upgrade } } + // fix call number sort settings: + if (isset($newConfig['Sorting']['callnumber'])) { + $newConfig['Sorting']['callnumber-sort'] + = $newConfig['Sorting']['callnumber']; + unset($newConfig['Sorting']['callnumber']); + } + if (isset($newConfig['DefaultSortingByType'])) { + foreach ($newConfig['DefaultSortingByType'] as & $v) { + if ($v === 'callnumber') { + $v = 'callnumber-sort'; + } + } + } $this->upgradeSpellingSettings('searches.ini', ['CallNumber']); // save the file diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/Config/UpgradeTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/Config/UpgradeTest.php index 3600da0f165..3de75198fdf 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/Config/UpgradeTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/Config/UpgradeTest.php @@ -137,6 +137,14 @@ class UpgradeTest extends \VuFindTest\Unit\TestCase ], $results['searches.ini']['TopRecommendations'] ); + $this->assertEquals( + ['CallNumber' => 'callnumber-sort'], + $results['searches.ini']['DefaultSortingByType'] + ); + $this->assertEquals( + 'sort_callnumber', + $results['searches.ini']['Sorting']['callnumber-sort'] + ); $this->assertEquals( ['SummonDatabases', 'SpellingSuggestions'], $results['Summon.ini']['General']['default_top_recommend'] -- GitLab