Skip to content

Commit 5e2c890

Browse files
committed
Merge branch '25.02.00' into 25.03.00
2 parents c786812 + e447b1a commit 5e2c890

File tree

11 files changed

+115
-36
lines changed

11 files changed

+115
-36
lines changed
9.73 KB
Binary file not shown.

code/events_indexer/src/com/turning_leaf_technologies/events/NativeEvent.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,12 @@ public String getRawValue() {
190190

191191
public String getValue() {
192192
if (allowableValues.length > 0 && StringUtils.isNumeric(value)) {
193-
return allowableValues[Integer.parseInt(value)];
193+
try {
194+
return allowableValues[Integer.parseInt(value)];
195+
}catch (ArrayIndexOutOfBoundsException e) {
196+
//MDN 2/6/25 do additional handling and logging if we don't get a good value.
197+
return "Unknown";
198+
}
194199
} else {
195200
return value;
196201
}

code/events_indexer/src/com/turning_leaf_technologies/events/NativeEventsIndexer.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@ private void loadEvents() {
102102

103103

104104
void indexEvents() {
105-
106-
if (runFullUpdate) {
105+
//MDN 2/6/2025 temporarily run full update always until processing just changes can be done
106+
if (true || runFullUpdate) {
107107
try {
108108
solrUpdateServer.deleteByQuery("type:event AND source:" + this.settingsId);
109109
} catch (BaseHttpSolrClient.RemoteSolrException rse) {

code/web/release_notes/25.01.02.MD

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
## Aspen Discovery Updates
2+
### Account Updates
3+
- Correct remember this pickup location functionality when sublocations are not defined for a location. (DIS-296) (*MDN*)
4+
5+
## This release includes code contributions from
6+
### Grove For Libraries
7+
- Mark Noble (MDN)
8+
9+
## Special Testing thanks to
10+
- Joe Salamon (Cuyahoga Public Library)

code/web/release_notes/25.02.00.MD

+16-13
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757

5858
### Aspen LiDA Updates
5959
- When validating authentication tokens for LiDA, use the API keys within Branded App Settings if available, rather than validating against the Greenhouse. (DIS-270) (*MDN*)
60+
- Allow any user with the permission to modify system variables the permission to enable branded apps, not just aspen_admin. (DIS-270) (*MDN*)
6061
- Added new setting to show/hide More Info button on the Grouped Work screen in Aspen LiDA. (DIS-207) (*KK*)
6162

6263
<div markdown="1" class="settings">
@@ -149,24 +150,24 @@
149150

150151
### Koha Updates
151152
- When existing volumes during indexing, only load volumes for the current indexing profile. (*MDN*)
152-
- For libraries that use Koha as their ILS, and use the koha-plugin-newsletter-consent plugin
153-
- Administrator with the permission to edit library settings will be able to toggle on/off the 'Enable ILS-issued consents' setting under the 'Data Protection Regulations' section. (*CZ*)
154-
- if the Koha plugin has not been installed and enabled in Koha, then the 'Enable ILS-issued consents' setting will not appear as it requires the plugin to be installed and enabled. (*CZ*)
155-
- if the Koha plugin is uninstalled or disabled in Koha while 'Enable ILS-issued consents' is toggled on, 'Enable ILS-issued consents' will still display. (*CZ*)
153+
- For libraries that use Koha as their ILS, and use the koha-plugin-newsletter-consent plugin (DIS-98)
154+
- Administrator with the permission to edit library settings will be able to toggle on/off the 'Enable ILS-issued consents' setting under the 'Data Protection Regulations' section. (DIS-98) (*CZ*)
155+
- if the Koha plugin has not been installed and enabled in Koha, then the 'Enable ILS-issued consents' setting will not appear as it requires the plugin to be installed and enabled. (DIS-98) (*CZ*)
156+
- if the Koha plugin is uninstalled or disabled in Koha while 'Enable ILS-issued consents' is toggled on, 'Enable ILS-issued consents' will still display. (DIS-98) (*CZ*)
156157
- If 'Enable ILS-issued consents' is enabled:
157-
- the 'Privacy Settings' options will appear in patron side menus. (*CZ*)
158-
- In the self-registration form, under a ‘Privacy’ section, patrons need to see information about the consent types set by their library in Koha. For example, they may be given the opportunity to receive the library’s newsletter. (*CZ*)
159-
- Patrons will be able to choose to opt in, which implies that consent is not assumed by default. (*CZ*)
160-
- Patrons will be able to submit their consent along with their registration form. (*CZ*)
161-
- Patrons will be sent to Koha, where it is stored. (*CZ*)
162-
- Patrons will be able to view and change their consent information (as retrieved from Koha) at any point through the ‘Your Account > Privacy Settings ’ section. (*CZ*)
163-
- If ILS consent is enabled in the Aspen settings, but the Koha plugin is disabled or uninstalled, patron will see an informative message in 'Privacy Settings'. (*CZ*)
158+
- the 'Privacy Settings' options will appear in patron's side menus. (DIS-98) (*CZ*)
159+
- In the self-registration form, under a ‘Privacy’ section, patrons need to see information about the consent types set by their library in Koha. For example, they may be given the opportunity to receive the library’s newsletter. (DIS-98) (*CZ*)
160+
- Patrons will be able to choose to opt in, which implies that consent is not assumed by default. (DIS-98) (*CZ*)
161+
- Patrons will be able to submit their consent along with their registration form. (DIS-98) (*CZ*)
162+
- Patrons will be sent to Koha, where it is stored. (DIS-98) (*CZ*)
163+
- Patrons will be able to view and change their consent information (as retrieved from Koha) at any point through the ‘Your Account > Privacy Settings ’ section. (DIS-98) (*CZ*)
164+
- If ILS consent is enabled in the Aspen settings, but the Koha plugin is disabled or uninstalled, patron will see an informative message in 'Privacy Settings'. (DIS-98) (*CZ*)
164165

165166
### Material Request Updates
166167
- Allow some patron types to submit unlimited material requests. (DIS-256) (*MDN*)
167168
- Allow requests per calendar year to be based on a start date selected by the library rather than using January 1st always. (DIS-291) (*MDN*)
168-
- When placing a request, check to see if the title already exists within the catalog and if so, let the patron know. This check can be disabled within library settings. (DIS-320)
169-
- When managing requests, if "Check Requests for Existing Titles in the Catalog" is on for a library, show a new column that indicates if the request exists in the catalog, exists in another format, or does not exist. The value is checked once per day. (DIS-320)
169+
- When placing a request, check to see if the title already exists within the catalog and if so, let the patron know. This check can be disabled within library settings. (DIS-320) (*MDN*)
170+
- When managing requests, if "Check Requests for Existing Titles in the Catalog" is on for a library, show a new column that indicates if the request exists in the catalog, exists in another format, or does not exist. The value is checked once per day. (DIS-320) (*MDN*)
170171

171172
<div markdown="1" class="settings">
172173

@@ -257,6 +258,8 @@
257258
- Jordan Fields (Grove)
258259

259260
## This release includes sponsored developments from
261+
- Colorado Department of Corrections
262+
- Colorado Library Consortium (CLiC)
260263
- Greater Manchester Inter Library Consortial System (GMILCS)
261264
- Metropolitan Library System
262265
- Minuteman Library Network

code/web/services/Admin/Libraries.php

+7-5
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,13 @@ function getObjectStructure($context = ''): array {
8080
$catalogDriver = CatalogFactory::getCatalogConnectionInstance(trim($accountProfile->driver), $accountProfile);
8181
$consentPluginNames = $catalogDriver->getPluginNamesByMethodName('patron_consent_type');
8282
$anyConsentPluginsEnabled = false;
83-
foreach($consentPluginNames as $pluginName) {
84-
$pluginStatus = $catalogDriver->getPluginStatus($pluginName);
85-
if ($pluginStatus['enabled']) {
86-
$anyConsentPluginsEnabled = true;
87-
break;
83+
if ($consentPluginNames != false) {
84+
foreach ($consentPluginNames as $pluginName) {
85+
$pluginStatus = $catalogDriver->getPluginStatus($pluginName);
86+
if ($pluginStatus['enabled']) {
87+
$anyConsentPluginsEnabled = true;
88+
break;
89+
}
8890
}
8991
}
9092

code/web/services/Record/AJAX.php

+25-14
Original file line numberDiff line numberDiff line change
@@ -1820,35 +1820,46 @@ function setupHoldForm(string $recordSource, ?bool &$rememberHoldPickupLocation,
18201820
if (!$multipleAccountPickupLocations && !$promptForHoldNotifications && $library->allowRememberPickupLocation) {
18211821
//If the patron's preferred pickup location is not valid, then force them to pick a new location
18221822
$preferredPickupLocationIsValid = false;
1823+
$preferredPickupLocation = null;
18231824
$preferredPickupSublocationIsValid = false;
18241825
foreach ($locations as $location) {
18251826
if (is_object($location) && ($location->locationId == $user->pickupLocationId)) {
18261827
$preferredPickupLocationIsValid = true;
1828+
$preferredPickupLocation = $location;
18271829
break;
18281830
}
18291831
}
18301832

1831-
require_once ROOT_DIR . '/sys/LibraryLocation/Sublocation.php';
1832-
require_once ROOT_DIR . '/sys/LibraryLocation/SublocationPatronType.php';
1833-
$patronType = $user->getPTypeObj();
1834-
$sublocationLookup = new Sublocation();
1835-
$sublocationLookup->id = $user->pickupSublocationId;
1836-
$sublocationLookup->isValidHoldPickupAreaILS = 1;
1837-
$sublocationLookup->isValidHoldPickupAreaAspen = 1;
1838-
if ($sublocationLookup->find(true)) {
1839-
$sublocationPType = new SublocationPatronType();
1840-
$sublocationPType->patronTypeId = $patronType->id;
1841-
$sublocationPType->sublocationId = $sublocationLookup->id;
1842-
if ($sublocationPType->find(true)) {
1843-
$preferredPickupSublocationIsValid = true;
1833+
$preferredPickupSublocationIsValid = true;
1834+
if ($preferredPickupLocationIsValid) {
1835+
//The preferred location is valid, check to see if sublocations are in use and if so if the preferred pickup area is valid
1836+
$preferredSublocationsAtPreferredLocation = $preferredPickupLocation->getPickupSublocations($user);
1837+
if (count($preferredSublocationsAtPreferredLocation) > 1) {
1838+
$preferredPickupSublocationIsValid = false;
1839+
require_once ROOT_DIR . '/sys/LibraryLocation/Sublocation.php';
1840+
require_once ROOT_DIR . '/sys/LibraryLocation/SublocationPatronType.php';
1841+
$patronType = $user->getPTypeObj();
1842+
$sublocationLookup = new Sublocation();
1843+
$sublocationLookup->id = $user->pickupSublocationId;
1844+
$sublocationLookup->isValidHoldPickupAreaILS = 1;
1845+
$sublocationLookup->isValidHoldPickupAreaAspen = 1;
1846+
if ($sublocationLookup->find(true)) {
1847+
$sublocationPType = new SublocationPatronType();
1848+
$sublocationPType->patronTypeId = $patronType->id;
1849+
$sublocationPType->sublocationId = $sublocationLookup->id;
1850+
if ($sublocationPType->find(true)) {
1851+
$preferredPickupSublocationIsValid = true;
1852+
}
1853+
}
18441854
}
18451855
}
18461856

18471857
if ($preferredPickupLocationIsValid && $preferredPickupSublocationIsValid) {
18481858
$rememberHoldPickupLocation = $user->rememberHoldPickupLocation;
18491859
} else {
18501860
$rememberHoldPickupLocation = false;
1851-
} } else {
1861+
}
1862+
} else {
18521863
$rememberHoldPickupLocation = false;
18531864
}
18541865
$interface->assign('rememberHoldPickupLocation', $rememberHoldPickupLocation);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?php
2+
3+
function getUpdates25_01_02(): array {
4+
$curTime = time();
5+
return [
6+
/*'name' => [
7+
'title' => '',
8+
'description' => '',
9+
'continueOnError' => false,
10+
'sql' => [
11+
''
12+
]
13+
], //name*/
14+
15+
//mark - Grove
16+
17+
//katherine
18+
19+
//kirstien - Grove
20+
21+
//sublocation_ptype_uniqueness
22+
23+
//kodi
24+
25+
//alexander - PTFS-Europe
26+
27+
//chloe - PTFS-Europe
28+
29+
//James Staub - Nashville Public Library
30+
31+
//Lucas Montoya - Theke Solutions
32+
33+
//other
34+
35+
//yanjun - ByWater
36+
37+
38+
];
39+
}

code/web/sys/DBMaintenance/version_updates/25.02.00.php

+10
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,16 @@ function getUpdates25_02_00(): array {
266266
"ALTER TABLE system_variables ADD COLUMN enableAspenEvents TINYINT(1) DEFAULT 0"
267267
]
268268
], //native_events_indexing_tables
269+
'increase_event_field_lengths' => [
270+
'title' => 'Increase field lengths for some Aspen Events tables',
271+
'description' => 'Increase field lengths for some Aspen Events tables',
272+
'sql' => [
273+
'ALTER TABLE event_field CHANGE COLUMN allowableValues allowableValues TEXT',
274+
'ALTER TABLE event CHANGE COLUMN description description TEXT',
275+
'ALTER TABLE event_type CHANGE COLUMN description description TEXT',
276+
'ALTER TABLE event_instance CHANGE COLUMN note note TEXT',
277+
]
278+
], //increase_event_field_lengths
269279

270280
//kirstien - Grove
271281
'lida_general_settings_add_more_info' => [

code/web/sys/SystemVariables.php

-1
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,6 @@ static function getObjectStructure($context = ''): array {
380380
$objectStructure['indexingSection']['properties']['storeRecordDetailsInDatabase']['type'] = 'hidden';
381381
$objectStructure['indexingSection']['properties']['indexVersion']['type'] = 'hidden';
382382
$objectStructure['indexingSection']['properties']['searchVersion']['type'] = 'hidden';
383-
$objectStructure['enableBrandedApp']['type'] = 'hidden';
384383
$objectStructure['enableAspenEvents']['type'] = 'hidden';
385384
}
386385

0 commit comments

Comments
 (0)