From 46d19949c498d38ad8358dd2951dd5e72649ca27 Mon Sep 17 00:00:00 2001 From: Mark Noble Date: Fri, 10 Jan 2025 10:53:50 -0700 Subject: [PATCH] DIS-214 Link Patron Types with Account Profiles --- code/polaris_export/polaris_export.jar | Bin 595388 -> 595486 bytes .../polaris/PolarisExportMain.java | 25 +++++++++++------- code/web/sys/Account/PType.php | 15 +++++++++++ .../version_updates/25.02.00.php | 12 ++++++++- 4 files changed, 42 insertions(+), 10 deletions(-) diff --git a/code/polaris_export/polaris_export.jar b/code/polaris_export/polaris_export.jar index ed88c54d382e7dc286627603cb47a902ec9da9d2..c857b7558b4c4c0ee476702f42947cbf492f124c 100644 GIT binary patch delta 32660 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 diff --git a/code/polaris_export/src/com/turning_leaf_technologies/polaris/PolarisExportMain.java b/code/polaris_export/src/com/turning_leaf_technologies/polaris/PolarisExportMain.java index 08e37451cf..887f572425 100644 --- a/code/polaris_export/src/com/turning_leaf_technologies/polaris/PolarisExportMain.java +++ b/code/polaris_export/src/com/turning_leaf_technologies/polaris/PolarisExportMain.java @@ -68,6 +68,7 @@ public class PolarisExportMain { private static String serverName; private static IlsExtractLogEntry logEntry; + private static long accountProfileId; private static String webServiceUrl; private static String clientId; private static String clientSecret; @@ -159,6 +160,7 @@ public static void main(String[] args) { domain = accountProfileRS.getString("domain"); staffUsername = accountProfileRS.getString( "staffUsername"); staffPassword = accountProfileRS.getString( "staffPassword"); + profileToLoad = accountProfileRS.getString("recordSource"); } accountProfileRS.close(); @@ -425,8 +427,8 @@ private static void updateSublocationInfo(Connection dbConn) { private static void updateBranchInfo(Connection dbConn) { try{ PreparedStatement existingAspenLocationStmt = dbConn.prepareStatement("SELECT libraryId, locationId, isMainBranch from location where code = ?", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); - PreparedStatement existingAspenLibraryStmt = dbConn.prepareStatement("SELECT libraryId from library where ilsCode = ?", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); - PreparedStatement addAspenLibraryStmt = dbConn.prepareStatement("INSERT INTO library (subdomain, displayName, ilsCode, browseCategoryGroupId, groupedWorkDisplaySettingId) VALUES (?, ?, ?, 1, 1)", Statement.RETURN_GENERATED_KEYS); + PreparedStatement existingAspenLibraryStmt = dbConn.prepareStatement("SELECT libraryId from library where ilsCode = ? and accountProfileId = ?", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); + PreparedStatement addAspenLibraryStmt = dbConn.prepareStatement("INSERT INTO library (accountProfileId, subdomain, displayName, ilsCode, browseCategoryGroupId, groupedWorkDisplaySettingId) VALUES (?, ?, ?, ?, 1, 1)", Statement.RETURN_GENERATED_KEYS); PreparedStatement addAspenLocationStmt = dbConn.prepareStatement("INSERT INTO location (libraryId, displayName, code, browseCategoryGroupId, groupedWorkDisplaySettingId) VALUES (?, ?, ?, -1, -1)", Statement.RETURN_GENERATED_KEYS); PreparedStatement addAspenLocationRecordsOwnedStmt = dbConn.prepareStatement("INSERT INTO location_records_to_include (locationId, indexingProfileId, location, subLocation, markRecordsAsOwned) VALUES (?, ?, ?, '', 1)"); PreparedStatement addAspenLocationRecordsToIncludeStmt = dbConn.prepareStatement("INSERT INTO location_records_to_include (locationId, indexingProfileId, location, subLocation, weight) VALUES (?, ?, '.*', '', 1)"); @@ -454,12 +456,14 @@ private static void updateBranchInfo(Connection dbConn) { int organizationCodeId = organizationInfo.getInt("OrganizationCodeID"); if (organizationCodeId == 2) { existingAspenLibraryStmt.setLong(1, ilsId); + existingAspenLibraryStmt.setLong(2, accountProfileId); ResultSet existingLibraryRS = existingAspenLibraryStmt.executeQuery(); long libraryId = 0; if (!existingLibraryRS.next()) { - addAspenLibraryStmt.setString(1, abbreviation); - addAspenLibraryStmt.setString(2, libraryDisplayName); - addAspenLibraryStmt.setLong(3, ilsId); + addAspenLibraryStmt.setLong(1, accountProfileId); + addAspenLibraryStmt.setString(2, abbreviation); + addAspenLibraryStmt.setString(3, libraryDisplayName); + addAspenLibraryStmt.setLong(4, ilsId); addAspenLibraryStmt.executeUpdate(); ResultSet addAspenLibraryRS = addAspenLibraryStmt.getGeneratedKeys(); if (addAspenLibraryRS.next()){ @@ -535,7 +539,8 @@ private static void updateBranchInfo(Connection dbConn) { private static void updatePatronCodes(Connection dbConn){ try{ - PreparedStatement existingPTypeStmt = dbConn.prepareStatement("SELECT * from ptype"); + PreparedStatement existingPTypeStmt = dbConn.prepareStatement("SELECT * from ptype where accountProfileId = ?"); + existingPTypeStmt.setLong(1, accountProfileId); ResultSet existingPTypesRS = existingPTypeStmt.executeQuery(); HashSet existingPTypes = new HashSet<>(); while (existingPTypesRS.next()){ @@ -543,7 +548,7 @@ private static void updatePatronCodes(Connection dbConn){ } existingPTypesRS.close(); existingPTypeStmt.close(); - PreparedStatement addPTypeStmt = dbConn.prepareStatement("INSERT INTO ptype (pType, description) VALUES (?, ?)"); + PreparedStatement addPTypeStmt = dbConn.prepareStatement("INSERT INTO ptype (accountProfileId, pType, description) VALUES (?, ?, ?)"); //Get a list of all libraries String getPatronCodesUrl = "/PAPIService/REST/public/v1/1033/100/1/patroncodes"; WebServiceResponse patronCodesResponse = callPolarisAPI(getPatronCodesUrl, null, "GET", "application/json", null); @@ -554,8 +559,9 @@ private static void updatePatronCodes(Connection dbConn){ JSONObject curPatronType = patronCodeRows.getJSONObject(i); long patronCodeId = curPatronType.getLong("PatronCodeID"); if (!existingPTypes.contains(patronCodeId)){ - addPTypeStmt.setLong(1, patronCodeId); - addPTypeStmt.setString(2, curPatronType.getString("Description")); + addPTypeStmt.setLong(1, accountProfileId); + addPTypeStmt.setLong(2, patronCodeId); + addPTypeStmt.setString(3, curPatronType.getString("Description")); addPTypeStmt.executeUpdate(); } } @@ -762,6 +768,7 @@ private static boolean loadAccountProfile(Connection dbConn) { } clientId = accountProfileRS.getString("oAuthClientId"); clientSecret = accountProfileRS.getString("oAuthClientSecret"); + accountProfileId = accountProfileRS.getLong("id"); } else { logger.error("Could not find an account profile for Polaris stopping"); System.exit(1); diff --git a/code/web/sys/Account/PType.php b/code/web/sys/Account/PType.php index f82f8c2762..a8d403c101 100644 --- a/code/web/sys/Account/PType.php +++ b/code/web/sys/Account/PType.php @@ -6,6 +6,7 @@ class PType extends DataObject { public $__table = 'ptype'; // table name public $id; public $pType; //varchar(45) + public $accountProfileId; public $description; public $maxHolds; //int(11) public $assignedRoleId; @@ -53,6 +54,12 @@ static function getObjectStructure($context = ''): array { while ($twoFactorAuthSetting->fetch()) { $twoFactorAuthSettings[$twoFactorAuthSetting->id] = $twoFactorAuthSetting->name; } + require_once ROOT_DIR . '/sys/Account/AccountProfile.php'; + $accountProfile = new AccountProfile(); + $accountProfile->whereAdd("name <> 'admin'"); + $accountProfile->orderBy('name'); + $accountProfileOptions = $accountProfile->fetchAll('id', 'name'); + $structure = [ 'id' => [ 'property' => 'id', @@ -61,6 +68,14 @@ static function getObjectStructure($context = ''): array { 'description' => 'The unique id of the p-type within the database', 'hideInLists' => false, ], + 'accountProfileId' => [ + 'property' => 'accountProfileId', + 'type' => 'enum', + 'values' => $accountProfileOptions, + 'label' => 'Account Profile Id', + 'description' => 'Account Profile to apply to this interface', + 'permissions' => ['Administer Account Profiles'], + ], 'pType' => [ 'property' => 'pType', 'type' => 'text', diff --git a/code/web/sys/DBMaintenance/version_updates/25.02.00.php b/code/web/sys/DBMaintenance/version_updates/25.02.00.php index d22e7971e8..084145d245 100644 --- a/code/web/sys/DBMaintenance/version_updates/25.02.00.php +++ b/code/web/sys/DBMaintenance/version_updates/25.02.00.php @@ -13,7 +13,17 @@ function getUpdates25_02_00(): array { ], //name*/ //mark - Grove - + 'ptype_account_profile' => [ + 'title' => 'Patron Type - Add Account Profile', + 'description' => 'Add Information about which account profile a patron type belongs to', + 'continueOnError' => true, + 'sql' => [ + 'ALTER TABLE ptype ADD COLUMN accountProfileId INT', + "UPDATE ptype set accountProfileId = (SELECT MIN(id) from account_profiles where ils <> 'na' and name <> 'admin')", + "ALTER TABLE ptype DROP INDEX ptype", + "ALTER TABLE ptype ADD UNIQUE INDEX ptype_profile(ptype, accountProfileId)", + ] + ], //ptype_account_profile //katherine