Skip to content

Commit

Permalink
Merge branch '25.02.00' into 25.03.00
Browse files Browse the repository at this point in the history
  • Loading branch information
mdnoble73 committed Feb 7, 2025
2 parents c786812 + e447b1a commit 5e2c890
Show file tree
Hide file tree
Showing 11 changed files with 115 additions and 36 deletions.
Binary file modified code/events_indexer/events_indexer.jar
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,12 @@ public String getRawValue() {

public String getValue() {
if (allowableValues.length > 0 && StringUtils.isNumeric(value)) {
return allowableValues[Integer.parseInt(value)];
try {
return allowableValues[Integer.parseInt(value)];
}catch (ArrayIndexOutOfBoundsException e) {
//MDN 2/6/25 do additional handling and logging if we don't get a good value.
return "Unknown";
}
} else {
return value;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ private void loadEvents() {


void indexEvents() {

if (runFullUpdate) {
//MDN 2/6/2025 temporarily run full update always until processing just changes can be done
if (true || runFullUpdate) {
try {
solrUpdateServer.deleteByQuery("type:event AND source:" + this.settingsId);
} catch (BaseHttpSolrClient.RemoteSolrException rse) {
Expand Down
10 changes: 10 additions & 0 deletions code/web/release_notes/25.01.02.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## Aspen Discovery Updates
### Account Updates
- Correct remember this pickup location functionality when sublocations are not defined for a location. (DIS-296) (*MDN*)

## This release includes code contributions from
### Grove For Libraries
- Mark Noble (MDN)

## Special Testing thanks to
- Joe Salamon (Cuyahoga Public Library)
29 changes: 16 additions & 13 deletions code/web/release_notes/25.02.00.MD
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@

### Aspen LiDA Updates
- 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*)
- Allow any user with the permission to modify system variables the permission to enable branded apps, not just aspen_admin. (DIS-270) (*MDN*)
- Added new setting to show/hide More Info button on the Grouped Work screen in Aspen LiDA. (DIS-207) (*KK*)

<div markdown="1" class="settings">
Expand Down Expand Up @@ -149,24 +150,24 @@

### Koha Updates
- When existing volumes during indexing, only load volumes for the current indexing profile. (*MDN*)
- For libraries that use Koha as their ILS, and use the koha-plugin-newsletter-consent plugin
- 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*)
- 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*)
- 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*)
- For libraries that use Koha as their ILS, and use the koha-plugin-newsletter-consent plugin (DIS-98)
- 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*)
- 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*)
- 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*)
- If 'Enable ILS-issued consents' is enabled:
- the 'Privacy Settings' options will appear in patron side menus. (*CZ*)
- 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*)
- Patrons will be able to choose to opt in, which implies that consent is not assumed by default. (*CZ*)
- Patrons will be able to submit their consent along with their registration form. (*CZ*)
- Patrons will be sent to Koha, where it is stored. (*CZ*)
- 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*)
- 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*)
- the 'Privacy Settings' options will appear in patron's side menus. (DIS-98) (*CZ*)
- 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*)
- Patrons will be able to choose to opt in, which implies that consent is not assumed by default. (DIS-98) (*CZ*)
- Patrons will be able to submit their consent along with their registration form. (DIS-98) (*CZ*)
- Patrons will be sent to Koha, where it is stored. (DIS-98) (*CZ*)
- 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*)
- 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*)

### Material Request Updates
- Allow some patron types to submit unlimited material requests. (DIS-256) (*MDN*)
- 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*)
- 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)
- 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)
- 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*)
- 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*)

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

Expand Down Expand Up @@ -257,6 +258,8 @@
- Jordan Fields (Grove)

