Adjust Kyle Tomita's patron dupe check fix to use the depth concept
authorLebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Fri, 16 Aug 2013 13:31:16 +0000 (09:31 -0400)
committerLebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Fri, 16 Aug 2013 14:29:16 +0000 (10:29 -0400)
Addressing these comments:
https://bugs.launchpad.net/evergreen/+bug/1185524/comments/3

And also renaming the OU setting to better peer with similar settings
affecting staff client (not OPAC) patron registration.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.add_setting_for_selecting_consortium_as_search_ou_for_duplicate_patron_check.sql

index 1ea0f32..37ad23b 100644 (file)
@@ -1329,9 +1329,18 @@ sub patron_adv_search {
     my $opt_boundary = 0;
     $opt_boundary = $U->ou_ancestor_setting_value($e->requestor->ws_ou,'org.patron_opt_boundary') if user_opt_in_enabled($self);
 
     my $opt_boundary = 0;
     $opt_boundary = $U->ou_ancestor_setting_value($e->requestor->ws_ou,'org.patron_opt_boundary') if user_opt_in_enabled($self);
 
-    #Only set search_ou if it is undef.  Set search_ou to Consortium (1) or the workstation org unit depending on Library Setting
-    $search_ou = ($U->ou_ancestor_setting_value($e->requestor->ws_ou, 'opac.duplicate_patron_check_use_consortium') == 1) ? 1 : $e->requestor->ws_ou if $search_ou == undef;
+    if (not defined $search_ou) {
+        my $depth = $U->ou_ancestor_setting_value(
+            $e->requestor->ws_ou,
+            'circ.patron_edit.duplicate_patron_check_depth'
+        );
 
 
+        if (defined $depth) {
+            $search_ou = $U->org_unit_ancestor_at_depth(
+                $e->requestor->ws_ou, $depth
+            );
+        }
+    }
     return $U->storagereq(
         "open-ils.storage.actor.user.crazy_search", $search_hash, 
             $search_limit, $search_sort, $include_inactive, $e->requestor->ws_ou, $search_ou, $opt_boundary);
     return $U->storagereq(
         "open-ils.storage.actor.user.crazy_search", $search_hash, 
             $search_limit, $search_sort, $include_inactive, $e->requestor->ws_ou, $search_ou, $opt_boundary);
index 47765d5..82d83dd 100644 (file)
@@ -4880,18 +4880,18 @@ INSERT into config.org_unit_setting_type
     ),
     'string', null)
 
     ),
     'string', null)
 
-,( 'opac.duplicate_patron_check_use_consortium', 'opac',
+,( 'circ.patron_edit.duplicate_patron_check_depth', 'circ',
     oils_i18n_gettext(
     oils_i18n_gettext(
-        'opac.duplicate_patron_check_use_consortium',
-        'Use consortium as the search ou for the duplicate patron check.',
+        'circ.patron_edit.duplicate_patron_check_depth',
+        'Specify search depth for the duplicate patron check in the patron editor',
         'coust',
         'label'),
     oils_i18n_gettext(
         'coust',
         'label'),
     oils_i18n_gettext(
-        'opac.duplicate_patron_check_use_consortium',
-        'When using the patron registration page, the duplicate patron check will use the consortium as the search_ou.',
+        'circ.patron_edit.duplicate_patron_check_depth',
+        'When using the patron registration page, the duplicate patron check will use the configured depth to scope the search for duplicate patrons.',
         'coust',
         'description'),
         'coust',
         'description'),
-    'bool', null)
+    'integer', null)
 ;
 
 UPDATE config.org_unit_setting_type
 ;
 
 UPDATE config.org_unit_setting_type
index 957d278..caa6c4e 100644 (file)
@@ -1,24 +1,22 @@
 BEGIN;
 
 BEGIN;
 
-    SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+INSERT INTO config.org_unit_setting_type ( name, grp, label, description, datatype ) VALUES (
+    'circ.patron_edit.duplicate_patron_check_depth', 'circ',
+    oils_i18n_gettext(
+        'circ.patron_edit.duplicate_patron_check_depth',
+        'Specify search depth for the duplicate patron check in the patron editor',
+        'coust',
+        'label'),
+    oils_i18n_gettext(
+        'circ.patron_edit.duplicate_patron_check_depth',
+        'When using the patron registration page, the duplicate patron check will use the configured depth to scope the search for duplicate patrons.',
+        'coust',
+        'description'),
+    'integer')
+;
 
 
-    INSERT INTO config.org_unit_setting_type ( name, grp, label, description, datatype ) VALUES (
-        'opac.duplicate_patron_check_use_consortium', 'opac',
-            oils_i18n_gettext(
-                'opac.duplicate_patron_check_use_consortium',
-                'Use consortium as the search ou for the duplicate patron check.',
-                'coust',
-                'label'),
-            oils_i18n_gettext(
-                'opac.duplicate_patron_check_use_consortium',
-                'When using the patron registration page, the duplicate patron check will use the consortium as the search_ou.',
-                'coust',
-                'description'),
-            'bool'
-    );
 
 
-    INSERT INTO actor.org_unit_setting (org_unit, name, value) VALUES (
-            1, 'opac.duplicate_patron_check_use_consortium', 'true'
-    );
 
 COMMIT;
 
 COMMIT;