Desk Renewal at original circ library
authorBen Shum <bshum@biblio.org>
Mon, 11 Feb 2013 17:16:10 +0000 (12:16 -0500)
committerMike Rylander <mrylander@gmail.com>
Wed, 10 Jul 2013 16:42:38 +0000 (12:42 -0400)
In the same spirit as OPAC Renewal at the original circ library, include a
new setting to allow the same for Desk Renewals.

See 8823e4060bbc825c859327b018c5f8cb29b9ac2a and related.

Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.desk_renewal_reuse_circ_lib.sql [new file with mode: 0644]
docs/RELEASE_NOTES_NEXT/Circulation/desk-renewal-at-original-circ-lib.txt [new file with mode: 0644]

index d44727b..ff50ed3 100644 (file)
@@ -15,6 +15,7 @@ my $script_libs;
 my $legacy_script_support = 0;
 my $booking_status;
 my $opac_renewal_use_circ_lib;
+my $desk_renewal_use_circ_lib;
 
 sub determine_booking_status {
     unless (defined $booking_status) {
@@ -3664,6 +3665,20 @@ sub do_renew {
         $self->circ_lib($circ->circ_lib) if($opac_renewal_use_circ_lib);
     }
 
+    # Desk renewal - re-use circ library from original circ (unless told not to)
+    if($self->desk_renewal) {
+        unless(defined($desk_renewal_use_circ_lib)) {
+            my $use_circ_lib = $self->editor->retrieve_config_global_flag('circ.desk_renewal.use_original_circ_lib');
+            if($use_circ_lib and $U->is_true($use_circ_lib->enabled)) {
+                $desk_renewal_use_circ_lib = 1;
+            }
+            else {
+                $desk_renewal_use_circ_lib = 0;
+            }
+        }
+        $self->circ_lib($circ->circ_lib) if($desk_renewal_use_circ_lib);
+    }
+
     # Run the fine generator against the old circ
     $self->generate_fines_start;
 
index 08f8766..33d7371 100644 (file)
@@ -9108,6 +9108,18 @@ INSERT INTO config.global_flag (name, label, enabled)
         FALSE
     );
 
+INSERT INTO config.global_flag (name, label, enabled)
+    VALUES (
+        'circ.desk_renewal.use_original_circ_lib',
+        oils_i18n_gettext(
+            'circ.desk_renewal.use_original_circ_lib',
+            'Circ: Use original circulation library on desk renewal instead of user home library',
+            'cgf',
+            'label'
+        ),
+        FALSE
+    );
+
 INSERT INTO config.global_flag (name, label, value, enabled)
     VALUES (
         'opac.use_autosuggest',
diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.desk_renewal_reuse_circ_lib.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.desk_renewal_reuse_circ_lib.sql
new file mode 100644 (file)
index 0000000..3286436
--- /dev/null
@@ -0,0 +1,18 @@
+BEGIN;
+
+-- check whether patch can be applied
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+
+INSERT INTO config.global_flag (name, label, enabled)
+    VALUES (
+        'circ.desk_renewal.use_original_circ_lib',
+        oils_i18n_gettext(
+            'circ.desk_renewal.use_original_circ_lib',
+            'Circ: Use original circulation library on desk renewal instead of user home library',
+            'cgf',
+            'label'
+        ),
+        FALSE
+    );
+
+COMMIT;
diff --git a/docs/RELEASE_NOTES_NEXT/Circulation/desk-renewal-at-original-circ-lib.txt b/docs/RELEASE_NOTES_NEXT/Circulation/desk-renewal-at-original-circ-lib.txt
new file mode 100644 (file)
index 0000000..5b665a3
--- /dev/null
@@ -0,0 +1,8 @@
+Setting for Desk Renewal to use original circulating library
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A new global flag option has been added to allow the circulating library of 
+a desk renewal (aka a renewal using the staff client) to reuse the original 
+circulation library for circ rule behaviors rather than using the workstation.
+This new setting is similar to existing options to use the originating 
+circulation library in OPAC renewals.