[Koha-patches] [PATCH] [HEAD] (bug #2893) Allow loan forcing if a syspref is set

Ryan Higgins ryan.higgins at liblime.com
Mon Jan 5 21:54:50 CET 2009


Not to be picky, but  can this syspref be called  'AllowNotForLoanOverride' ?
That would make more sense to native English speakers.

Also, is there a database revision adding this syspref ?

Ryan


On Mon, Jan 5, 2009 at 3:25 AM, Nahuel ANGELINETTI
<nahuel.angelinetti at biblibre.com> wrote:
> If the syspref 'AllowNotForLoanForcing'(YESNO) is set to YES, the librarian is able to force a loan on an item set as "not for
> loan".
> If the item is not for loan and the syspref is set to YES, koha will ask to the librarian if he really want to check-out it,
> else do nothing.
> ---
>  C4/Circulation.pm                                  |   39 +++++++++++---------
>  .../prog/en/modules/circ/circulation.tmpl          |    5 ++-
>  2 files changed, 26 insertions(+), 18 deletions(-)
>
> diff --git a/C4/Circulation.pm b/C4/Circulation.pm
> index fb0cbb0..4294c2b 100644
> --- a/C4/Circulation.pm
> +++ b/C4/Circulation.pm
> @@ -711,27 +711,32 @@ sub CanBookBeIssued {
>     unless ( $item->{barcode} ) {
>         $issuingimpossible{UNKNOWN_BARCODE} = 1;
>     }
> +
>     if (   $item->{'notforloan'}
>         && $item->{'notforloan'} > 0 )
>     {
> -        $issuingimpossible{NOT_FOR_LOAN} = 1;
> +        if(!C4::Context->preference("AllowNotForLoanForcing")){
> +            $issuingimpossible{NOT_FOR_LOAN} = 1;
> +        }else{
> +            $needsconfirmation{NOT_FOR_LOAN_FORCING} = 1;
> +        }
> +    }
> +    elsif ( !$item->{'notforloan'} ){
> +        # we have to check itemtypes.notforloan also
> +        if (C4::Context->preference('item-level_itypes')){
> +            # this should probably be a subroutine
> +            my $sth = $dbh->prepare("SELECT notforloan FROM itemtypes WHERE itemtype = ?");
> +            $sth->execute($item->{'itemtype'});
> +            my $notforloan=$sth->fetchrow_hashref();
> +            $sth->finish();
> +            if ($notforloan->{'notforloan'} == 1){
> +                $issuingimpossible{NOT_FOR_LOAN} = 1;
> +            }
> +        }
> +        elsif ($biblioitem->{'notforloan'} == 1){
> +            $issuingimpossible{NOT_FOR_LOAN} = 1;
> +        }
>     }
> -       elsif ( !$item->{'notforloan'} ){
> -               # we have to check itemtypes.notforloan also
> -               if (C4::Context->preference('item-level_itypes')){
> -                       # this should probably be a subroutine
> -                       my $sth = $dbh->prepare("SELECT notforloan FROM itemtypes WHERE itemtype = ?");
> -                       $sth->execute($item->{'itemtype'});
> -                       my $notforloan=$sth->fetchrow_hashref();
> -                       $sth->finish();
> -                       if ($notforloan->{'notforloan'} == 1){
> -                               $issuingimpossible{NOT_FOR_LOAN} = 1;
> -                       }
> -               }
> -               elsif ($biblioitem->{'notforloan'} == 1){
> -                       $issuingimpossible{NOT_FOR_LOAN} = 1;
> -               }
> -       }
>     if ( $item->{'wthdrawn'} && $item->{'wthdrawn'} == 1 )
>     {
>         $issuingimpossible{WTHDRAWN} = 1;
> diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tmpl
> index a41e0f2..fe6c8d7 100644
> --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tmpl
> +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tmpl
> @@ -119,6 +119,10 @@ $.tablesorter.addParser({
>     <label for="cancelreserve">Cancel Reserve</label>
>     </p>
>  <!-- /TMPL_IF -->
> +<!-- TMPL_IF NAME="NOT_FOR_LOAN_FORCING" -->
> +    <h3>Not for loan</h3>
> +    <p>Item not for loan, are you sure you want to loan it?</p>
> +<!-- /TMPL_IF -->
>
>  <!-- TMPL_IF NAME="RESERVE_WAITING" -->
>     <p>
> @@ -141,7 +145,6 @@ $.tablesorter.addParser({
>     <input type="hidden" name="borrowernumber" value="<!-- TMPL_VAR NAME="borrowernumber" -->" />
>     <input type="submit" class="deny" value="No, Don't Check Out (N)" accesskey="n" />
>  </form>
> -
>  </div></div>
>  <!-- /TMPL_IF --> <!-- NEEDSCONFIRMATION -->
>
> --
> 1.5.6.3
>
> _______________________________________________
> Koha-patches mailing list
> Koha-patches at lists.koha.org
> http://lists.koha.org/mailman/listinfo/koha-patches
>



-- 
Ryan Higgins

LibLime  *  Open-Source Solutions for Libraries
Featuring KohaZOOM ILS
888-564-2457  x704



More information about the Koha-patches mailing list