Bugzilla – Attachment 19495 Details for
Bug 10554
Add more options to 'AllowSelfCheckReturns' syspref
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 10554 - Add more options to 'AllowSelfCheckReturns' syspref
Bug-10554---Add-more-options-to-AllowSelfCheckRetu.patch (text/plain), 8.99 KB, created by
Mason James
on 2013-07-09 02:19:35 UTC
(
hide
)
Description:
Bug 10554 - Add more options to 'AllowSelfCheckReturns' syspref
Filename:
MIME Type:
Creator:
Mason James
Created:
2013-07-09 02:19:35 UTC
Size:
8.99 KB
patch
obsolete
>From 08196a3341937a1bf701c980db6bc0fbee000f2e Mon Sep 17 00:00:00 2001 >From: Mason James <mtj@kohaaloha.com> >Date: Tue, 9 Jul 2013 13:48:08 +1200 >Subject: [PATCH] Bug 10554 - Add more options to 'AllowSelfCheckReturns' syspref >Content-Type: text/plain; charset="utf-8" > >This patch modifies the options of AllowSelfCheckReturns syspref > >from a 2 option selection > - 'allow patrons', dont allow patrons' > >to a 3 option selection > - 'allow all patrons', 'allow non-blocked patrons' , allow no patrons' > >currently, a problem with the syspref behavior in Koha is that enabling the 'AllowSelfCheckReturns' syspref does *not* allow patrons with a 'block' to return items via the SCO. (this is apparently by design, and not a bug) > >however, some libraries do want to allow patrons to return items via the SCO even if they have a 'block' > >this patch adds this additional behavior, by adding a new option to the syspref, but also retaining the existing syspref behavior > >after the patch, there are 2 allow options > - 'Allow all' allows all patrons to return items (including blocked patrons) > - 'Allow non-blocked' allows only non-blocked patrons to return items > (note: this is the current 'allow' behavior) > >the patch correctly 'upgrades' existing 'allow' selection to the new 'Allow non-blocked' value. so, any existing 'allow' selection works as before > >---------- > >to test these 3 syspref options... > >1/ >- set syspref to 'dont allow' >- issue an item to a patron >- attempt to return item via SCO, return should FAIL > >2/ >- set syspref to 'allow all' >- issue an item to a patron >- attempt to return item via SCO, return should SUCCEED > >3/ >- set syspref to 'allow nonblocked' >- issue an item to a patron >- attempt to return item via SCO, return should SUCCEED > >- issue an item to a patron, with a returndate of '2001-01-01' >(important: this will create an overdue item, that will put a 'block' on this patron's account) >- attempt to return item via SCO, return should FAIL > >http://bugs.koha-community.org/show_bug.cgi?id=10544 >--- > installer/data/mysql/sysprefs.sql | 2 +- > installer/data/mysql/updatedatabase.pl | 25 ++++++++++++++++++++ > .../en/modules/admin/preferences/circulation.pref | 5 ++- > .../opac-tmpl/prog/en/modules/sco/sco-main.tt | 6 +--- > opac/sco/sco-main.pl | 5 ++- > 5 files changed, 34 insertions(+), 9 deletions(-) > >diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql >index 0a3f20f..9da5066 100644 >--- a/installer/data/mysql/sysprefs.sql >+++ b/installer/data/mysql/sysprefs.sql >@@ -142,7 +142,7 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES > -- LDAP ? required fields? > INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('WebBasedSelfCheck',0,'If ON, enables the web-based self-check system',NULL,'YesNo'); > INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('SelfCheckTimeout',120,'Define the number of seconds before the Web-based Self Checkout times out a patron','','Integer'); >-INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AllowSelfCheckReturns',0,'If enabled, patrons may return items through the Web-based Self Checkout','','YesNo'); >+INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AllowSelfCheckReturns','none','If enabled, patrons may return items through the Web-based Self Checkout','all|nonblocked|none','Choice'); > INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('SelfCheckHelpMessage','','Enter HTML to include under the basic Web-based Self Checkout instructions on the Help page','70|10','Textarea'); > INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('numSearchResults',20,'Specify the maximum number of results to display on a page of results',NULL,'Integer'); > INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OPACnumSearchResults',20,'Specify the maximum number of results to display on a page of results',NULL,'Integer'); >diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl >index adc1e7f..5270a01 100755 >--- a/installer/data/mysql/updatedatabase.pl >+++ b/installer/data/mysql/updatedatabase.pl >@@ -7036,6 +7036,31 @@ if ( CheckVersion($DBversion) ) { > SetVersion($DBversion); > } > >+$DBversion = "3.13.00.XXX"; >+if ( CheckVersion($DBversion) ) { >+ >+ #get current value >+ my $sth = $dbh->prepare("SELECT * from systempreferences where variable = 'AllowSelfCheckReturns'"); >+ $sth->execute; >+ my $row = $sth->fetchrow_hashref; >+ my $val = $row->{value}; >+ my $newval; >+ >+ if ($val =~ /1/ ) { >+ $newval = 'nonblocked'; >+ } else { >+ $newval = 'none'; >+ } >+ >+ # update syspref >+ my $sth_update = $dbh->prepare("UPDATE systempreferences >+ SET value=?, options='all|nonblocked|none', type='Choice' WHERE variable='AllowSelfCheckReturns'"); >+ $sth_update->execute($newval); >+ >+ print "Upgrade to $DBversion done (added 'nonblocked' to AllowSelfCheckReturns syspref)\n"; >+ SetVersion ($DBversion); >+} >+ > =head1 FUNCTIONS > > =head2 TableExists($table) >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref >index 64cf338..2b69b08 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref >@@ -532,8 +532,9 @@ Circulation: > - > - pref: AllowSelfCheckReturns > choices: >- yes: Allow >- no: "Don't allow" >+ all: "Allow all" >+ nonblocked: "Allow non-blocked" >+ none: "Don't allow" > - patrons to return items through web-based self checkout system. > - > - "Include the following HTML in the Help page of the web-based self checkout system:" >diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-main.tt b/koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-main.tt >index bfd71a2..f745d53 100644 >--- a/koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-main.tt >+++ b/koha-tmpl/opac-tmpl/prog/en/modules/sco/sco-main.tt >@@ -149,8 +149,7 @@ $(document).ready(function(){ > [% END %] > Please see a member of the library staff. > </p> >-[% IF ( returnitem ) %] >-[% IF ( AllowSelfCheckReturns ) %] >+[% IF (AllowSelfCheckReturns == 'nonblocked' and returnitem ) or AllowSelfCheckReturns == 'all' %] > <form action="/cgi-bin/koha/sco/sco-main.pl" name="errorForm" class="inline" method="post"> > <input type="hidden" name="op" value="returnbook" /> > <input type="hidden" name="patronid" value="[% patronid %]" /> >@@ -158,7 +157,6 @@ $(document).ready(function(){ > <input type="submit" name="returnbook" value="Return this item" class="return" /> > </form> > [% END %] >-[% END %] > <form action="/cgi-bin/koha/sco/sco-main.pl" name="errorForm" class="inline" method="post"> > <input type="hidden" name="op" value="" /> > <input type="hidden" name="patronid" value="[% patronid %]" /> >@@ -171,7 +169,7 @@ $(document).ready(function(){ > <p>[% IF ( confirm_renew_issue ) %]This item is already checked out to you.[% END %]</p> > > [% IF ( renew ) %] >-[% IF ( AllowSelfCheckReturns ) %] >+[% IF (AllowSelfCheckReturns == 'nonblocked' or AllowSelfCheckReturns == 'all') %] > <form action="/cgi-bin/koha/sco/sco-main.pl" name="confirmForm" class="inline" method="post"> > <input type="hidden" name="op" value="returnbook" /> > <input type="hidden" name="patronid" value="[% patronid %]" /> >diff --git a/opac/sco/sco-main.pl b/opac/sco/sco-main.pl >index 0f16c8c..a897ea2 100755 >--- a/opac/sco/sco-main.pl >+++ b/opac/sco/sco-main.pl >@@ -83,7 +83,7 @@ if (C4::Context->preference('SelfCheckTimeout')) { > $template->param(SelfCheckTimeout => $selfchecktimeout); > > # Checks policy laid out by AllowSelfCheckReturns, defaults to 'on' if preference is undefined >-my $allowselfcheckreturns = 1; >+my $allowselfcheckreturns = 'nonblocked'; > if (defined C4::Context->preference('AllowSelfCheckReturns')) { > $allowselfcheckreturns = C4::Context->preference('AllowSelfCheckReturns'); > } >@@ -120,7 +120,7 @@ my $return_only = 0; > if ($op eq "logout") { > $query->param( patronid => undef, patronlogin => undef, patronpw => undef ); > } >-elsif ( $op eq "returnbook" && $allowselfcheckreturns ) { >+elsif ( $op eq "returnbook" && $allowselfcheckreturns =~ /nonblocked|all/) { > my ($doreturn) = AddReturn( $barcode, $branch ); > #warn "returnbook: " . $doreturn; > $borrower = GetMemberDetails(undef,$patronid); >@@ -152,6 +152,7 @@ elsif ( $op eq "checkout" ) { > "circ_error_$issue_error" => 1, > title => $item->{title}, > hide_main => 1, >+ barcode => $barcode, > ); > if ($issue_error eq 'DEBT') { > $template->param(amount => C4::Budgets->GetCurrency()->{symbol}.$impossible->{DEBT}); >-- >1.7.2.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 10554
:
19495
|
21109
|
21221
|
28618
|
42267
|
42272