From d9f0bc976dc0eec78a80d60316f3814a44b3e806 Mon Sep 17 00:00:00 2001 From: Laura_Escamilla Date: Wed, 19 Mar 2025 14:26:18 +0000 Subject: [PATCH] Bug 39371: Added character limit to Holds to place (count) To test: 1. Go to place a hold for a patron. Under 'Hold next available item' the 'Holds to place (count) defaults to 1. When you go to edit the input you do not have a limit. You can enter an endless number. 2. Apply the patch. 3. Repeat step 1. When you go to edit the input now there is a 3 character limit. This should prevent accidentally scanning of barcodes in this area. 4. Sign off and have an amazing day! --- .../prog/en/modules/reserve/request.tt | 1960 ----------------- 1 file changed, 1960 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt index 558b5e0d9f..e69de29bb2 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt @@ -1,1960 +0,0 @@ -[% USE raw %] -[% USE To %] -[% USE Asset %] -[% USE JSON.Escape %] -[% USE Koha %] -[% USE Biblio %] -[% USE KohaDates %] -[% USE Branches %] -[% USE Categories %] -[% USE ItemTypes %] -[% USE AuthorisedValues %] -[% USE Price %] -[% USE TablesSettings %] -[% SET reserve_input_type = 'radio' %] -[% IF ( Koha.Preference('DisplayMultiItemHolds') ) %] - [% SET reserve_input_type = 'checkbox' %] -[% END %] -[% PROCESS 'i18n.inc' %] -[% SET footerjs = 1 %] -[% INCLUDE 'doc-head-open.inc' %] -[% SET libraries = Branches.all %] -[% SET categories = Categories.all.unblessed %] -[% SET columns = ['name', 'cardnumber', 'dateofbirth', 'category', 'branch', 'address', 'phone'] %] -[% PROCESS "patron-search.inc" %] -[% FILTER collapse %] - [% UNLESS ( multi_hold ) %] - [% title_in_title = INCLUDE 'biblio-title-head.inc' %] - [% tx("Place a hold on {title}", { title = title_in_title }) | html %] - › - [% ELSE %] - [% t("Confirm holds") | html %] - › - [% END %] - [% t("Holds") | html %] - › [% t("Circulation") | html %] › [% t("Koha") | html %] - [% END %] -[% INCLUDE 'doc-head-close.inc' %] -[% FILTER collapse %] - -[% END %] - - - - -[% WRAPPER 'header.inc' %] - [% INCLUDE 'circ-search.inc' %] -[% END %] - -[% WRAPPER 'sub-header.inc' %] - [% WRAPPER breadcrumbs %] - [% WRAPPER breadcrumb_item %] - Catalog - [% END %] - [% UNLESS ( multi_hold ) %] - [% WRAPPER breadcrumb_item %] - [% INCLUDE 'biblio-title.inc' link =1 %] - [% END %] - [% WRAPPER breadcrumb_item bc_active= 1 %] - Place a hold - [% END %] - [% ELSE %] - [% IF ( patron ) %] - [% WRAPPER breadcrumb_item bc_active= 1 %] - Place holds - [% END %] - [% ELSE %] - [% IF clubcount %] - [% WRAPPER breadcrumb_item bc_active= 1 %] - Search patrons or clubs - [% END %] - [% ELSE %] - [% WRAPPER breadcrumb_item bc_active= 1 %] - Search patrons - [% END %] - [% END %] - [% END %] - [% END # UNLESS multi_hold %] - [% END #/ WRAPPER breadcrumbs %] -[% END #/ WRAPPER sub-header.inc %] - -[%# No sidebar menu when placing multiple holds or biblio not found %] -[% SET aside = (multi_hold || nobiblio) ? '' : 'biblio-view-menu' %] -[% WRAPPER 'main-container.inc' aside=aside wide_centered=1 %] -

Holds

- - [% IF ( nobiblio ) %] -
- [% IF (multi_hold) %] - Cannot place hold: one or more records don't exist. - [% ELSE %] - Cannot place hold: this record doesn't exist. - [% END %] -
- [% END %] - [% IF ( noitems ) %] -
- [% IF (multi_hold) %] - Cannot place hold: one or more records without items attached. - [% ELSE %] - Cannot place hold: this record has no items attached. - [% END %] -
- [% END %] - - [% IF ( failed_holds ) %] -
- One or more holds were not placed due to following errors: - -
- [% END %] - - [% UNLESS ( multi_hold ) %] -

