Bugzilla – Attachment 136972 Details for
Bug 30952
New design for staff interface
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 30952: update request
Bug-30952-update-request.patch (text/plain), 70.41 KB, created by
Solene D
on 2022-07-01 14:23:35 UTC
(
hide
)
Description:
Bug 30952: update request
Filename:
MIME Type:
Creator:
Solene D
Created:
2022-07-01 14:23:35 UTC
Size:
70.41 KB
patch
obsolete
>From c2d9157c831cac93f14939bc4a71a1a6c68f6714 Mon Sep 17 00:00:00 2001 >From: Solene Desvaux <sdesvaux@biblibre.com> >Date: Thu, 30 Jun 2022 14:50:03 +0200 >Subject: [PATCH] Bug 30952: update request > >--- > .../prog/en/modules/reserve/request.tt | 628 ++++++++---------- > 1 file changed, 287 insertions(+), 341 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 86f1ca9d18..1df3d07ace 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt >@@ -17,10 +17,6 @@ > [% INCLUDE 'circ-search.inc' %] > [% END %] > [% 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" %] > [% UNLESS ( multi_hold ) %] > <title>Place a hold on [% INCLUDE 'biblio-title-head.inc' %] › Holds › Circulation › Koha</title> > [% ELSE %] >@@ -150,12 +146,6 @@ > [% END %] > </li> > </ol> >- <ol> >- [% IF Koha.Preference('showLastPatron') %][% INCLUDE 'last-borrower.inc' %][% END %] >- </ol> >- <ol> >- <a class="toplinks" href="/cgi-bin/koha/help.pl" id="helper"><i class="fa fa-question-circle"></i> <span>Help</span></a> >- </ol> > </nav> > [% END # UNLESS multi_hold %] > >@@ -168,7 +158,6 @@ > [% END %] > > <main> >- <h1>Holds</h1> > > [% IF ( nobiblio ) %] > <div class="dialog alert"> >@@ -195,13 +184,13 @@ > <p>Hold placed by : <strong> [% nextreservsurname | html %] [% nextreservfirstname | html %]</strong> at : <strong> [% branchname | html %] </strong>, Please transfer this item. > </p> > <form name="cancelReservewithtransfert" action="branchreserves.pl" method="post"> >- <input type="submit" class="principal" /> >+ <input type="submit" class="button" /> > </form> > </div> > [% END %] > > [% UNLESS ( multi_hold ) %] >- <h2>Place a hold on [% INCLUDE 'biblio-title.inc' link = 1 %] [% IF biblio.author %] by [% biblio.author | html %][% END %]</h2> >+ <h2>Place a hold on [% INCLUDE 'biblio-title.inc' link = 1 %]</h2> > [% ELSE %] > <h2> > [% IF ( patron ) %] >@@ -230,23 +219,22 @@ > <p>No club with this name, please, try another</p> > </div> > [% END %] >- <fieldset> >+ <fieldset class="brief"> > [% UNLESS multi_hold %] > [% IF clubcount %] >- <h2>Search patrons or clubs</h2> >+ <h3>Search patrons or clubs</h3> > [% ELSE %] >- <h2>Search patrons</h2> >+ <label>Search patrons</label> > [% END %] > [% END %] > <div id="circ_holds_select" class="toptabs"> >- <ul class="nav nav-tabs" role="tablist"> >- <li role="presentation" class="active"><a href="#holds_patronsearch_pane" aria-controls="holds_patronsearch_pane" role="tab" data-toggle="tab">Patrons</a></li> >+ <ul> >+ <li><a href="#holds_patronsearch_pane">Patrons</a></li> > [% IF clubcount %] >- <li role="presentation"><a href="#holds_clubsearch_pane" aria-controls="holds_clubsearch_pane" role="tab" data-toggle="tab">Clubs</a></li> >+ <li><a href="#holds_clubsearch_pane">Clubs</a></li> > [% END %] > </ul> > <div id="holds_patronsearch_pane"> >- [% PROCESS patron_search_filters_simple %] > <form id="holds_patronsearch" action="request.pl?biblionumbers=[% biblionumbers | html %]" method="post"> > <div class="hint">Enter patron card number or partial name:</div> > <input type="text" size="40" id="patron" class="focus" name="findborrower" autocomplete="off" /> >@@ -274,45 +262,31 @@ > <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" /> > [% END %] > >- [% PROCESS patron_search_table table_id => 'table_borrowers', open_on_row_click => 1 %] >+ </form> <!-- /#holds_patronsearch --> >+ [% IF clubs %] >+ [% INCLUDE 'clubs-table.inc' destination = "holds" %] >+ [% END %] > </div> >- [% IF clubcount %] >- <div id="holds_clubsearch_pane" role="tabpanel" class="tab-pane"> >- <form id="holds_clubsearch" action="request.pl" method="post"> >- <div class="hint">Enter club ID or partial name:</div> >- <input type="text" size="40" id="club" class="focus" name="findclub" autocomplete="off" /> >- <input type="submit" value="Search" /> >- [% FOREACH biblionumber IN biblionumbers %] >- <input type="hidden" name="biblionumber" value="[% biblionumber | html %]"/> >- [% END %] >- >- </form> <!-- /#holds_patronsearch --> >- [% IF clubs %] >- [% INCLUDE 'clubs-table.inc' destination = "holds" %] >- [% END %] >- </div> >- [% END %] >- </div> <!-- /.tab-content --> >+ [% END %] > </div> > </fieldset> > [% ELSIF club %] > <div class="dialog alert hide clubalert"> > </div> > <fieldset class="rows"> >- <legend>Hold details</legend> >+ <h3>Hold details</h3> > <form action="/api/v1/clubs/[% club.id | html %]/holds" method="post" name="form" id="club-request-form"> > > [% IF ( multi_hold ) %] >+ <input type="hidden" name="biblionumbers" id="multi_hold_bibs" value="[% biblionumbers | html %]"/> >+ <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/> > <input type="hidden" name="request" value="any"/> > [% FOREACH biblioloo IN biblioloop %] >- [% UNLESS biblioloo.none_avail %] >- <input type="hidden" name="holdable_bibs" id="holdable_bibs" value="[% biblioloo.biblionumber | html %]"/> >- <input type="hidden" name="title_[% biblioloo.biblionumber | html %]" value="[% biblioloo.title | html %]"/> >- <input type="hidden" name="rank_[% biblioloo.biblionumber | html %]" value="[% biblioloo.rank | html %]"/> >- [% END %] >+ <input type="hidden" name="title_[% biblioloo.biblionumber | html %]" value="[% biblioloo.title | html %]"/> >+ <input type="hidden" name="rank_[% biblioloo.biblionumber | html %]" value="[% biblioloo.rank | html %]"/> > [% END %] > [% ELSE %] >- <input type="hidden" name="holdable_bibs" id="holdable_bibs" value="[% biblio.biblionumber | html %]"/> >+ <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" /> > <input type="hidden" name="title" value="[% biblio.title | html %]" /> > <input type="hidden" name="rank-request" value="[% fixedRank | html %]" /> > [% END # /IF multi_hold %] >@@ -375,14 +349,14 @@ > [% END %] > [% UNLESS ( multi_hold ) %] > <fieldset class="action"> >- <input type="submit" class="principal" value="Place hold" /> >+ <input type="submit" value="Place hold" /> > </fieldset> > [% ELSE %] > <table id="requesttitles"> > <tr> > <th> </th> > <th>Title</th> >- [% UNLESS Koha.Preference('item-level_itypes') %] >+ [% UNLESS ( item_level_itypes ) %] > <th>Item type</th> > [% END %] > <th>Priority</th> >@@ -403,7 +377,6 @@ > <ul> > <li> > <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblioloo.biblionumber | uri %]">[% biblioloo.title | html %]</a> >- [% IF biblioloo.author %] by [% biblioloo.author | html %][% END %] > </li> > [% IF ( biblioloo.publicationyear ) %] > <li> >@@ -415,9 +388,9 @@ > <span class="not_holdable" title="[% biblioloo.biblionumber | html %]"></span> > [% END %] > </td> >- [% UNLESS Koha.Preference('item-level_itypes') %] >+ [% UNLESS ( item_level_itypes ) %] > <td> >- <img src="[% biblioloo.itemtype.image_location| html %]" alt="[% biblioloo.itemtype.translated_description | html %]" title="[% biblioloo.itemtype.translated_description | html %]" /> >+ <img src="[% biblioloo.imageurl | html %]" alt="[% biblioloo.itypename | html %]" title="[% biblioloo.itypename | html %]" /> > </td> > [% END %] > <td>[% biblioloo.rank | html %]</td> >@@ -466,7 +439,7 @@ > </div> > [% END %] > >- [% IF ( no_reserves_allowed || exceeded_maxreserves || exceeded_holds_per_record || alreadyreserved || none_available || alreadypossession || ageRestricted || recall ) %] >+ [% IF ( no_reserves_allowed || exceeded_maxreserves || exceeded_holds_per_record || alreadyreserved || none_available || alreadypossession || ageRestricted ) %] > <div class="dialog alert"> > > [% UNLESS ( multi_hold ) %] >@@ -504,8 +477,6 @@ > <li><strong>Too many holds for <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblioloo.biblionumber | uri %]"> [% biblioloo.title | html %]</a>:</strong> [% 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.</li> > [% END %] > [% END %] >- [% ELSIF ( none_available ) %] >- <li><strong>No items available: </strong>One or more records have no items that can be held</li> > [% END # /IF exceeded_maxreserves %] > [% END # /UNLESS multi_hold %] > </div> >@@ -544,25 +515,23 @@ > </div> > > <fieldset class="rows"> >- <legend>Hold details</legend> >+ <h3>Hold details</h3> > <form action="placerequest.pl" method="post" name="form" id="hold-request-form"> > > <input type="hidden" name="borrowernumber" value="[% patron.borrowernumber | html %]" /> >- [% FOREACH biblionumber IN biblionumbers %] >- <input type="hidden" name="biblionumber" value="[% biblionumber | html %]"/> >- [% END %] >+ <input type="hidden" name="type" value="str8" /> >+ > [% IF ( multi_hold ) %] >+ <input type="hidden" name="biblionumbers" id="multi_hold_bibs" value="[% biblionumbers | html %]"/> > <input type="hidden" name="multi_holds" id="multi_holds" value="1" /> >+ <input type="hidden" name="bad_bibs" id="bad_bibs" value=""/> > <input type="hidden" name="request" value="any"/> > [% FOREACH biblioloo IN biblioloop %] >- [% UNLESS biblioloo.none_avail %] >- <input type="hidden" name="holdable_bibs" id="holdable_bibs" value="[% biblioloo.biblionumber | html %]"/> >- <input type="hidden" name="title_[% biblioloo.biblionumber | html %]" value="[% biblioloo.title | html %]"/> >- <input type="hidden" name="rank_[% biblioloo.biblionumber | html %]" value="[% biblioloo.rank | html %]"/> >- [% END %] >+ <input type="hidden" name="title_[% biblioloo.biblionumber | html %]" value="[% biblioloo.title | html %]"/> >+ <input type="hidden" name="rank_[% biblioloo.biblionumber | html %]" value="[% biblioloo.rank | html %]"/> > [% END %] > [% ELSE %] >- <input type="hidden" name="holdable_bibs" id="holdable_bibs" value="[% biblio.biblionumber | html %]"/> >+ <input type="hidden" name="biblionumber" value="[% biblionumber | html %]" /> > <input type="hidden" name="title" value="[% biblio.title | html %]" /> > <input type="hidden" name="rank-request" value="[% fixedRank | html %]" /> > [% END # /IF multi_hold %] >@@ -643,6 +612,7 @@ > [% ELSE %] > <input type="checkbox" id="requestany" name="request" checked="checked" value="Any" /> > [% END %] >+ <input type="hidden" name="biblioitem" value="[% biblioitemnumber | html %]" /> > <input type="hidden" name="alreadyreserved" value="[% alreadyreserved | html %]" /> > </li> > >@@ -667,168 +637,138 @@ > <fieldset class="action"> > [% IF ( patron.borrowernumber ) %] > [% IF ( override_required ) %] >- <button type="submit" class="btn btn-default warning" id="lientype"><i class="fa fa-exclamation-triangle "></i> Place hold</button> >+ <button type="submit" class="btn btn-default warning"><i class="fa fa-exclamation-triangle "></i> Place hold</button> > [% ELSIF ( none_available ) %] >- <button type="submit" disabled="disabled" class="btn btn-default btn-disabled" id="lientype">Place hold</button> >+ <button type="submit" disabled="disabled" class="btn btn-default btn-disabled">Place hold</button> > [% ELSE %] >- <button type="submit" class="btn btn-default" id="lientype">Place hold</button> >+ <button type="submit" class="btn btn-default">Place hold</button> > [% END %] > [% END %] > </fieldset> > >- [% biblio = biblioloop.0 %] >+ [% FOREACH bibitemloo IN bibitemloop %] >+ <ol> >+ [% UNLESS ( item_level_itypes ) %] >+ <li> >+ <span class="label">Item type:</span> >+ [% bibitemloo.description | html %] >+ </li> >+ [% END %] > >- <ol> >- [% UNLESS Koha.Preference('item-level_itypes') %] >- <li> >- <span class="label">Item typeX:</span> >- [% biblio.itemtype.translated_description | html %] >- </li> >- [% END %] >+ [% IF ( bibitemloo.publicationyear ) %] >+ <li> >+ <span class="label">Publication year:</span> >+ [% bibitemloo.publicationyear | html %] >+ </li> >+ [% END %] >+ </ol> > >- [% IF ( biblio.biblioitem.publicationyear ) %] >- <li> >- <span class="label">Publication year:</span> >- [% biblio.biblioitem.publicationyear | html %] >- </li> >- [% END %] >- </ol> >+ <h2 style="padding: 0 1em;"> >+ Place a hold on a specific item >+ [% IF bibitemloo.force_hold_level == 'item' %] >+ <span class="error"><em>(Required)</em></span> >+ [% END %] >+ </h2> > >- <h2 style="padding: 0 1em;"> >- Place a hold on a specific item >- [% IF force_hold_level == 'item' %] >- <span class="error"><em>(Required)</em></span> >- [% END %] >- </h2> >- >- <table id="requestspecific"> >- <thead> >- <tr> >- <th>Hold</th> >- <th>Allowed pickup locations</th> >- [% IF Koha.Preference('item-level_itypes') %] >- <th>Item type</th> >- [% END %] >- <th>Barcode</th> >- <th>Home library</th> >- <th>Last location</th> >- [% IF itemdata_ccode %] >- <th>Collection</th> >- [% END %] >- <th>Call number</th> >- <th>Copy number</th> >- [% IF itemdata_enumchron %] >- <th>Vol no.</th> >- [% END %] >- <th>Information</th> >- </tr> >- </thead> >- <tbody> >- [% SET selected = 0 %] >- [% FOREACH itemloo IN biblio.itemloop %] >- [% UNLESS ( itemloo.hide ) %] >- <tr class="[% itemloo.backgroundcolor | html %]"> >- <td> >- [% IF force_hold_level == 'record' # Patron has placed a record level hold previously for this record %] >- <span class="error"> >- <i class="fa fa-times fa-lg" title="Cannot be put on hold"></i> >- Hold must be record level >- </span> >- [% ELSIF ( itemloo.available ) %] >- <input type="radio" name="checkitem" value="[% itemloo.itemnumber | html %]" /> >- [% ELSIF ( itemloo.override ) %] >- <input type="radio" name="checkitem" class="needsoverride" value="[% itemloo.itemnumber | html %]" /> >- <i class="fa fa-exclamation-triangle fa-lg" style="color:gold" title="Requires override of hold policy"/></i> >- [% ELSE %] >- <span class="error"> >- <i class="fa fa-times fa-lg" title="Cannot be put on hold"></i> >- [% IF itemloo.not_holdable %] >- [% IF itemloo.not_holdable == 'damaged' %] >- <span>Item damaged</span> >- [% ELSIF itemloo.not_holdable == 'ageRestricted' %] >- <span>Age restricted</span> >- [% ELSIF itemloo.not_holdable == 'tooManyHoldsForThisRecord' %] >- <span>Exceeded max holds per record</span> >- [% ELSIF itemloo.not_holdable == 'tooManyReservesToday' %] >- <span>Daily hold limit reached for patron</span> >- [% ELSIF itemloo.not_holdable == 'tooManyReserves' %] >- <span>Too many holds</span> >- [% ELSIF itemloo.not_holdable == 'notReservable' %] >- <span>Not holdable</span> >- [% ELSIF itemloo.not_holdable == 'cannotReserveFromOtherBranches' %] >- <span>Patron is from different library</span> >- [% ELSIF itemloo.not_holdable == 'branchNotInHoldGroup' %] >- <span>Cannot place hold from patron's library</span> >- [% ELSIF itemloo.not_holdable == 'itemAlreadyOnHold' %] >- <span>Patron already has hold for this item</span> >- [% ELSIF itemloo.not_holdable == 'cannotBeTransferred' %] >- <span>Cannot be transferred to pickup library</span> >- [% ELSIF itemloo.not_holdable == 'pickupNotInHoldGroup' %] >- <span>Only pickup locations within the same hold group are allowed</span> >- [% ELSIF itemloo.not_holdable == 'noReservesAllowed' %] >- <span>No holds are allowed on this item</span> >- [% ELSIF itemloo.not_holdable == 'libraryNotPickupLocation' %] >- <span>Library is not a pickup location</span> >- [% ELSIF itemloo.not_holdable == 'no_valid_pickup_location' %] >- <span>No valid pickup location</span> >- [% ELSIF itemloo.not_holdable == 'notforloan' %] >- <span>Not for loan</span> >- [% ELSE %] >- <span>[% itemloo.not_holdable | html %]</span> >+ <table id="requestspecific"> >+ <thead> >+ <tr> >+ <th>Hold</th> >+ [% IF ( item_level_itypes ) %] >+ <th>Item type</th> >+ [% END %] >+ <th>Barcode</th> >+ <th>Home library</th> >+ <th>Last location</th> >+ [% IF itemdata_ccode %] >+ <th>Collection</th> >+ [% END %] >+ <th>Call number</th> >+ <th>Copy number</th> >+ [% IF itemdata_enumchron %] >+ <th>Vol no.</th> >+ [% END %] >+ <th>Information</th> >+ <th>Allowed pickup locations</th> >+ </tr> >+ </thead> >+ <tbody> >+ [% SET selected = 0 %] >+ [% FOREACH itemloo IN bibitemloo.itemloop %] >+ [% UNLESS ( itemloo.hide ) %] >+ <tr class="[% itemloo.backgroundcolor | html %]"> >+ <td> >+ [% IF itemloo.force_hold_level == 'record' # Patron has placed a record level hold previously for this record %] >+ <span class="error"> >+ <i class="fa fa-times fa-lg" title="Cannot be put on hold"></i> >+ Hold must be record level >+ </span> >+ [% ELSIF ( itemloo.available ) %] >+ <input type="radio" name="checkitem" value="[% itemloo.itemnumber | html %]" /> >+ [% ELSIF ( itemloo.override ) %] >+ <input type="radio" name="checkitem" class="needsoverride" value="[% itemloo.itemnumber | html %]" /> >+ <i class="fa fa-exclamation-triangle fa-lg" style="color:gold" title="Requires override of hold policy"/></i> >+ [% ELSE %] >+ <span class="error"> >+ <i class="fa fa-times fa-lg" title="Cannot be put on hold"></i> >+ [% 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 reserves 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 >+ [% ELSE %] >+ [% itemloo.not_holdable | html %] >+ [% END %] > [% END %] >+ </span> >+ [% END # /IF itemloo.force_hold_level %] >+ </td> >+ [% IF ( item_level_itypes ) %] >+ <td> >+ [% UNLESS ( noItemTypeImages ) %] >+ [% IF ( itemloo.imageurl ) %]<img src="[% itemloo.imageurl | html %]" alt="" /> <br /> [% END %] > [% END %] >- </span> >- [% END # /IF force_hold_level %] >- </td> >- <td> >- [% IF (itemloo.pickup_locations_count > 0) %] >- <select name="item_pickup_[% itemloo.itemnumber | html %]" class="pickup_locations" style="width:100%;" >- data-item-id="[% itemloo.itemnumber | html %]" >- data-patron-id="[% patron.borrowernumber | html %]" >- data-pickup-location-source="item"> >- [% IF (itemloo.default_pickup_location) %] >- <option value="[% itemloo.default_pickup_location.branchcode | html %]" selected="selected">[% itemloo.default_pickup_location.branchname | html %]</option> >+ [% itemloo.itypename | html %] >+ </td> > [% END %] >- </select> >- [% END %] >- </td> >- [% IF Koha.Preference('item-level_itypes') %] > <td> >- [% UNLESS ( noItemTypeImages ) %] >- [% IF ( itemloo.itemtype.image_location) %]<img src="[% itemloo.itemtype.image_location | html %]" alt="" /> <br /> [% END %] >- [% END %] >- [% itemloo.itemtype.translated_description | html %] >+ [% itemloo.barcode | html %] > </td> >- [% END %] >- <td> >- [% itemloo.barcode | html %] >- </td> >- <td> >- [% Branches.GetName( itemloo.homebranch ) | html %] >- </td> >- <td> >- [% Branches.GetName( itemloo.holdingbranch ) | html %] >- </td> >- [% IF itemdata_ccode %] > <td> >- [% IF ( itemloo.ccode ) %][% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => itemloo.ccode ) | html %][% END %] >+ [% Branches.GetName( itemloo.homebranch ) | html %] > </td> >- [% END %] >- <td> >- [% itemloo.itemcallnumber | html %] >- </td> >- <td> >- [% IF ( itemloo.copynumber ) %][% itemloo.copynumber | html %][% ELSE %] [% END %] >- </td> >- [% IF itemdata_enumchron %] > <td> >- [% itemloo.enumchron | html %] >+ [% Branches.GetName( itemloo.holdingbranch ) | html %] > </td> >- [% END %] >- [% IF ( itemloo.onloan ) %] >- <td data-order="[% itemloo.date_due | html %]"> >- <span class="checkedout">Due [% itemloo.date_due | $KohaDates as_due_date => 1 %]</span> >- [% ELSE %] >+ [% IF itemdata_ccode %] >+ <td> >+ [% IF ( itemloo.ccode ) %][% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.ccode', authorised_value => itemloo.ccode ) | html %][% END %] >+ </td> >+ [% END %] > <td> > [% IF ( itemloo.transfertwhen ) %] > <span>In transit from [% Branches.GetName( itemloo.transfertfrom ) | html %], >@@ -849,66 +789,86 @@ > [% IF ( itemloo.waitingdate ) %] > [% itemloo.waitingdate | $KohaDates %] > [% ELSE %] >- [% IF ( itemloo.reservedate ) %] >- [% itemloo.reservedate | html %] >+ [% IF ( itemloo.waitingdate ) %]Waiting[% ELSE %]On hold[% END %] >+ [% IF ( itemloo.canreservefromotherbranches ) %] >+ for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% itemloo.ReservedFor.borrowernumber | uri %]">[% itemloo.ReservedFor.firstname | html %] [% itemloo.ReservedFor.surname | html %]</a> > [% END %] >- [% END %]. >- <a class="info cancel-hold" href="modrequest.pl?CancelBiblioNumber=[% itemloo.biblionumber | html %]&CancelBorrowerNumber=[% itemloo.ReservedFor.borrowernumber | html %]&CancelItemnumber=[% itemloo.itemnumber | html %]">Cancel hold</a> >- [% END # /IF itemloo.nocancel %] >- [% ELSE %] >- Not on hold >- [% END # /IF itemloo.reservedate %] >+ [% IF ( itemloo.waitingdate ) %]at[% ELSE %]expected at[% END %] >+ [% Branches.GetName( itemloo.ExpectedAtLibrary ) | html %] since >+ [% IF ( itemloo.waitingdate ) %] >+ [% itemloo.waitingdate | $KohaDates %] >+ [% ELSE %] >+ [% IF ( itemloo.reservedate ) %] >+ [% itemloo.reservedate | html %] >+ [% END %] >+ [% END %]. >+ <a class="info cancel-hold" href="modrequest.pl?CancelBiblioNumber=[% itemloo.biblionumber | html %]&CancelBorrowerNumber=[% itemloo.ReservedFor.borrowernumber | html %]&CancelItemnumber=[% itemloo.itemnumber | html %]">Cancel hold</a> >+ [% END # /IF itemloo.nocancel %] >+ [% ELSE %] >+ Not on hold >+ [% END # /IF itemloo.reservedate %] > >- [% IF itemloo.item_level_holds == "N" %] >- <br/>Item level hold not allowed from OPAC >- [% ELSIF itemloo.item_level_holds == "F" %] >- <br/>Item level hold forced from OPAC >- [% END %] >+ [% IF itemloo.item_level_holds == "N" %] >+ <br/>Item level hold not allowed from OPAC >+ [% ELSIF itemloo.item_level_holds == "F" %] >+ <br/>Item level hold forced from OPAC >+ [% END %] > >- [% IF ( itemloo.itemlost ) %] >- <span class="lost">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.itemlost', authorised_value => itemloo.itemlost ) | html %]</span> >- [% END %] >+ [% IF ( itemloo.itemlost ) %] >+ <span class="lost">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.itemlost', authorised_value => itemloo.itemlost ) | html %]</span> >+ [% END %] > >- [% IF ( itemloo.damaged ) %] >- <span class="dmg">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.damaged', authorised_value => itemloo.damaged ) | html %]</span> >- [% END %] >+ [% IF ( itemloo.damaged ) %] >+ <span class="dmg">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.damaged', authorised_value => itemloo.damaged ) | html %]</span> >+ [% END %] > >- [% IF ( itemloo.withdrawn ) %] >- <span class="wdn">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.withdrawn', authorised_value => itemloo.withdrawn ) | html %]</span> >- [% END %] >+ [% IF ( itemloo.withdrawn ) %] >+ <span class="wdn">[% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.withdrawn', authorised_value => itemloo.withdrawn ) | html %]</span> >+ [% END %] > >- [% IF ( itemloo.notforloan ) %] >- <span class="nfl">Not for loan ([% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.notforloan', authorised_value => itemloo.notforloan ) | html %])</span> >- [% ELSIF ( itemloo.notforloanitype ) %] >- <span class="nfl">Not for loan (Itemtype not for loan)</span> >+ [% IF ( itemloo.notforloan ) %] >+ <span class="nfl">Not for loan ([% AuthorisedValues.GetDescriptionByKohaField( kohafield => 'items.notforloan', authorised_value => itemloo.notforloan ) | html %])</span> >+ [% END %] >+ </td> >+ <td> >+ [% IF (itemloo.pickup_locations_count > 0) %] >+ <select name="item_pickup_[% itemloo.itemnumber | html %]" class="pickup_locations" style="width:100%;" >+ data-item-id="[% itemloo.itemnumber | html %]" >+ data-patron-id="[% patron.borrowernumber | html %]" >+ data-pickup-location-source="item"> >+ [% IF (itemloo.default_pickup_location) %] >+ <option value="[% itemloo.default_pickup_location.branchcode | html %]" selected="selected">[% itemloo.default_pickup_location.branchname | html %]</option> >+ [% END %] >+ </select> > [% END %] >- </td> >- </tr> >- [% END # / UNLESS itemloo.hide %] >- [% END # /FOREACH itemloo %] >- </tbody> >- </table> <!-- /#requestspecific --> >- >- [% IF hiddencount %] >- <form> >- <p class="hiddencount"> >- <a href="request.pl?biblionumber=[% biblio.biblionumber | uri %]&borrowernumber=[% borrowernumber | uri %]&showallitems=1">Show all items ([% biblio.hiddencount | html %] hidden)</a> >- </p> >- </form> >- [% END # /IF hiddencount %] >+ </td> >+ </tr> >+ [% END # / UNLESS itemloo.hide %] >+ [% END # /FOREACH itemloo %] >+ </tbody> >+ </table> <!-- /#requestspecific --> >+ >+ [% IF ( bibitemloo.hiddencount ) %] >+ <form> >+ <p class="hiddencount"> >+ <a href="request.pl?biblionumber=[% bibitemloo.biblionumber | uri %]&borrowernumber=[% bibitemloo.borrowernumber | uri %]&showallitems=1">Show all items ([% bibitemloo.hiddencount | html %] hidden)</a> >+ </p> >+ </form> >+ [% END # /IF bibitemloo.hiddencount %] >+ [% END # /FOREACH bibitemloo %] > > [% ELSE # /UNLESS multi_hold %] > > <table id="requesttitles"> > <tr> > <th> </th> >- <th>Pickup location</th> > <th>Title</th> >- [% UNLESS Koha.Preference('item-level_itypes') %] >+ [% UNLESS ( item_level_itypes ) %] > <th>Item type</th> > [% END %] > <th>Priority</th> > <th>Information</th> >+ <th>Pickup location</th> > </tr> > [% FOREACH biblioloo IN biblioloop %] > [% IF ( biblioloo.warn ) %] >@@ -918,28 +878,13 @@ > [% END %] > <td> > [% UNLESS ( biblioloo.warn ) %] >- <input class="multi_hold_item_checkbox" type="checkbox" checked="checked" title="[% biblioloo.biblionumber | html %]"/> >- [% END %] >- </td> >- <td> >- [% UNLESS ( biblioloo.none_avail || biblioloo.noitems ) %] >- <select name="pickup_[% biblioloo.biblionumber | html %]" >- class="multi_pickup_select" >- data-biblio-id="[% biblioloo.biblionumber | html %]" >- data-patron-id="[% patron.borrowernumber | html %]" >- data-pickup-locations='[% biblioloo.pickup_locations_codes.json | $raw %]'> >- <option value=""></option> >- [% FOREACH pickup_location IN biblioloo.pickup_locations %] >- <option value="[% pickup_location.branchcode | html %]">[% pickup_location.branchname | html %]</option> >- [% END %] >- </select> >+ <input class="multi_hold_item_checkbox" type="checkbox" checked="checked" title="[% biblioloo.biblionumber | html %]"/> >+ </td> > [% END %] >- </td> > <td> > <ul> > <li> > <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblioloo.biblionumber | uri %]">[% biblioloo.title | html %]</a> >- [% IF biblioloo.author %] by [% biblioloo.author | html %][% END %] > </li> > [% IF ( biblioloo.publicationyear ) %] > <li> >@@ -951,9 +896,9 @@ > <span class="not_holdable" title="[% biblioloo.biblionumber | html %]"></span> > [% END %] > </td> >- [% UNLESS Koha.Preference('item-level_itypes') %] >+ [% UNLESS ( item_level_itypes ) %] > <td> >- <img src="[% biblioloo.itemtype.image_location | html %]" alt="[% biblioloo.itemtype.translated_description | html %]" title="[% biblioloo.itemtype.translated_description | html %]" /> >+ <img src="[% biblioloo.imageurl | html %]" alt="[% biblioloo.itypename | html %]" title="[% biblioloo.itypename | html %]" /> > </td> > [% END %] > <td>[% biblioloo.rank | html %]</td> >@@ -986,6 +931,20 @@ > [% END %] > [% END %] > </td> >+ <td> >+ [% UNLESS ( biblioloo.none_avail || biblioloo.noitems ) %] >+ <select name="pickup_[% biblioloo.biblionumber | html %]" >+ class="multi_pickup_select" >+ data-biblio-id="[% biblioloo.biblionumber | html %]" >+ data-patron-id="[% patron.borrowernumber | html %]" >+ data-pickup-locations='[% biblioloo.pickup_locations_codes.json | $raw %]'> >+ <option value=""></option> >+ [% FOREACH pickup_location IN biblioloo.pickup_locations %] >+ <option value="[% pickup_location.branchcode | html %]">[% pickup_location.branchname | html %]</option> >+ [% END %] >+ </select> >+ [% END %] >+ </td> > </tr> > [% END # /FOREACH biblioloo %] > </table> <!-- /#requesttitles --> >@@ -994,23 +953,15 @@ > > <fieldset class="action"> > [% IF ( patron AND patron.borrowernumber ) %] >- [% IF ( multi_hold ) %] >- [% IF ( override_required ) %] >- <button type="submit" class="btn btn-default warning" id="lientype"><i class="fa fa-exclamation-triangle "></i> Place holds</button> >- [% ELSIF ( no_bibs_available ) %] >- <button type="submit" class="btn btn-default btn-disabled" disabled="disabled" id="lientype">Place holds</button> >- [% ELSIF ( none_available ) %] >- <button type="submit" class="btn btn-default" id="lientype">Place holds</button> >- [% ELSE %] >- <button type="submit" class="btn btn-default" id="multi_hold_submit">Place holds</button> >- [% END %] >+ [% IF ( override_required ) %] >+ <button type="submit" class="btn btn-default warning"><i class="fa fa-exclamation-triangle "></i> Place holds</button> >+ [% ELSIF ( none_available ) %] >+ <button class="btn btn-default" type="submit">Place holds</button> > [% ELSE %] >- [% IF ( override_required ) %] >- <button type="submit" class="btn btn-default warning" id="lientype"><i class="fa fa-exclamation-triangle "></i> Place hold</button> >- [% ELSIF ( none_available ) %] >- <button type="submit" class="btn btn-default btn-disabled" disabled="disabled" id="lientype">Place hold</button> >+ [% IF ( multi_hold ) %] >+ <button type="submit" class="btn btn-default" id="multi_hold_submit">Place holds</button> > [% ELSE %] >- <button type="submit" class="btn btn-default" id="lientype" id="lientype">Place hold</button> >+ <button type="submit" class="btn btn-default">Place hold</button> > [% END %] > [% END %] > [% END # /IF patron %] >@@ -1037,9 +988,7 @@ > [% IF ( reserveloop ) %] > <form id="existing_holds" name="T[% time | html %]" action="modrequest.pl" method="post" style="display:block"> > [% IF ( multi_hold ) %] >- [% FOREACH biblionumber IN biblionumbers %] >- <input type="hidden" name="biblionumber" value="[% biblionumber | html %]"/> >- [% END %] >+ <input type = "hidden" name="biblionumbers" value="[% biblionumbers | html %]"/> > [% END %] > > [% IF enqueued %] >@@ -1051,10 +1000,10 @@ > > <h2>Existing holds</h2> > <div id="toolbar" class="btn-toolbar"> >- <input type="submit" name="submit" class="principal" value="Update hold(s)" /> <button class="cancel_selected_holds" data-bulk="true"></button> >+ <input type="submit" name="submit" value="Update hold(s)" /> <button class="cancel_selected_holds" data-bulk="true"></button> > <fieldset id="cancellation-reason-fieldset" class="action"> > [% SET hold_cancellation = AuthorisedValues.GetAuthValueDropbox('HOLD_CANCELLATION') %] >- [% IF hold_cancellation.count %] >+ [% IF hold_cancellation %] > <label for="cancellation-reason">Cancellation reason: </label> > <select class="cancellation-reason" name="cancellation-reason" id="cancellation-reason"> > <option value="">No reason given</option> >@@ -1177,7 +1126,7 @@ > [% IF i %] > [% ItemTypes.GetDescription( i ) | html %] > [% ELSE %] >- <span>Any item type</span> >+ Any item type > [% END %] > </h5> > >@@ -1240,7 +1189,7 @@ > > <fieldset class="action"> > [% SET hold_cancellation = AuthorisedValues.GetAuthValueDropbox('HOLD_CANCELLATION') %] >- [% IF hold_cancellation.count %] >+ [% IF hold_cancellation %] > <label for="cancellation-reason">Cancellation reason: </label> > <select class="cancellation-reason" name="modal-cancellation-reason" id="modal-cancellation-reason"> > <option value="">No reason given</option> >@@ -1262,23 +1211,18 @@ > > [% MACRO jsinclude BLOCK %] > [% INCLUDE 'datatables.inc' %] >- [% INCLUDE 'calendar.inc' %] > [% INCLUDE 'columns_settings.inc' %] > [% Asset.js("lib/hc-sticky.js") | $raw %] >+ [% Asset.js("js/circ-patron-search-results.js") | $raw %] > [% INCLUDE 'select2.inc' %] > [% Asset.js("js/holds.js") | $raw%] >- >- [% SET url_biblio_params = "biblionumber=" _ biblionumbers.join("&biblionumber=") %] >- [% IF multi_hold %] >- [% SET url_biblio_params = url_biblio_params _ "&multi_hold=1" %] >- [% END %] >- >+ [% INCLUDE 'calendar.inc' %] > <script> > var Sticky; >- var biblionumbers = [[% biblionumbers.join(', ') | $raw %]]; >+ var biblionumber = "[% biblionumber | $raw %]"; > var borrowernumber = "[% patron.borrowernumber | $raw %]"; > var patron_homebranch = "[% To.json( Branches.GetName( patron.branchcode ) ) | $raw %]"; >- var override_items = {[% FOREACH biblio IN biblioloop %][% FOREACH itemloo IN biblio.itemloop %][% IF ( itemloo.override ) %] >+ var override_items = {[% FOREACH bibitemloo IN bibitemloop %][% FOREACH itemloo IN bibitemloo.itemloop %][% IF ( itemloo.override ) %] > [% itemloo.itemnumber | html %]: { > homebranch: "[% To.json( Branches.GetName( itemloo.homebranch ) ) | $raw %]", > holdallowed: "[% itemloo.holdallowed | html %]" >@@ -1300,6 +1244,7 @@ > } > > var MSG_CANCEL_SELECTED = _("Cancel selected (%s)"); >+ columns_settings_borrowers_table = [% TablesSettings.GetColumns( 'circ', 'circulation', 'table_borrowers', 'json' ) | $raw %]; > $.fn.select2.defaults.set("width", "100%" ); > $.fn.select2.defaults.set("dropdownAutoWidth", true ); > >@@ -1313,20 +1258,16 @@ > } > }); > >- if( $("#circ_holds_select").length > 0 ){ >- [% SET active = clubs ? 1 : 0 %] >- /* Set active tab based on whether a club search was submitted */ >- var tabs = $("#circ_holds_select li:eq(" + [% active | $raw %] + ") a").tab("show"); >- $( tabs[0].hash ).find("input.focus").focus(); >- >- /* Change active focus when tabs change */ >- $("#circ_holds_select a[data-toggle='tab']").on("shown.bs.tab", function (e) { >- active_tab = e.target.hash; >- $( active_tab ).find("input.focus").focus(); >- }); >- } >- >- >+ [% SET active = clubs ? 1 : 0 %] >+ $('#circ_holds_select').tabs({ >+ active: [% active | $raw %], >+ activate: function(){ >+ $(this).find("input.focus").focus(); >+ }, >+ create: function(){ >+ $(this).find("input.focus").focus(); >+ } >+ }); > function ToggleHoldsToPlace() { > if ( $("#requestany").prop('checked') ) { > $("#holds_to_place_count").prop('disabled', false); >@@ -1344,7 +1285,7 @@ > var pickup = $("#pickup").val(); > var url = "?pickup=" + pickup; > url += "&borrowernumber=" + borrowernumber; >- url += "&biblionumber=" + biblionumbers[0]; >+ url += "&biblionumber=" + biblionumber; > window.location.replace(url); > }); > [% END %] >@@ -1364,6 +1305,8 @@ > $("#club-request-form").on("submit", function() { > let $t = $(this); > $('.clubalert, .holdalert').addClass('hide'); >+ let biblionumbers = [biblionumber]; >+ let biblionumbers_text; > const data = { > pickup_library_id: $('select[name="pickup"]').val() > }; >@@ -1379,13 +1322,12 @@ > if($('input[name="default_patron_home"]:checked').length) { > data.default_patron_home = 1; > } >+ if($('input[name="biblionumbers"]').length) { >+ biblionumbers_text = $('input[name="biblionumbers"]').val(); >+ biblionumbers = biblionumbers_text.replace(/\/$/, '').split('/') >+ } > > const count = $('input[name="holds_to_place_count"]').length?$('input[name="holds_to_place_count"]').val():1; >- var newloc = 'request.pl?'; >- biblionumbers.forEach(function (biblionumber) { >- newloc += '&biblionumber=' + biblionumber; >- }); >- > biblionumbers.forEach(function(biblionumber) { > data.biblio_id = biblionumber; > let options = { >@@ -1397,7 +1339,11 @@ > for(let i = 0; i < count; i++) { > $.ajax(options) > .then(function(result) { >- document.location = newloc; >+ let url = 'request.pl?biblionumber='+biblionumber; >+ if(biblionumbers_text) { >+ url = 'request.pl?biblionumbers='+biblionumbers_text; >+ } >+ document.location = url; > }) > .fail(function(err) { > var message = err.responseJSON.error; >@@ -1492,6 +1438,7 @@ > > function checkMultiHold() { > >+ var biblionumbers = ""; > var selected_bibs = $(".multi_hold_item_checkbox:checked"); > if ( selected_bibs.length > 0 ) { > // there are biblios selected in the form! >@@ -1504,6 +1451,7 @@ > } > else { > var bibnum = $(this).attr("title"); >+ biblionumbers += bibnum + "/"; > } > }); > if ( pickup_not_set > 0 ) { >@@ -1516,13 +1464,22 @@ > return false; > } > >+ var badSpans = $(".not_holdable"); >+ var badBibs = ""; >+ $(badSpans).each(function() { >+ var bibnum = $(this).attr("title"); >+ badBibs += bibnum + "/"; >+ }); >+ >+ $("#multi_hold_bibs").val(biblionumbers); >+ $("#bad_bibs").val(badBibs); >+ > $('#hold-request-form').preventDoubleFormSubmit(); > > return true; > } > > $(document).ready(function() { >- > $("#always_show_holds").change(function(){ > if( $(this).prop('checked') ){ > document.cookie = 'always_show_holds=DO'; >@@ -1610,8 +1567,11 @@ > $("#cancelModalConfirmBtn").on("click",function(e) { > let link; > if(cancel_link.data('bulk')) { >- [% SET data_url = 'biblionumber=' _ biblionumbers.join('&biblionumber=') %] >- link = `request.pl?[% data_url | url %]&action=cancelBulk&ids=${$('.holds_table .select_hold:checked').toArray().map(el => $(el).data('id')).join(',')}`; >+ [% IF biblionumbers %] >+ link = `request.pl?biblionumbers=[% biblionumbers | url %]&action=cancelBulk&ids=${$('.holds_table .select_hold:checked').toArray().map(el => $(el).data('id')).join(',')}`; >+ [% ELSE %] >+ link = `request.pl?biblionumber=[% biblionumber | url %]&action=cancelBulk&ids=${$('.holds_table .select_hold:checked').toArray().map(el => $(el).data('id')).join(',')}`; >+ [% END %] > } else { > let borrowernumber = cancel_link.data('borrowernumber'); > let biblionumber = cancel_link.data('biblionumber'); >@@ -1628,11 +1588,13 @@ > > [% UNLESS ( patron || patron.borrowernumber || borrowers || noitems || nobiblio ) %] > [% IF ( PatronAutoComplete ) %] >- $( "#search_patron_filter" ).autocomplete({ >+ $( "#patron" ).autocomplete({ > source: "/cgi-bin/koha/circ/ysearch.pl", > minLength: 3, > select: function( event, ui ) { >- document.location.href = '/cgi-bin/koha/reserve/request.pl?[% url_biblio_params | url %]&borrowernumber=' + ui.item.borrowernumber; >+ $( "#patron" ).val( ui.item.cardnumber ); >+ $( "#holds_patronsearch" ).submit(); >+ return false; > } > }) > .data( "ui-autocomplete" )._renderItem = function( ul, item ) { >@@ -1660,7 +1622,6 @@ > }; > [% END %] > [% END %] >- > Sticky = $("#toolbar"); > Sticky.hcSticky({ > stickTo: "#existing_holds", >@@ -1711,23 +1672,8 @@ > } > return false; > }); >- }); >- </script> > >- <script> >- table_settings = [% TablesSettings.GetColumns( 'circ', 'circulation', 'table_borrowers', 'json' ) | $raw %]; >- </script> >- >- [% PROCESS patron_search_js table_id => 'table_borrowers', categories => categories, libraries => libraries, extended_attribute_types => attribute_type_codes, 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' %] >- <script> >- $(document).ready(function() { >- $("#holds_patronsearch").on("submit", filter); > }); >- $('.printholdslip').click(function(){ >- var reserve_id = $(this).attr('data-reserve_id'); >- window.open("/cgi-bin/koha/circ/hold-transfer-slip.pl?reserve_id=" + reserve_id); >- return false; >- }) > </script> > [% END %] > >-- >2.17.1
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 30952
:
136810
|
136812
|
136813
|
136815
|
136816
|
136818
|
136819
|
136820
|
136822
|
136823
|
136825
|
136827
|
136828
|
136830
|
136831
|
136833
|
136834
|
136836
|
136837
|
136839
|
136840
|
136842
|
136844
|
136845
|
136847
|
136848
|
136878
|
136879
|
136880
|
136881
|
136882
|
136883
|
136884
|
136885
|
136886
|
136887
|
136888
|
136889
|
136890
|
136891
|
136892
|
136893
|
136894
|
136895
|
136896
|
136897
|
136898
|
136899
|
136900
|
136901
|
136902
|
136950
|
136951
|
136952
|
136953
|
136954
|
136955
|
136956
|
136957
|
136958
|
136959
|
136960
|
136961
|
136962
|
136963
|
136964
|
136965
|
136966
|
136967
|
136968
|
136969
|
136970
|
136971
|
136972
|
136973
|
136974
|
137408
|
137409
|
137410
|
137411
|
137414
|
137415
|
137416
|
137417
|
137418
|
137419
|
137420
|
137744
|
137767
|
137768
|
137775
|
137776
|
137994
|
138091
|
138092
|
138093
|
138094
|
138095
|
138096
|
138097
|
138098
|
138099
|
138100
|
138101
|
138102
|
138103
|
138245
|
138246
|
138247
|
138293
|
138299
|
138300
|
138302
|
140117
|
140118
|
140119
|
140120
|
140121
|
140122
|
140123
|
140124
|
140125
|
140126
|
140127
|
140128
|
140129
|
140130
|
140131
|
140132
|
140133
|
140134
|
140135
|
140136
|
140137
|
140138
|
140139
|
140140
|
140141
|
140142
|
140143
|
140371
|
140372
|
140373
|
140374
|
140433
|
140435
|
140459
|
140460
|
140512
|
140513
|
140514
|
140515
|
140516
|
140517
|
140519
|
140520
|
140521
|
140522
|
140523
|
140524
|
140525
|
140526
|
140527
|
140528
|
140529
|
140530
|
140531
|
140532
|
140533
|
140534
|
140535
|
140536
|
140537
|
140538
|
140539
|
140540
|
140541
|
140542
|
140543
|
140544
|
140545
|
140546
|
140547
|
140548
|
140549
|
140550
|
140551
|
140552
|
140553
|
140554
|
140555
|
140556
|
140557
|
140558
|
140559
|
140560
|
140566
|
140567
|
140570
|
140571
|
140575
|
140576
|
140577
|
140588
|
140613
|
140617
|
140618
|
140619
|
140620
|
140628
|
140629
|
140635
|
140649
|
140650
|
140651
|
140652
|
140653
|
140654
|
140658
|
140687
|
140976
|
140977
|
141020
|
141024
|
141026
|
141027
|
141041
|
141043
|
141044
|
141047
|
141052
|
141053
|
141054
|
141055
|
141056
|
141057
|
141064
|
141074
|
141075
|
141631
|
141632
|
141633
|
141634
|
141635
|
141636
|
141637
|
141638
|
141639
|
141640
|
141641
|
141642
|
141643
|
141644
|
141645
|
141646
|
141647
|
141648
|
141649
|
141650
|
141651
|
141652
|
141653
|
141654
|
141655
|
141656
|
141657
|
141658
|
141659
|
141660
|
141661
|
141662
|
141663
|
141664
|
141665
|
141666
|
141667
|
141668
|
141669
|
141670
|
141671
|
141672
|
141673
|
141674
|
141675
|
141676
|
141677
|
141678
|
141679
|
141680
|
141681
|
141682
|
141683
|
141684
|
141685
|
141686
|
141687
|
141688
|
141689
|
141690
|
141691
|
141692
|
141693
|
141694
|
141695
|
141696
|
141697
|
141698
|
141699
|
141700
|
141701
|
141702
|
141703
|
141704
|
141705
|
141706
|
141707
|
141708
|
141709
|
141710
|
141711
|
141712
|
141713
|
142604
|
142605