[open-ils-commits] [GIT] Evergreen ILS branch master updated. 634d20e550ee94022ced7c2dde17dffa4e458997

Evergreen Git git at git.evergreen-ils.org
Wed Mar 2 21:13:17 EST 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, master has been updated
       via  634d20e550ee94022ced7c2dde17dffa4e458997 (commit)
       via  2180dacd9611eb854ddbbcfe660e1b862529d58c (commit)
       via  bc9e73f82a6d6e533d21cdbd0003d2087a95d88b (commit)
       via  4b0e086007811aa79a69ecca80c054e048e6b409 (commit)
       via  eb7f94294daf5d96a0f9f3116bb5c940ce561d00 (commit)
      from  b3ebb9c9264c595e70cfb7daa74917b14de06d60 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 634d20e550ee94022ced7c2dde17dffa4e458997
Author: Galen Charlton <gmc at esilibrary.com>
Date:   Wed Mar 2 21:13:02 2016 -0500

    LP#1533329: stamp DB update
    
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>

diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql
index 1ec157b..96263af 100644
--- a/Open-ILS/src/sql/Pg/002.schema.config.sql
+++ b/Open-ILS/src/sql/Pg/002.schema.config.sql
@@ -91,7 +91,7 @@ CREATE TRIGGER no_overlapping_deps
     BEFORE INSERT OR UPDATE ON config.db_patch_dependencies
     FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates');
 
-INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0968', :eg_version); -- jstompro/gmcharlt
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0969', :eg_version); -- jeffdavis/stompro
 
 CREATE TABLE config.bib_source (
 	id		SERIAL	PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.restrict_opt_to_depth_setting.sql b/Open-ILS/src/sql/Pg/upgrade/0969.data.restrict_opt_to_depth_setting.sql
similarity index 89%
rename from Open-ILS/src/sql/Pg/upgrade/XXXX.data.restrict_opt_to_depth_setting.sql
rename to Open-ILS/src/sql/Pg/upgrade/0969.data.restrict_opt_to_depth_setting.sql
index 6e0a3d8..cb47c74 100644
--- a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.restrict_opt_to_depth_setting.sql
+++ b/Open-ILS/src/sql/Pg/upgrade/0969.data.restrict_opt_to_depth_setting.sql
@@ -1,6 +1,6 @@
 BEGIN;
 
-SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+SELECT evergreen.upgrade_deps_block_check('0969', :eg_version); -- jeffdavis/stompro
 
 INSERT INTO config.org_unit_setting_type
     (name, grp, label, description, datatype)

commit 2180dacd9611eb854ddbbcfe660e1b862529d58c
Author: Galen Charlton <gmc at esilibrary.com>
Date:   Wed Mar 2 21:07:09 2016 -0500

    LP#1533329: bail out of live Perl test if opt-in not enabled
    
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>

diff --git a/Open-ILS/src/perlmods/live_t/12-lp1533329-opt-in.t b/Open-ILS/src/perlmods/live_t/12-lp1533329-opt-in.t
index cdf9019..31b69ab 100644
--- a/Open-ILS/src/perlmods/live_t/12-lp1533329-opt-in.t
+++ b/Open-ILS/src/perlmods/live_t/12-lp1533329-opt-in.t
@@ -35,6 +35,14 @@ sub new_org_setting {
     return $set;
 }
 
+sub opt_in_enabled {
+    my $resp = $U->simplereq(
+        'open-ils.actor',
+        'open-ils.actor.user.org_unit_opt_in.enabled'
+    );
+    return $resp;
+}
+
 # do an opt-in check
 sub opt_in_check {
     my ($authtoken, $usr_id) = @_;
@@ -45,6 +53,10 @@ sub opt_in_check {
     return $resp;
 }
 
+unless(opt_in_enabled()) {
+    BAIL_OUT('cannot test opt-in unless enabled in opensrf.xml');
+}
+
 #----------------------------------------------------------------
 # 1. Login, register workstation, get authtoken.
 #----------------------------------------------------------------

commit bc9e73f82a6d6e533d21cdbd0003d2087a95d88b
Author: Jeff Davis <jdavis at sitka.bclibraries.ca>
Date:   Fri Feb 19 17:30:36 2016 -0800

    LP#1533329: release notes for restricted opt-in
    
    Signed-off-by: Jeff Davis <jdavis at sitka.bclibraries.ca>
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>

diff --git a/docs/RELEASE_NOTES_NEXT/Circulation/restrict_opt_in.adoc b/docs/RELEASE_NOTES_NEXT/Circulation/restrict_opt_in.adoc
new file mode 100644
index 0000000..5046293
--- /dev/null
+++ b/docs/RELEASE_NOTES_NEXT/Circulation/restrict_opt_in.adoc
@@ -0,0 +1,33 @@
+Selectively disallow opt-in based on patron's home library
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+A new org unit setting has been added which enables a library to prevent their
+patrons from being opted in at other libraries.
+
+For example, consider the following org unit hierarchy:
+
+       Org Units          Depth
+
+          CONS              0
+           |
+      +-----+-----+
+      |           |
+     SYS1        SYS2       1
+      |           |
+   +--+--+     +--+--+
+   |     |     |     |
+  BR1   BR2   BR3   BR4     2
+
+Suppose that SYS1 wishes to prevent its patrons from being opted in at SYS2.
+To accomplish this, it sets the value of the "Restrict patron opt-in to home
+library and related orgs at specified depth" setting to 1, meaning that patrons
+at SYS1 libraries at or below that depth in the org tree cannot be opted in by
+libraries outside that part of the org tree.  Thus, BR1 patrons can be opted in
+at BR2, but not at BR3 or BR4.
+
+(This setting is distinct from the "Patron Opt-In Boundary" setting, which
+merely determines the depth at which Evergreen prompts for the patron to opt
+in.)
+
+New Library Setting
++++++++++++++++++++
+  * Restrict patron opt-in to home library and related orgs at specified depth (org.restrict_opt_to_depth)

commit 4b0e086007811aa79a69ecca80c054e048e6b409
Author: Jeff Davis <jdavis at sitka.bclibraries.ca>
Date:   Wed Feb 3 15:03:49 2016 -0800

    LP#1533329: live tests for opt-in feature
    
    Signed-off-by: Jeff Davis <jdavis at sitka.bclibraries.ca>
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>

diff --git a/Open-ILS/src/perlmods/live_t/12-lp1533329-opt-in.t b/Open-ILS/src/perlmods/live_t/12-lp1533329-opt-in.t
new file mode 100644
index 0000000..cdf9019
--- /dev/null
+++ b/Open-ILS/src/perlmods/live_t/12-lp1533329-opt-in.t
@@ -0,0 +1,162 @@
+#!perl
+
+use Test::More tests => 12;
+
+diag("Test checking for, creating, and restricting patron opt-in.");
+
+use constant WORKSTATION_NAME => 'BR1-test-12-lp1533329-opt-in.t';
+use constant WORKSTATION_LIB => 4; # BR1, a branch of SYS1
+use constant PATRON_LIB => 6; # BR3, a branch of SYS2
+use constant PATRON_SYS => 3; # SYS2
+use constant SYS_DEPTH => 1; # depth of "System" org type
+use constant PATRON_BARCODE => '99999359616';
+
+use strict; use warnings;
+
+use OpenILS::Utils::TestUtils;
+use OpenILS::Utils::CStoreEditor qw/:funcs/;
+use OpenILS::Utils::Fieldmapper;
+
+my $script = OpenILS::Utils::TestUtils->new();
+$script->bootstrap;
+
+our $U = "OpenILS::Application::AppUtils";
+
+my $e = new_editor(xact => 1);
+$e->init;
+
+# initialize a new aous object for insertion into the db
+sub new_org_setting {
+    my ($org_unit, $name, $value) = @_;
+    my $set = Fieldmapper::actor::org_unit_setting->new();
+    $set->org_unit($org_unit);
+    $set->name($name);
+    $set->value($value);
+    return $set;
+}
+
+# do an opt-in check
+sub opt_in_check {
+    my ($authtoken, $usr_id) = @_;
+    my $resp = $U->simplereq(
+        'open-ils.actor',
+        'open-ils.actor.user.org_unit_opt_in.check',
+        $authtoken, $usr_id);
+    return $resp;
+}
+
+#----------------------------------------------------------------
+# 1. Login, register workstation, get authtoken.
+#----------------------------------------------------------------
+$script->authenticate({
+    username => 'admin',
+    password => 'demo123',
+    type => 'staff'});
+ok(
+    $script->authtoken,
+    'Have an authtoken'
+);
+my $ws = $script->register_workstation(WORKSTATION_NAME,WORKSTATION_LIB);
+ok(
+    ! ref $ws,
+    'Registered a new workstation'
+);
+$script->logout();
+$script->authenticate({
+    username => 'admin',
+    password => 'demo123',
+    type => 'staff',
+    workstation => WORKSTATION_NAME});
+ok(
+    $script->authtoken,
+    'Have an authtoken associated with the workstation'
+);
+
+#----------------------------------------------------------------
+# 2. Set org.patron_opt_boundary for SYS2, so that BR1 is outside
+# the boundary.
+#----------------------------------------------------------------
+$e->xact_begin;
+my $boundary = new_org_setting(PATRON_SYS, 'org.patron_opt_boundary', SYS_DEPTH);
+my $boundary_stat = $e->create_actor_org_unit_setting($boundary);
+ok($boundary_stat, 'Opt boundary setting created successfully');
+$e->xact_commit;
+
+#----------------------------------------------------------------
+# 3. Check opt-in for test patron.  It should return 0.
+#----------------------------------------------------------------
+my $patron = $U->fetch_user_by_barcode(PATRON_BARCODE);
+is(
+    opt_in_check($script->authtoken, $patron->id),
+    '0',
+    'Opt-in check for non-opted-in patron correctly returned 0'
+);
+
+#----------------------------------------------------------------
+# 4. Set org.restrict_opt_to_depth at SYS2, so that BR1 is
+# outside SYS2's section of the tree at the specified depth (thus
+# preventing opt-in).
+#----------------------------------------------------------------
+$e->xact_begin;
+my $restrict = new_org_setting(PATRON_SYS, 'org.restrict_opt_to_depth', SYS_DEPTH);
+my $restrict_stat = $e->create_actor_org_unit_setting($restrict);
+ok($restrict_stat, 'Opt restrict depth setting created successfully');
+$e->xact_commit;
+
+#----------------------------------------------------------------
+# 5. Check opt-in for test patron.  It should return 2.
+#----------------------------------------------------------------
+is(
+    opt_in_check($script->authtoken, $patron->id),
+    '2',
+    'Opt-in check for patron at restricted opt-in library correctly returned 2'
+);
+
+#----------------------------------------------------------------
+# 6. Remove the org.restrict_opt_to_depth setting for SYS2.
+#----------------------------------------------------------------
+$e->xact_begin;
+my $delete_restrict_stat = $e->delete_actor_org_unit_setting($restrict);
+ok($delete_restrict_stat, 'Opt restrict depth setting deleted successfully');
+$e->xact_commit;
+
+#----------------------------------------------------------------
+# 7. Create opt-in for test patron.
+#----------------------------------------------------------------
+my $opt_id = $U->simplereq(
+    'open-ils.actor',
+    'open-ils.actor.user.org_unit_opt_in.create',
+    $script->authtoken, $patron->id, WORKSTATION_LIB);
+ok($opt_id, 'Patron successfully opted in');
+
+#----------------------------------------------------------------
+# 8. Check opt-in for test patron.  It should return 1.
+#----------------------------------------------------------------
+is(
+    opt_in_check($script->authtoken, $patron->id),
+    '1',
+    'Opt-in check for opted-in patron correctly returned 1'
+);
+
+#----------------------------------------------------------------
+# 9. Delete opt-in.
+#----------------------------------------------------------------
+my $opt = $U->simplereq(
+    'open-ils.cstore',
+    'open-ils.cstore.direct.actor.usr_org_unit_opt_in.retrieve',
+    $opt_id
+);
+$e->xact_begin;
+my $delete_opt_stat = $e->delete_actor_usr_org_unit_opt_in($opt);
+ok($delete_opt_stat, 'Opt-in deleted successfully');
+$e->xact_commit;
+
+#----------------------------------------------------------------
+# 10. Remove opt boundary setting.
+#----------------------------------------------------------------
+$e->xact_begin;
+my $delete_setting_stat = $e->delete_actor_org_unit_setting($boundary);
+ok($delete_setting_stat, 'Opt boundary setting deleted successfully');
+$e->xact_commit;
+
+
diff --git a/Open-ILS/src/sql/Pg/t/lp1533329-restrict-opt-in-setting.pg b/Open-ILS/src/sql/Pg/t/lp1533329-restrict-opt-in-setting.pg
new file mode 100644
index 0000000..1bd365e
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/t/lp1533329-restrict-opt-in-setting.pg
@@ -0,0 +1,30 @@
+\set ECHO
+\set QUIET 1
+-- Turn off echo and keep things quiet.
+
+-- Format the output for nice TAP.
+\pset format unaligned
+\pset tuples_only true
+\pset pager
+
+-- Revert all changes on failure.
+\set ON_ERROR_ROLLBACK 1
+\set ON_ERROR_STOP true
+\set QUIET 1
+
+-- Load the TAP functions.
+BEGIN;
+
+-- Plan the tests.
+SELECT plan(1);
+
+-- Run the tests.
+
+SELECT isnt_empty(
+    'SELECT * FROM config.org_unit_setting_type WHERE name = $$org.restrict_opt_to_depth$$',
+    'org.restrict_opt_to_depth exists'
+);
+
+-- Finish the tests and clean up.
+SELECT * FROM finish();
+ROLLBACK;

commit eb7f94294daf5d96a0f9f3116bb5c940ce561d00
Author: Jeff Davis <jeff.davis at bc.libraries.coop>
Date:   Tue Jan 12 11:58:13 2016 -0800

    LP#1533329: Selectively disallow opt-in based on patron's home library
    
    Patrons from Library A can "opt in" to sharing their personal
    information with Library B.  However, hitherto there has been no way for
    Library A to prevent their patrons from being opted in at other
    libraries.  This would be useful if, for example, Library A is a school
    library and does not want other libraries in the consortium to have
    access to student accounts.
    
    This commit adds the ability to selectively disallow opt-in by home
    library.  Specifically, it makes the following changes:
    
    1. Adds an org setting (org.restrict_opt_to_depth) that governs opt-in
    restrictions.  All org units within the home OU's section of the org
    tree at or below depth X are within the patron's opt-in scope; opt-in is
    disallowed at any library outside of that scope.  If the setting is not
    enabled, the entire org tree is effectively within scope.  (None of this
    should be confused with the opt boundary, which defines the point at
    which patrons need to be opted in vs. just granting access without
    opt-in.)
    
    2. Modifies open-ils.actor.user.org_unit_opt_in.check so that it checks
    that setting and determines if the current work OU is within the
    patron's opt-in scope.  If opt-in is not permitted at this work OU,
    an appropriate response is returned.
    
    3. Handles the response in both staff clients.  If opt-in is disallowed,
    staff will see an alert which says, "This patron's record is not
    viewable at your library."
    
    Signed-off-by: Jeff Davis <jeff.davis at bc.libraries.coop>
    Signed-off-by: Galen Charlton <gmc at esilibrary.com>

diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm
index 40bb6a6e..07e5d6d 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm
@@ -3148,6 +3148,7 @@ __PACKAGE__->register_method(
         @param $auth The auth token
         @param user_id The ID of the user to test
         @return 1 if the user has opted in at the specified org,
+            2 if opt-in is disallowed for the user's home org,
             event on error, and 0 otherwise. /
 );
 sub user_opt_in_at_org {
@@ -3174,6 +3175,17 @@ sub user_opt_in_at_org {
 
     return 1 if grep $_ eq $user->home_ou, @$opt_orgs;
 
+    # check whether opt-in is restricted at the user's home library
+    my $opt_restrict_depth = $U->ou_ancestor_setting_value($user->home_ou, 'org.restrict_opt_to_depth');
+    if ($opt_restrict_depth) {
+        my $restrict_ancestor = $U->org_unit_ancestor_at_depth($user->home_ou, $opt_restrict_depth);
+        my $unrestricted_orgs = $U->get_org_descendants($restrict_ancestor);
+
+        # opt-in is disallowed unless the workstation org is within the home
+        # library's opt-in scope
+        return 2 unless grep $_ eq $e->requestor->ws_ou, @$unrestricted_orgs;
+    }
+
     my $vals = $e->search_actor_usr_org_unit_opt_in(
         {org_unit=>$opt_orgs, usr=>$user_id},{idlist=>1});
 
diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql
index 426e235..11a7c28 100644
--- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql
+++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql
@@ -16234,3 +16234,18 @@ INSERT INTO config.org_unit_setting_type
              'coust', 'description'),
          'bool');
 
+INSERT INTO config.org_unit_setting_type
+    (name, grp, label, description, datatype)
+    VALUES
+        ('org.restrict_opt_to_depth',
+         'sec',
+         oils_i18n_gettext('org.restrict_opt_to_depth',
+            'Restrict patron opt-in to home library and related orgs at specified depth',
+            'coust', 'label'),
+         oils_i18n_gettext('org.restrict_opt_to_depth',
+            'Patrons at this library can only be opted-in at org units which are within the '||
+            'library''s section of the org tree, at or below the depth specified by this setting. '||
+            'They cannot be opted in at any other libraries.',
+            'coust', 'description'),
+        'integer');
+
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.data.restrict_opt_to_depth_setting.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.restrict_opt_to_depth_setting.sql
new file mode 100644
index 0000000..6e0a3d8
--- /dev/null
+++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.data.restrict_opt_to_depth_setting.sql
@@ -0,0 +1,21 @@
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+INSERT INTO config.org_unit_setting_type
+    (name, grp, label, description, datatype)
+    VALUES
+        ('org.restrict_opt_to_depth',
+         'sec',
+         oils_i18n_gettext('org.restrict_opt_to_depth',
+            'Restrict patron opt-in to home library and related orgs at specified depth',
+            'coust', 'label'),
+         oils_i18n_gettext('org.restrict_opt_to_depth',
+            'Patrons at this library can only be opted-in at org units which are within the '||
+            'library''s section of the org tree, at or below the depth specified by this setting. '||
+            'They cannot be opted in at any other libraries.',
+            'coust', 'description'),
+        'integer');
+
+COMMIT;
+
diff --git a/Open-ILS/src/templates/staff/circ/patron/t_bcsearch.tt2 b/Open-ILS/src/templates/staff/circ/patron/t_bcsearch.tt2
index 216b186..6a9e8fa 100644
--- a/Open-ILS/src/templates/staff/circ/patron/t_bcsearch.tt2
+++ b/Open-ILS/src/templates/staff/circ/patron/t_bcsearch.tt2
@@ -18,5 +18,7 @@
 <div class="alert alert-warning" ng-show="bcNotFound">
   [% l('Barcode Not Found: [_1]', '{{bcNotFound}}') %]
 </div>
-
+<div class="alert alert-warning" ng-show="optInRestricted">
+  [% l("This patron's record is not viewable at your library.") %]
+</div>
 
diff --git a/Open-ILS/web/js/ui/default/staff/circ/patron/app.js b/Open-ILS/web/js/ui/default/staff/circ/patron/app.js
index 6a184ae..9cf3b45 100644
--- a/Open-ILS/web/js/ui/default/staff/circ/patron/app.js
+++ b/Open-ILS/web/js/ui/default/staff/circ/patron/app.js
@@ -701,6 +701,7 @@ function($scope , $location , egCore , egConfirmDialog , egUser , patronSvc) {
 
     $scope.submitBarcode = function(args) {
         $scope.bcNotFound = null;
+        $scope.optInRestricted = false;
         if (!args.barcode) return;
 
         // blur so next time it's set to true it will re-apply select()
@@ -741,6 +742,13 @@ function($scope , $location , egCore , egConfirmDialog , egUser , patronSvc) {
                 alert(evt); // FIXME
                 return;
             }
+
+            if (optInResp == 2) {
+                // opt-in disallowed at this location by patron's home library
+                $scope.optInRestricted = true;
+                $scope.selectMe = true;
+                return;
+            }
            
             if (optInResp == 1) {
                 // opt-in handled or not needed
diff --git a/Open-ILS/xul/staff_client/server/locale/en-US/patron.properties b/Open-ILS/xul/staff_client/server/locale/en-US/patron.properties
index 2aedce3..29f8c38 100644
--- a/Open-ILS/xul/staff_client/server/locale/en-US/patron.properties
+++ b/Open-ILS/xul/staff_client/server/locale/en-US/patron.properties
@@ -3,6 +3,7 @@ staff.patron.barcode_entry.check_out=Check Out
 staff.patron.barcode_entry.no_barcode=No barcode entered.
 staff.patron.barcode_entry.barcode_retrieval_problem=Problem retrieving %1$s.  Please report this message: \n%2$s
 staff.patron.barcode_entry.barcode_not_found=Barcode %1$s not found.
+staff.patron.barcode_entry.opt_in_restricted=This patron's record is not viewable at your library.
 staff.patron.barcode_entry.consent_from_patron=Does patron %1$s, %2$s from %3$s (%4$s) consent to having their personal information shared with your library?
 staff.patron.barcode_entry.patron_consent_title=Patron/Library Opt-In Confirmation
 staff.patron.barcode_entry.patron_consent_accept=Accept
diff --git a/Open-ILS/xul/staff_client/server/patron/barcode_entry.xul b/Open-ILS/xul/staff_client/server/patron/barcode_entry.xul
index fa613b2..9c57135 100644
--- a/Open-ILS/xul/staff_client/server/patron/barcode_entry.xul
+++ b/Open-ILS/xul/staff_client/server/patron/barcode_entry.xul
@@ -129,7 +129,14 @@
                         throw(r);
                     } else {
 
-                        if (r == 0) {
+                        if (r == 2) {
+                            // opt-in is disallowed at this location by patron's home library
+                            sound.bad();
+                            add_msg($("patronStrings").getFormattedString('staff.patron.barcode_entry.opt_in_restricted'));
+                            return;
+                        }
+
+                        else if (r == 0) {
 
                             JSAN.use('patron.util');
                             var parts;

-----------------------------------------------------------------------

Summary of changes:
 .../src/perlmods/lib/OpenILS/Application/Actor.pm  |   12 ++
 Open-ILS/src/perlmods/live_t/12-lp1533329-opt-in.t |  174 ++++++++++++++++++++
 Open-ILS/src/sql/Pg/002.schema.config.sql          |    2 +-
 Open-ILS/src/sql/Pg/950.data.seed-values.sql       |   15 ++
 ...ons.pg => lp1533329-restrict-opt-in-setting.pg} |   11 +-
 .../0969.data.restrict_opt_to_depth_setting.sql    |   21 +++
 .../src/templates/staff/circ/patron/t_bcsearch.tt2 |    4 +-
 .../web/js/ui/default/staff/circ/patron/app.js     |    8 +
 .../server/locale/en-US/patron.properties          |    1 +
 .../staff_client/server/patron/barcode_entry.xul   |    9 +-
 .../Circulation/restrict_opt_in.adoc               |   33 ++++
 11 files changed, 279 insertions(+), 11 deletions(-)
 create mode 100644 Open-ILS/src/perlmods/live_t/12-lp1533329-opt-in.t
 copy Open-ILS/src/sql/Pg/t/{versions.pg => lp1533329-restrict-opt-in-setting.pg} (64%)
 create mode 100644 Open-ILS/src/sql/Pg/upgrade/0969.data.restrict_opt_to_depth_setting.sql
 create mode 100644 docs/RELEASE_NOTES_NEXT/Circulation/restrict_opt_in.adoc


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list