## This release includes sponsored developments from
- Colorado Department of Corrections
- Colorado Library Consortium (CLiC)
- Greater Manchester Inter Library Consortial System (GMILCS)
- Metropolitan Library System
- Minuteman Library Network
Expand Down
12 changes: 7 additions & 5 deletions code/web/services/Admin/Libraries.php
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,13 @@ function getObjectStructure($context = ''): array {
$catalogDriver = CatalogFactory::getCatalogConnectionInstance(trim($accountProfile->driver), $accountProfile);
$consentPluginNames = $catalogDriver->getPluginNamesByMethodName('patron_consent_type');
$anyConsentPluginsEnabled = false;
foreach($consentPluginNames as $pluginName) {
$pluginStatus = $catalogDriver->getPluginStatus($pluginName);
if ($pluginStatus['enabled']) {
$anyConsentPluginsEnabled = true;
break;
if ($consentPluginNames != false) {
foreach ($consentPluginNames as $pluginName) {
$pluginStatus = $catalogDriver->getPluginStatus($pluginName);
if ($pluginStatus['enabled']) {
$anyConsentPluginsEnabled = true;
break;
}
}
}

Expand Down
File renamed without changes.
39 changes: 25 additions & 14 deletions code/web/services/Record/AJAX.php
Original file line number Diff line number Diff line change
Expand Up @@ -1820,35 +1820,46 @@ function setupHoldForm(string $recordSource, ?bool &$rememberHoldPickupLocation,
if (!$multipleAccountPickupLocations && !$promptForHoldNotifications && $library->allowRememberPickupLocation) {
//If the patron's preferred pickup location is not valid, then force them to pick a new location
$preferredPickupLocationIsValid = false;
$preferredPickupLocation = null;
$preferredPickupSublocationIsValid = false;
foreach ($locations as $location) {
if (is_object($location) && ($location->locationId == $user->pickupLocationId)) {
$preferredPickupLocationIsValid = true;
$preferredPickupLocation = $location;
break;
}
}

require_once ROOT_DIR . '/sys/LibraryLocation/Sublocation.php';
require_once ROOT_DIR . '/sys/LibraryLocation/SublocationPatronType.php';
$patronType = $user->getPTypeObj();
$sublocationLookup = new Sublocation();
$sublocationLookup->id = $user->pickupSublocationId;
$sublocationLookup->isValidHoldPickupAreaILS = 1;
$sublocationLookup->isValidHoldPickupAreaAspen = 1;
if ($sublocationLookup->find(true)) {
$sublocationPType = new SublocationPatronType();
$sublocationPType->patronTypeId = $patronType->id;
$sublocationPType->sublocationId = $sublocationLookup->id;
if ($sublocationPType->find(true)) {
$preferredPickupSublocationIsValid = true;
$preferredPickupSublocationIsValid = true;
if ($preferredPickupLocationIsValid) {
//The preferred location is valid, check to see if sublocations are in use and if so if the preferred pickup area is valid
$preferredSublocationsAtPreferredLocation = $preferredPickupLocation->getPickupSublocations($user);
if (count($preferredSublocationsAtPreferredLocation) > 1) {
$preferredPickupSublocationIsValid = false;
require_once ROOT_DIR . '/sys/LibraryLocation/Sublocation.php';
require_once ROOT_DIR . '/sys/LibraryLocation/SublocationPatronType.php';
$patronType = $user->getPTypeObj();
$sublocationLookup = new Sublocation();
$sublocationLookup->id = $user->pickupSublocationId;
$sublocationLookup->isValidHoldPickupAreaILS = 1;
$sublocationLookup->isValidHoldPickupAreaAspen = 1;
if ($sublocationLookup->find(true)) {
$sublocationPType = new SublocationPatronType();
$sublocationPType->patronTypeId = $patronType->id;
$sublocationPType->sublocationId = $sublocationLookup->id;
if ($sublocationPType->find(true)) {
$preferredPickupSublocationIsValid = true;
}
}
}
}

if ($preferredPickupLocationIsValid && $preferredPickupSublocationIsValid) {
$rememberHoldPickupLocation = $user->rememberHoldPickupLocation;
} else {
$rememberHoldPickupLocation = false;
} } else {
}
} else {
$rememberHoldPickupLocation = false;
}
$interface->assign('rememberHoldPickupLocation', $rememberHoldPickupLocation);
Expand Down
39 changes: 39 additions & 0 deletions code/web/sys/DBMaintenance/version_updates/25.01.02.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?php

function getUpdates25_01_02(): array {
$curTime = time();
return [
/*'name' => [
'title' => '',
'description' => '',
'continueOnError' => false,
'sql' => [
''
]
], //name*/

//mark - Grove

//katherine

//kirstien - Grove

//sublocation_ptype_uniqueness

//kodi

//alexander - PTFS-Europe

//chloe - PTFS-Europe

//James Staub - Nashville Public Library

//Lucas Montoya - Theke Solutions

//other

//yanjun - ByWater


];
}
10 changes: 10 additions & 0 deletions code/web/sys/DBMaintenance/version_updates/25.02.00.php
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,16 @@ function getUpdates25_02_00(): array {
"ALTER TABLE system_variables ADD COLUMN enableAspenEvents TINYINT(1) DEFAULT 0"
]
], //native_events_indexing_tables
'increase_event_field_lengths' => [
'title' => 'Increase field lengths for some Aspen Events tables',
'description' => 'Increase field lengths for some Aspen Events tables',
'sql' => [
'ALTER TABLE event_field CHANGE COLUMN allowableValues allowableValues TEXT',
'ALTER TABLE event CHANGE COLUMN description description TEXT',
'ALTER TABLE event_type CHANGE COLUMN description description TEXT',
'ALTER TABLE event_instance CHANGE COLUMN note note TEXT',
]
], //increase_event_field_lengths

//kirstien - Grove
'lida_general_settings_add_more_info' => [
Expand Down
1 change: 0 additions & 1 deletion code/web/sys/SystemVariables.php
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,6 @@ static function getObjectStructure($context = ''): array {
$objectStructure['indexingSection']['properties']['storeRecordDetailsInDatabase']['type'] = 'hidden';
$objectStructure['indexingSection']['properties']['indexVersion']['type'] = 'hidden';
$objectStructure['indexingSection']['properties']['searchVersion']['type'] = 'hidden';
$objectStructure['enableBrandedApp']['type'] = 'hidden';
$objectStructure['enableAspenEvents']['type'] = 'hidden';
}

Expand Down

0 comments on commit 5e2c890

Please sign in to comment.