From 543dd08b789898f8d0d1a424014ece61700044a6 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Thu, 22 Jan 2015 08:40:20 -0500 Subject: [PATCH] Bug 11625 [QA Followup 3] - Use system preferences to control behavior --- admin/smart-rules.pl | 10 +++++++++- installer/data/mysql/sysprefs.sql | 2 ++ installer/data/mysql/updatedatabase.pl | 15 +++++++++++++++ .../prog/en/modules/admin/preferences/admin.pref | 14 ++++++++++++++ tools/letter.pl | 13 +++++++------ 5 files changed, 47 insertions(+), 7 deletions(-) diff --git a/admin/smart-rules.pl b/admin/smart-rules.pl index bb48a66..5fe0dbe 100755 --- a/admin/smart-rules.pl +++ b/admin/smart-rules.pl @@ -44,8 +44,16 @@ my ($template, $loggedinuser, $cookie) }); my $type=$input->param('type'); -my $branch = $input->param('branch') || GetBranchesCount() == 1 ? undef : C4::Branch::mybranch(); + +my $branch; +if ( C4::Context->preference('DefaultToLoggedInLibraryCircRules') ) { + $branch = $input->param('branch') || GetBranchesCount() == 1 ? undef : C4::Branch::mybranch(); +} +else { + $branch = $input->param('branch') || ( C4::Branch::onlymine() ? ( C4::Branch::mybranch() || '*' ) : '*' ); +} $branch = '*' if $branch eq 'NO_LIBRARY_SET'; + my $op = $input->param('op') || q{}; if ($op eq 'delete') { diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql index be44611..3d31ffd 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -103,6 +103,8 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('DefaultLongOverdueLostValue', NULL, NULL, "Set the LOST value of an item to n when the item has been overdue for more than defaultlongoverduedays days.", 'integer'), ('defaultSortField','relevance','relevance|popularity|call_number|pubdate|acqdate|title|author','Specify the default field used for sorting','Choice'), ('defaultSortOrder','dsc','asc|dsc|az|za','Specify the default sort order','Choice'), +('DefaultToLoggedInLibraryCircRules', '0', NULL , 'If enabled, circ rules editor will default to the logged in library''s rules, rather than the ''all libraries'' rules.', 'YesNo'), +('DefaultToLoggedInLibraryNoticesSlips', '0', NULL , 'If enabled,slips and notices editor will default to the logged in library''s rules, rather than the ''all libraries'' rules.', 'YesNo'), ('delimiter',';',';|tabulation|,|/|\\|#||','Define the default separator character for exporting reports','Choice'), ('Display856uAsImage','OFF','OFF|Details|Results|Both','Display the URI in the 856u field as an image, the corresponding Staff Client XSLT option must be on','Choice'), ('DisplayClearScreenButton','0','','If set to ON, a clear screen button will appear on the circulation page.','YesNo'), diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index ca27cde..36e7f30 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -10035,6 +10035,21 @@ if ( CheckVersion($DBversion) ) { SetVersion ($DBversion); } +$DBversion = "3.19.00.XXX"; +if(CheckVersion($DBversion)) { + $dbh->do(q{ + INSERT INTO systempreferences ( variable, value, options, explanation, type ) + VALUES ( + 'DefaultToLoggedInLibraryCircRules', '0', NULL , 'If enabled, circ rules editor will default to the logged in library''s rules, rather than the ''all libraries'' rules.', 'YesNo' + ), ( + 'DefaultToLoggedInLibraryNoticesSlips', '0', NULL , 'If enabled,slips and notices editor will default to the logged in library''s rules, rather than the ''all libraries'' rules.', 'YesNo' + ) + }); + + print "Upgrade to $DBversion done (Bug 13379 - Modify authorised_values.category to varchar(32))\n"; + SetVersion($DBversion); +} + # DEVELOPER PROCESS, search for anything to execute in the db_update directory # SEE bug 13068 # if there is anything in the atomicupdate, read and execute it. diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref index e1d54a6..055aefa 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref @@ -50,6 +50,20 @@ Administration: yes: Allow no: "Don't allow" - staff and patrons to create and view saved lists of books. + - + - When editing circulation rules show the + - pref: DefaultToLoggedInLibraryCircRules + choices: + yes: "logged in library's" + no: "all libraries" + - rules by default. + - + - When editing notices and slips show the + - pref: DefaultToLoggedInLibraryNoticesSlips + choices: + yes: "logged in library's" + no: "all libraries" + - notices and slips by default. Login options: - - Automatically log out users after diff --git a/tools/letter.pl b/tools/letter.pl index 86487ba..a92b29e 100755 --- a/tools/letter.pl +++ b/tools/letter.pl @@ -78,13 +78,14 @@ my $module = $input->param('module'); my $content = $input->param('content'); my $op = $input->param('op') || ''; -# Default to logged in branch for notice list only +# Default to logged in branch for notice list only, if DefaultToLoggedInLibraryNoticesSlips is enabled our $branchcode = - $input->param('branchcode') eq '*' ? undef - : $input->param('branchcode') ? $input->param('branchcode') - : $op ? $input->param('branchcode') - : GetBranchesCount() == 1 ? undef - : C4::Branch::mybranch(); + !C4::Context->preference('DefaultToLoggedInLibraryNoticesSlips') ? $input->param('branchcode') + : $input->param('branchcode') eq '*' ? undef + : $input->param('branchcode') ? $input->param('branchcode') + : $op ? $input->param('branchcode') + : GetBranchesCount() == 1 ? undef + : C4::Branch::mybranch(); my $dbh = C4::Context->dbh; -- 1.7.2.5