Place a hold on [% INCLUDE 'biblio-title.inc' link = 1 %] [% IF biblio.author %]by [% biblio.author | html %][% END %]

- [% ELSE %] -

- [% IF ( patron ) %] - Place holds - [% ELSE %] - [% IF clubcount %] - Search patrons or clubs - [% ELSE %] - Search patrons - [% END %] - [% END %] -

- [% END %] - - [% UNLESS club OR patron OR patron.borrowernumber OR noitems OR nobiblio %] - [% IF ( messageborrower ) %] -
-

Patron not found

-

No patron with this name, please, try another

-
- [% END %] - - [% IF ( messageclub ) %] -
-

Club not found

-

No club with this name, please, try another

-
- [% END %] -
- [% UNLESS multi_hold %] - [% IF clubcount %] -

Search patrons or clubs

- [% ELSE %] -

Search patrons

- [% END %] - [% END %] - - [% WRAPPER tabs id= "circ_holds_select" %] - [% WRAPPER tabs_nav %] - [% WRAPPER tab_item tabname= "holds_patronsearch_pane" bt_active= 1 %]Patrons[% END %] - [% IF clubcount %] - [% WRAPPER tab_item tabname= "holds_clubsearch_pane" %]Clubs[% END %] - [% END %] - [% END # /WRAPPER tabs_nav %] - - [% WRAPPER tab_panels %] - [% WRAPPER tab_panel tabname="holds_patronsearch_pane" bt_active= 1 %] - [% PROCESS patron_search_filters_simple %] - - [% PROCESS patron_search_table table_id => 'table_borrowers', open_on_row_click => 1 %] - [% END # /tab_panel# %] - [% IF clubcount %] - [% WRAPPER tab_panel tabname="holds_clubsearch_pane" %] -
-
Enter club ID or partial name:
- - - - [% FOREACH biblionumber IN biblionumbers %] - - [% END %] -
- - [% IF clubs %] - [% INCLUDE 'clubs-table.inc' destination = "holds" %] - [% END %] - [% END # /tab_panel# %] - [% END # /IF clubcount %] - [% END # /WRAPPER tab_panels %] - [% END # /WRAPPER tabs %] -
- [% ELSIF club %] -
-
- Hold details -
- [% INCLUDE 'csrf-token.inc' %] - - - [% IF ( multi_hold ) %] - - [% FOREACH biblioloo IN biblioloop %] - [% UNLESS biblioloo.none_avail %] - - - - [% END %] - [% END %] - [% ELSE %] - - - - [% END # /IF multi_hold %] -
    -
  1. Club: [% club.name | html %]
  2. -
  3. Description: [% club.description | html %]
  4. -
  5. - - -
  6. -
  7. - - -
  8. -
-

Members

-
    - [% FOREACH member IN members %] - [% SET patron = member.patron %] -
  1. -
    [% INCLUDE 'patron-title.inc' patron => patron no_title => 1 no_cardnumber => 1 hide_patron_infos_if_needed => 1 %]
    - [% IF member.exceeded_maxreserves %] -
    - - Too many holds: Patron can only place a maximum of [% maxreserves | html %] total holds. -
    - [% END %] - [% IF ( patron.is_expired ) %] -
    - - Account has expired -
    - [% END %] - [% IF patron.is_debarred %] -
    - - Patron has restrictions -
    - [% END %] - [% IF member.amount_outstanding && Koha.Preference('maxoutstanding') && member.amount_outstanding > Koha.Preference('maxoutstanding') %] -
    - - Patron has outstanding fines: [% member.amount_outstanding | $Price %] -
    - [% END %] - - [% IF ( member.diffbranch ) %] -
    - - Pickup library is different. Patron's home library: ([% Branches.GetName(patron.branchcode) | html %] / [% patron.branchcode | html %] ) -
    - [% END %] -
  2. - [% END %] -
- [% UNLESS ( multi_hold ) %] -
- -
- [% ELSE %] - - - - - [% UNLESS Koha.Preference('item-level_itypes') %] - - [% END %] - - - - [% FOREACH biblioloo IN biblioloop %] - - - - [% UNLESS Koha.Preference('item-level_itypes') %] - - [% END %] - - - - [% END # /FOREACH biblioloo %] -
 TitleItem typePriorityInformation
- [% UNLESS ( biblioloo.warn ) %] - - [% END %] - -
    -
  • - [% biblioloo.title | html %] - [% IF biblioloo.author %]by [% biblioloo.author | html %][% END %] -
  • - [% IF ( biblioloo.publicationyear ) %] -
  • Publication year: [% biblioloo.publicationyear | html %]
  • - [% END %] -
- [% IF ( biblioloo.warn ) %] - - [% END %] -
- [% biblioloo.itemtype.translated_description | html %] - [% biblioloo.rank | html %] - [% IF ( biblioloo.checked_previously ) %] - Patron has previously checked out this title
- [% END %] - [% IF ( biblioloo.alreadyres ) %] -
    -
  • [% INCLUDE 'patron-title.inc' patron => patron no_title => 1 no_cardnumber => 1 hide_patron_infos_if_needed => 1 %] already has a hold on this item
  • -
- [% END %] - [% IF ( biblioloo.none_avail || biblioloo.noitems ) %] -
  • No items are available to be placed on hold
- [% END %] -
- - [% END %] -
-
- [% ELSIF NOT ( noitems || nobiblio ) # /UNLESS patron %] - - [% IF ( checked_previously && !multi_hold ) %] -
- -
- [% END %] - - [% IF ( no_reserves_allowed || exceeded_maxreserves || exceeded_holds_per_record || alreadyreserved || none_available || alreadypossession || ageRestricted || recall ) %] -
- [% UNLESS ( multi_hold ) %] -

Cannot place hold

- - [% ELSE # UNLESS multi_hold %] -

Cannot place hold on some items

- [% IF (no_reserves_allowed ) %] -
  • No holds allowed: [% INCLUDE 'patron-title.inc' patron => patron no_title => 1 no_cardnumber => 1 hide_patron_infos_if_needed => 1 %] cannot place holds on some of these title's items.
  • - [% ELSIF ( exceeded_maxreserves ) %] -
  • Too many holds: [% INCLUDE 'patron-title.inc' patron => patron no_title => 1 no_cardnumber => 1 hide_patron_infos_if_needed => 1 %] can place [% new_reserves_allowed | html %] of the requested - [% new_reserves_count | html %] holds for a maximum of [% maxreserves | html %] total holds.
  • - [% ELSIF ( exceeded_holds_per_record ) %] - [% FOREACH biblioloo IN biblioloop %] - [% IF (biblioloo.tooManyHoldsForThisRecord) %] -
  • Too many holds for [% biblioloo.title | html %]: - [% INCLUDE 'patron-title.inc' patron => patron no_title => 1 no_cardnumber => 1 hide_patron_infos_if_needed => 1 %] can only place a maximum of [% max_holds_for_record | html %] hold(s) on this - record.
  • - [% END %] - [% END %] - [% ELSIF ( none_available ) %] -
  • No items available: One or more records have no items that can be held
  • - [% END # /IF exceeded_maxreserves %] - [% END # /UNLESS multi_hold %] -
    - [% END # /IF ( exceeded_maxreserves || ... %] - - [% IF ( patron.is_expired || diffbranch || patron.is_debarred || ( amount_outstanding && Koha.Preference('maxoutstanding') && amount_outstanding > Koha.Preference('maxoutstanding') ) ) %] -
    - - -
    - [% END # /IF patron.is_expired || diffbranch ... %] - - [% IF ( messageborrower ) %] -
    -

    Patron not found:

    -

    Name or barcode not found. Please try an other

    -
    - [% END %] - -
    - - [% UNLESS ( multi_hold ) %] -
    - [% INCLUDE 'csrf-token.inc' %] - -
    - Hold details - - - [% FOREACH biblionumber IN biblionumbers %] - - [% END %] - - - - -
      -
    1. - Patron: - [% IF ( patron.borrowernumber ) %] - [% INCLUDE 'patron-title.inc' patron => patron no_title => 1 hide_patron_infos_if_needed => 1 %] - [% ELSE %] - Not defined yet - [% END %] -
    2. - -
    3. - Estimated priority: - [% fixedRank | html %] -
    4. - -
    5. - - -
    6. - - [% IF Koha.Preference('AllowHoldItemTypeSelection') %] -
    7. - - -
    8. - [% END %] - - [% IF ( Koha.Preference('AllowHoldDateInFuture') ) %] -
    9. - - -
    10. - [% END %] - -
    11. - - -
    12. - -
    13. - - - A non priority hold doesn't prevent a current checkout from renewing -
    14. -
    -
    -
    - - [% IF force_hold_level == 'item' || force_hold_level == 'item_group' %] - - [% ELSIF force_hold_level == 'record' %] - - - (Required) - [% ELSE %] - - [% END %] - - - -
    - [% IF force_hold_level == 'item' # Patron has placed a item level hold previously for this record %] - - - Hold must be item level - - [% ELSIF force_hold_level == 'item_group' # Patron has placed an item group level hold previously for this record %] - - - Hold must be item group level - - [% ELSE %] -
      -
    1. - - -
    2. - - [% IF Koha.Preference('AllowHoldItemTypeSelection') %] -
    3. - - -
    4. - [% END %] - [% UNLESS remaining_holds_for_record == 1 %] -
    5. - - -
    6. - [% ELSE %] - - [% END %] -
    - [% END %] - -
    - [% IF ( patron.borrowernumber ) %] - [% IF ( override_required ) %] - - [% ELSIF ( none_available ) %] - - [% ELSE %] - - [% END %] - [% END %] -
    -
    -
    - -
    - - [% biblio_info = biblioloop.0 %] - - [% IF Koha.Preference('EnableItemGroupHolds') && biblio_info.object.item_groups.count %] -
    - - [% IF force_hold_level == 'item_group' %] - - (Required) - [% ELSIF force_hold_level == 'item' || force_hold_level == 'record' %] - - [% ELSE %] - - [% END %] - - - -
    - [% IF force_hold_level == 'record' # Patron has placed a record level hold previously for this record %] - - - Hold must be record level - - [% ELSIF force_hold_level == 'item' # Patron has placed an item level hold previously for this record %] - - - Hold must be item level - - [% ELSE %] -
      -
    • - - -
    • -
    • - - - - - - - - - - [% FOREACH g IN biblio_info.object.item_groups.search({}, { order_by => ['display_order'] }) %] - [% IF g.items.count %] - - - - - - [% ELSE %] - - - - - - [% END %] - [% END %] - -
      HoldItem groupHoldable items
      - - - - - [% FOREACH i IN g.items %] - - [% END %] -
      - - - - -
      No holdable items in this item group.
      -
      -
    • -
    - [% END %] -
    - [% IF ( patron.borrowernumber ) %] - [% IF ( override_required ) %] - - [% ELSIF ( none_available ) %] - - [% ELSE %] - - [% END %] - [% END %] -
    -
    -
    - [% END %] - - -
    - - [% IF force_hold_level == 'item' %] - - (Required) - [% ELSIF force_hold_level == 'record' || force_hold_level == 'item_group' %] - - [% ELSE %] - - [% END %] - - - -
    -
      - [% UNLESS Koha.Preference('item-level_itypes') %] -
    1. - Item type: - [% biblio_info.itemtype.translated_description | html %] -
    2. - [% END %] - - [% IF ( biblio_info.biblioitem.publicationyear ) %] -
    3. - Publication year: - [% biblio_info.biblioitem.publicationyear | html %] -
    4. - [% END %] -
    - - - - - - - [% IF Koha.Preference('item-level_itypes') %] - - [% END %] - - [% IF Koha.Preference('EnableItemGroupHolds') && biblio_info.object.item_groups.count %] - - [% END %] - - - [% IF itemdata_ccode %] - - [% END %] - - - [% IF itemdata_enumchron %] - - [% END %] - - - - - [% SET selected = 0 %] - [% FOREACH itemloo IN biblio_info.itemloop %] - [% UNLESS ( itemloo.hide ) %] - - - - [% IF Koha.Preference('item-level_itypes') %] - - [% END %] - - [% IF Koha.Preference('EnableItemGroupHolds') && biblio_info.object.item_groups.count %] - - [% END %] - - - [% IF itemdata_ccode %] - - [% END %] - - - [% IF itemdata_enumchron %] - - [% END %] - - - [% END # / UNLESS itemloo.hide %] - [% END # /FOREACH itemloo %] - -
    HoldAllowed pickup locationsItem typeBarcodeItem groupHome libraryLast locationCollectionCall numberCopy numberVol no.Information
    - [% IF force_hold_level == 'record' # Patron has placed a record level hold previously for this record %] - - - Hold must be record level - - [% ELSIF force_hold_level == 'item_group' %] - - - Hold must be item group level - - [% ELSIF ( itemloo.available ) %] - - [% ELSIF ( itemloo.override ) %] - - - [% ELSE %] - - - [% IF itemloo.not_holdable %] - [% IF itemloo.not_holdable == 'damaged' %] - Item damaged - [% ELSIF itemloo.not_holdable == 'ageRestricted' %] - Age restricted - [% ELSIF itemloo.not_holdable == 'tooManyHoldsForThisRecord' %] - Exceeded max holds per record - [% ELSIF itemloo.not_holdable == 'tooManyReservesToday' %] - Daily hold limit reached for patron - [% ELSIF itemloo.not_holdable == 'tooManyReserves' %] - Too many holds - [% ELSIF itemloo.not_holdable == 'notReservable' %] - Not holdable - [% ELSIF itemloo.not_holdable == 'cannotReserveFromOtherBranches' %] - Patron is from different library - [% ELSIF itemloo.not_holdable == 'branchNotInHoldGroup' %] - Cannot place hold from patron's library - [% ELSIF itemloo.not_holdable == 'itemAlreadyOnHold' %] - Patron already has hold for this item - [% ELSIF itemloo.not_holdable == 'cannotBeTransferred' %] - Cannot be transferred to pickup library - [% ELSIF itemloo.not_holdable == 'pickupNotInHoldGroup' %] - Only pickup locations within the same hold group are allowed - [% ELSIF itemloo.not_holdable == 'noReservesAllowed' %] - No holds are allowed on this item - [% ELSIF itemloo.not_holdable == 'libraryNotPickupLocation' %] - Library is not a pickup location - [% ELSIF itemloo.not_holdable == 'no_valid_pickup_location' %] - No valid pickup location - [% ELSIF itemloo.not_holdable == 'notforloan' %] - Not for loan - [% ELSE %] - [% itemloo.not_holdable | html %] - [% END %] - [% END %] - - [% END # /IF force_hold_level %] - - [% IF (itemloo.pickup_locations_count > 0) || Koha.Preference('AllowHoldPolicyOverride') %] - - [% END %] - - [% UNLESS ( noItemTypeImages ) %] - [% IF ( itemloo.itemtype.image_location) %]
    [% END %] - [% END %] - [% itemloo.itemtype.translated_description | html %] -
    [% itemloo.barcode | html %] [% itemloo.object.item_group.description | html %] [% Branches.GetName( itemloo.homebranch ) | html %] [% Branches.GetName( itemloo.holdingbranch ) | html %] [% IF ( itemloo.ccode ) %][% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => itemloo.ccode ) | html %][% END %] [% itemloo.itemcallnumber | html %] [% IF ( itemloo.copynumber ) %][% itemloo.copynumber | html %][% ELSE %] [% END %] [% itemloo.enumchron | html %] - [% IF ( itemloo.onloan ) %] - Due [% itemloo.date_due | $KohaDates as_due_date => 1 %] - [% ELSE %] - [% IF ( itemloo.transfertwhen ) %] - In transit from [% Branches.GetName( itemloo.transfertfrom ) | html %], to [% Branches.GetName( itemloo.transfertto ) | html %], since - [% itemloo.transfertwhen | $KohaDates %] - [% END %] - [% END %] - - [% IF ( itemloo.reservedate ) %] - [% IF ( itemloo.nocancel ) %] - Can't be cancelled when item is in transit - [% ELSE %] - [% IF ( itemloo.waitingdate ) %] - [% IF ( itemloo.canreservefromotherbranches ) %] - Waiting for [% INCLUDE 'patron-title.inc' patron=itemloo.ReservedFor %] at [% Branches.GetName( itemloo.ExpectedAtLibrary ) | html %] since - [% itemloo.waitingdate | $KohaDates %] - [% ELSE %] - Waiting at [% Branches.GetName( itemloo.ExpectedAtLibrary ) | html %] since [% itemloo.waitingdate | $KohaDates %] - [% END %] - [% ELSE %] - [% IF ( itemloo.canreservefromotherbranches ) %] - [% IF itemloo.reservedate %] - On hold for [% INCLUDE 'patron-title.inc' patron=itemloo.ReservedFor %] expected at [% Branches.GetName( itemloo.ExpectedAtLibrary ) | html %] since - [% ELSE %] - On hold expected at [% Branches.GetName( itemloo.ExpectedAtLibrary ) | html %] - [% END %] - [% ELSIF itemloo.reservedate %] - On hold expected at [% Branches.GetName( itemloo.ExpectedAtLibrary ) | html %] since [% itemloo.reservedate | $KohaDates %] - [% ELSE %] - On hold expected at [% Branches.GetName( itemloo.ExpectedAtLibrary ) | html %] - [% END %] - [% END %] - [% END # /IF itemloo.nocancel %] - [% ELSE %] - Not on hold - [% END # /IF itemloo.reservedate %] - - [% IF itemloo.item_level_holds == "N" %] -
    Item level hold not allowed from OPAC - [% ELSIF itemloo.item_level_holds == "F" %] -
    Item level hold forced from OPAC - [% END %] - - [% IF ( itemloo.itemlost ) %] - [% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.itemlost', authorised_value => itemloo.itemlost ) | html %] - [% END %] - - [% IF ( itemloo.damaged ) %] - [% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.damaged', authorised_value => itemloo.damaged ) | html %] - [% END %] - - [% IF ( itemloo.withdrawn ) %] - [% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.withdrawn', authorised_value => itemloo.withdrawn ) | html %] - [% END %] - - [% IF ( itemloo.notforloan ) %] - Not for loan ([% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.notforloan', authorised_value => itemloo.notforloan ) | html %]) - [% ELSIF ( itemloo.notforloanitype ) %] - Not for loan (Itemtype not for loan) - [% END %] -
    - - - [% IF hiddencount %] -

    - Show all items ([% hiddencount | html %] hidden) -

    - [% END # /IF hiddencount %] -
    - [% IF ( patron.borrowernumber ) %] - [% IF ( override_required ) %] - - [% ELSIF ( none_available ) %] - - [% ELSE %] - - [% END %] - [% END %] -
    -
    -
    - -
    - - [% ELSE # /UNLESS multi_hold %] -
    -
    - Hold details - [% INCLUDE 'csrf-token.inc' %] - - - - - [% FOREACH biblioloo IN biblioloop %] - - [% UNLESS biblioloo.none_avail %] - - - [% END %] - [% END %] - -
      -
    1. - Patron: - [% IF ( patron.borrowernumber ) %] - [% INCLUDE 'patron-title.inc' patron => patron no_title => 1 hide_patron_infos_if_needed => 1 %] - [% ELSE %] - Not defined yet - [% END %] -
    2. - -
    3. - - -
    4. -
    5. - - -
    6. - [% IF ( Koha.Preference('AllowHoldDateInFuture') ) %] -
    7. - - -
    8. - [% END %] - -
    9. - - -
    10. -
    - - - - - - [% UNLESS Koha.Preference('item-level_itypes') %] - - [% END %] - - - - [% FOREACH biblioloo IN biblioloop %] - - - - - [% UNLESS Koha.Preference('item-level_itypes') %] - - [% END %] - - - - [% END # /FOREACH biblioloo %] -
     Pickup locationTitleItem typePriorityInformation
    - [% UNLESS ( biblioloo.warn ) %] - - [% END %] - - [% UNLESS ( biblioloo.none_avail || biblioloo.noitems ) %] - - [% END %] - -
      -
    • - [% biblioloo.title | html %] - [% IF biblioloo.author %]by [% biblioloo.author | html %][% END %] -
    • - [% IF ( biblioloo.publicationyear ) %] -
    • Publication year: [% biblioloo.publicationyear | html %]
    • - [% END %] -
    - [% IF ( biblioloo.warn ) %] - - [% END %] -
    - [% biblioloo.itemtype.translated_description | html %] - [% biblioloo.rank | html %] - [% IF ( biblioloo.checked_previously ) %] - Patron has previously checked out this title
    - [% END %] - [% IF ( biblioloo.alreadyres ) %] -
      -
    • [% INCLUDE 'patron-title.inc' patron => patron no_title => 1 no_cardnumber => 1 hide_patron_infos_if_needed => 1 %] already has a hold on this item
    • -
    - [% END %] - [% IF ( biblioloo.none_avail || biblioloo.noitems ) %] -
    • No items are available to be placed on hold
    - [% END %] -
    - -
    -
    - [% IF ( patron AND patron.borrowernumber ) %] - [% IF ( override_required ) %] - - [% ELSIF ( no_bibs_available ) %] - - [% ELSIF ( none_available ) %] - - [% ELSE %] - - [% END %] - [% END # /IF patron %] -
    - -
    - - [% END # /UNLESS multi_hold %] - [% END %] - - [% UNLESS ( patron ) %] - [% UNLESS borrowers %] - [% SET hold_count = biblio.holds.count | html %] - [% IF hold_count %] - - [% IF always_show_holds == 'DONT' %] - - [% UNLESS reserveloop %] - Show holds ([% hold_count | html %]) - [% END %] - [% ELSE %] - - [% END %] - [% END %] - [% END %] - [% IF ( reserveloop ) %] -
    - [% INCLUDE 'csrf-token.inc' %] - [% IF ( multi_hold ) %] - [% FOREACH biblionumber IN biblionumbers %] - - [% END %] - [% END %] - - [% IF enqueued %] -
    -

    The job has been enqueued! It will be processed as soon as possible.

    -

    View detail of the enqueued job

    -
    - [% END %] - -

    Existing holds

    -
    -
    - - -
    -
    - -
    - -
    -
    - [% FOREACH biblioloo IN biblioloop %] - [% IF ( biblioloo.reserveloop ) %] -
    - [% IF ( multi_hold ) %] -

    - [% biblioloo.title | html %] - [% biblioloo.reserveloop.size | html %] [% tn('Hold', 'Holds', biblioloo.reserveloop.size) | $raw %] -

    - [% END %] - - [% IF Koha.Preference('HoldsSplitQueue') == 'branch' %] - - [% SET branchcodes = [] %] - - [% FOREACH h IN biblioloo.reserveloop %] - [% branchcodes.push( h.branchcode ) %] - [% END %] - [% branchcodes = branchcodes.unique %] - [% IF ( branchcodes.empty ) %] -
    There are no holds on this title.
    - [% ELSE %] - - [% FOREACH b IN branchcodes.sort %] - [% SET holds_by_branch = [] %] - [% FOREACH h IN biblioloo.reserveloop %] - [% IF h.branchcode == b %] - [% holds_by_branch.push( h ) %] - [% END %] - [% END %] -
    -

    [% Branches.GetName( b ) | html %]

    - - [% INCLUDE holds_table.inc holds=holds_by_branch %] -
    - [% END # /FOREACh b %] - [% END # /IF ( branchcodes.empty ) %] - [% ELSIF Koha.Preference('HoldsSplitQueue') == 'itemtype' %] - - [% SET itemtypes = [] %] - - [% FOREACH h IN biblioloo.reserveloop %] - [% SET hold_itemtype = h.object.item.effective_itemtype || h.itemtype %] - [% itemtypes.push( hold_itemtype ) %] - [% END %] - [% itemtypes = itemtypes.unique %] - [% IF ( itemtypes.empty ) %] -
    There are no holds on this title.
    - [% ELSE %] - - [% FOREACH i IN itemtypes.sort %] - [% SET holds_by_itemtype = [] %] - [% FOREACH h IN biblioloo.reserveloop %] - [% SET hold_itemtype = h.object.item.effective_itemtype || h.itemtype %] - [% IF hold_itemtype == i %] - [% holds_by_itemtype.push( h ) %] - [% END %] - [% END %] - -
    - [% IF i %] -

    [% ItemTypes.GetDescription( i ) | html %]

    - [% ELSE %] -

    Any item type

    - [% END %] - [% INCLUDE holds_table.inc holds=holds_by_itemtype %] -
    - [% END # /FOREACH i %] - [% END # /IF ( itemtypes.empty ) %] - [% ELSIF Koha.Preference('HoldsSplitQueue') == 'branch_itemtype' %] - [% SET branchcodes = [] %] - - [% FOREACH h IN biblioloo.reserveloop %] - [% branchcodes.push( h.branchcode ) %] - [% END %] - [% branchcodes = branchcodes.unique %] - [% IF ( branchcodes.empty ) %] -
    There are no holds on this title.
    - [% ELSE %] - - [% FOREACH b IN branchcodes.sort %] -
    -

    [% Branches.GetName( b ) | html %]

    - [% SET holds_by_branch = [] %] - [% FOREACH h IN biblioloo.reserveloop %] - [% IF h.branchcode == b %] - [% holds_by_branch.push( h ) %] - [% END %] - [% END %] - - [% SET itemtypes = [] %] - [% FOREACH h IN holds_by_branch %] - [% SET hold_itemtype = h.object.item.effective_itemtype || h.itemtype %] - [% itemtypes.push( hold_itemtype ) %] - [% END %] - [% itemtypes = itemtypes.unique %] - - [% FOREACH i IN itemtypes.sort %] -
    -
    - [% IF i %] - [% ItemTypes.GetDescription( i ) | html %] - [% ELSE %] - Any item type - [% END %] -
    - - [% SET holds_by_itemtype = [] %] - [% FOREACH h IN holds_by_branch %] - [% SET hold_itemtype = h.object.item.effective_itemtype || h.itemtype %] - [% IF hold_itemtype == i %] - [% holds_by_itemtype.push( h ) %] - [% END %] - [% END %] - [% INCLUDE holds_table.inc holds=holds_by_itemtype %] -
    - - [% END %] -
    - - [% END # /FOREACH b %] - [% END # /IF ( branchcodes.empty ) %] - [% ELSE %] - - [% IF ( biblioloo.reserveloop.size ) %] - [% INCLUDE holds_table.inc holds=biblioloo.reserveloop %] - [% ELSE %] -
    There are no holds on this title.
    - [% END %] - [% END # /IF HoldsSplitQueue %] -
    - - [% END # /IF biblioloo.reserveloop %] - [% END # FOREACH biblioloo %] -
    -
    - - [% END # IF reserveloop %] - [% END # UNLESS patron %] -[% END %] - - -
    -
    [% INCLUDE 'csrf-token.inc' %]
    -
    - -[% MACRO jsinclude BLOCK %] - [% INCLUDE 'datatables.inc' %] - [% INCLUDE 'calendar.inc' %] - [% INCLUDE 'select2.inc' %] - [% Asset.js("js/holds.js") | $raw %] - [% Asset.js("js/form-submit.js") | $raw %] - - [% SET url_biblio_params = "biblionumber=" _ biblionumbers.join("&biblionumber=") %] - [% IF multi_hold %] - [% SET url_biblio_params = url_biblio_params _ "&multi_hold=1" %] - [% END %] - - - [% UNLESS patron %] - [% SET search_results_block_id = 'holds_patronsearch_pane_panel' %] - [%# adjusting variable for patron-search.inc %] - [% PROCESS patron_search_js table_id => 'table_borrowers', categories => categories, libraries => libraries, columns => columns, open_on_row_click => 1, on_click_url => '/cgi-bin/koha/reserve/request.pl?' _ url_biblio_params, redirect_if_one_result => 1, redirect_url => '/cgi-bin/koha/reserve/request.pl?' _ url_biblio_params, redirect_if_attribute_equal => 'cardnumber' %] - - [% END %] - -[% END %] - -[% INCLUDE 'intranet-bottom.inc' %] -- 2.39.5