From 931dcde1977afa8aa442cdb8c3e18eba937d25b7 Mon Sep 17 00:00:00 2001 From: Ben Shum Date: Mon, 11 Feb 2013 12:16:10 -0500 Subject: [PATCH] Desk Renewal at original circ library 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 Signed-off-by: Mike Rylander --- .../lib/OpenILS/Application/Circ/Circulate.pm | 15 +++++++++++++++ Open-ILS/src/sql/Pg/950.data.seed-values.sql | 12 ++++++++++++ ...XXXX.schema.desk_renewal_reuse_circ_lib.sql | 18 ++++++++++++++++++ .../desk-renewal-at-original-circ-lib.txt | 8 ++++++++ 4 files changed, 53 insertions(+) create mode 100644 Open-ILS/src/sql/Pg/upgrade/XXXX.schema.desk_renewal_reuse_circ_lib.sql create mode 100644 docs/RELEASE_NOTES_NEXT/Circulation/desk-renewal-at-original-circ-lib.txt diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm index d44727b63f..ff50ed3797 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Circulate.pm @@ -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; 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 08f8766865..33d7371740 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -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 index 0000000000..328643651a --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.desk_renewal_reuse_circ_lib.sql @@ -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 index 0000000000..5b665a3a1a --- /dev/null +++ b/docs/RELEASE_NOTES_NEXT/Circulation/desk-renewal-at-original-circ-lib.txt @@ -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. -- 2.43.2