Bugzilla – Attachment 78772 Details for
Bug 19532
Recalls for Koha
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 19532: recalls history
Bug-19532-recalls-history.patch (text/plain), 22.41 KB, created by
Chris Cormack
on 2018-09-14 22:24:05 UTC
(
hide
)
Description:
Bug 19532: recalls history
Filename:
MIME Type:
Creator:
Chris Cormack
Created:
2018-09-14 22:24:05 UTC
Size:
22.41 KB
patch
obsolete
>From d7d7d32d8e23fdee5ea8604e1d8191091aea4003 Mon Sep 17 00:00:00 2001 >From: Aleisha Amohia <aleishaamohia@hotmail.com> >Date: Wed, 15 Nov 2017 00:59:20 +0000 >Subject: [PATCH] Bug 19532: recalls history > >this patch >- adds recalls history (similar to holds history) to OPAC and intranet >- edits the tables in opac-user.pl (OPAC), moremember.pl and >circulation.pl (staff) so that it only shows active recalls (recalls >that have been requested or are waiting) >- some extra datatables fixes > >Signed-off-by: Nick Clemens <nick@bywatersolutions.com> >--- > circ/circulation.pl | 2 +- > .../intranet-tmpl/prog/en/includes/circ-menu.inc | 1 + > .../intranet-tmpl/prog/en/includes/recalls.inc | 8 +- > .../prog/en/modules/members/recallshistory.tt | 51 ++++++++ > .../opac-tmpl/bootstrap/en/includes/usermenu.inc | 6 + > .../opac-tmpl/bootstrap/en/modules/opac-recalls.tt | 145 +++++++++++++++++++++ > .../opac-tmpl/bootstrap/en/modules/opac-user.tt | 10 +- > members/moremember.pl | 2 +- > members/recallshistory.pl | 53 ++++++++ > opac/opac-recalls.pl | 45 +++++++ > opac/opac-user.pl | 2 +- > 11 files changed, 312 insertions(+), 13 deletions(-) > create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/members/recallshistory.tt > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-recalls.tt > create mode 100755 members/recallshistory.pl > create mode 100755 opac/opac-recalls.pl > >diff --git a/circ/circulation.pl b/circ/circulation.pl >index 908ee6c441..1b8be091fb 100755 >--- a/circ/circulation.pl >+++ b/circ/circulation.pl >@@ -466,7 +466,7 @@ if ($patron) { > my $holds = Koha::Holds->search( { borrowernumber => $borrowernumber } ); # FIXME must be Koha::Patron->holds > my $waiting_holds = $holds->waiting; > >- my $recalls = Koha::Recalls->search({ borrowernumber => $borrowernumber }); >+ my $recalls = Koha::Recalls->search({ borrowernumber => $borrowernumber, status => { '=', ['R','W'] } }); > > $template->param( > holds_count => $holds->count(), >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc >index a69d099e92..290911cada 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc >@@ -124,5 +124,6 @@ > [% IF Koha.Preference('ILLModule') && CAN_user_ill %] > <li><a href="/cgi-bin/koha/ill/ill-requests.pl?borrowernumber=[% patron.borrowernumber | html %]">Interlibrary loans</a></li> > [% END %] >+ <li><a href="/cgi-bin/koha/members/recallshistory.pl">Recalls history</a></li> > </ul></div> > [% END %] >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/recalls.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/recalls.inc >index 9ee1342f84..2608e75574 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/recalls.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/recalls.inc >@@ -55,14 +55,16 @@ > Ready for pickup > [% ELSIF ( recall.has_expired ) %] > Expired >+ [% ELSIF ( recall.is_cancelled ) %] >+ Cancelled >+ [% ELSIF ( recall.is_overdue ) %] >+ Overdue to be returned > [% END %] > </td> > > <td class="recall-cancel"> >- [% IF ( !recall.cancellationdate ) %] >+ [% IF ( !recall.cancellationdate && ( recall.is_requested || recall.is_overdue ) ) %] > <a class="btn btn-sm btn-danger" id="cancel_recall" data-id="[% recall.recall_id %]"><i class="fa fa-times"></i> Cancel</a> >- [% ELSE %] >- Cancelled > [% END %] > </td> > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/recallshistory.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/recallshistory.tt >new file mode 100644 >index 0000000000..7d21bbee16 >--- /dev/null >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/recallshistory.tt >@@ -0,0 +1,51 @@ >+[% USE KohaDates %] >+[% USE Koha %] >+[% INCLUDE 'doc-head-open.inc' %] >+<title>Recalls history for [% patron.firstname %] [% patron.surname %]</title> >+[% INCLUDE 'doc-head-close.inc' %] >+<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" /> >+[% INCLUDE 'datatables.inc' %] >+<script type="text/javascript" src="[% interface %]/[% theme %]/js/recalls.js"></script> >+<script type="text/javascript" id="js"> >+//<![CDATA[ >+$(document).ready(function() { >+ $("#recalls-table").dataTable($.extend(true, {}, dataTablesDefaults, { >+ "aoColumnDefs": [ >+ { "aTargets": [ -1 ], "bSortable": false, "bSearchable": false }, >+ ], >+ "aaSorting": [[ 1, "asc" ]], >+ "sPaginationType": "full_numbers" >+ })); >+ }); >+//]]> >+</script> >+</head> >+<body id="recalls_history" class="pat"> >+[% INCLUDE 'header.inc' %] >+[% INCLUDE 'patron-search.inc' %] >+ >+<div id="breadcrumbs"> >+ <a href="/cgi-bin/koha/mainpage.pl">Home</a> › >+ <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> › >+ Recalls history for [% patron.firstname %] [% patron.surname %] >+</div> >+ >+<div id="doc3" class="yui-t2"> >+ <div id="bd"> >+ <div id="yui-main"> >+ <div class="yui-b"> >+ >+ [% INCLUDE 'members-toolbar.inc' %] >+ >+ <h1>Recalls history</h1> >+ >+ [% INCLUDE 'recalls.inc' %] >+ >+ </div> >+ </div> >+ >+ <div class="yui-b"> >+ [% INCLUDE 'circ-menu.inc' %] >+ </div> >+</div> >+[% INCLUDE 'intranet-bottom.inc' %] >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/usermenu.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/usermenu.inc >index da5e1ec8a8..5d60740351 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/usermenu.inc >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/usermenu.inc >@@ -124,6 +124,12 @@ > <a href="/cgi-bin/koha/opac-illrequests.pl">your interlibrary loan requests</a></li> > [% END %] > >+ [% IF ( recallsview ) %] >+ <li class="active"> >+ [% ELSE %] >+ <li> >+ [% END %] >+ <a href="/cgi-bin/koha/opac-recalls.pl">your recalls history</a></li> > </ul> > </div> > [% END %] >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-recalls.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-recalls.tt >new file mode 100644 >index 0000000000..cb6e382539 >--- /dev/null >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-recalls.tt >@@ -0,0 +1,145 @@ >+[% USE Koha %] >+[% USE KohaDates %] >+ >+[% INCLUDE 'doc-head-open.inc' %] >+<title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog › Your recalls history</title> >+[% INCLUDE 'doc-head-close.inc' %] >+[% BLOCK cssinclude %][% END %] >+</head> >+[% INCLUDE 'bodytag.inc' bodyid='opac-recalls' bodyclass='scrollto' %] >+[% INCLUDE 'masthead.inc' %] >+ >+<div class="main"> >+ <ul class="breadcrumb"> >+ <li><a href="/cgi-bin/koha/opac-main.pl">Home</a> <span class="divider">›</span></li> >+ <li><a href="#">Your recalls history</a></li> >+ </ul> >+ >+ <div class="container-fluid"> >+ <div class="row-fluid"> >+ <div class="span2"> >+ <div id="navigation"> >+ [% INCLUDE 'navigation.inc' IsPatronPage=1 %] >+ </div> >+ </div> >+ <div class="span10"> >+ <div id="recalls" class="maincontent"> >+ >+ <h2>Recalls history</h2> >+ >+ [% IF RECALLS.count %] >+ <div id="opac-user-recalls"> >+ <table id="recalls-table" class="table table-bordered table-striped"> >+ <thead> >+ <tr> >+ <th class="anti-the">Title</th> >+ <th class="psort title-string">Placed on</th> >+ <th class="title-string">Expires on</th> >+ <th>Pickup location</th> >+ <th>Status</th> >+ <th class="nosort">Cancel</th> >+ </tr> >+ </thead> >+ <tbody> >+ [% FOREACH RECALL IN RECALLS %] >+ <tr> >+ <td class="title"> >+ <a class="title" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% RECALL.biblionumber %]"> >+ [% RECALL.biblio.title %] >+ [% FOREACH s IN RECALL.biblio.subtitles %] >+ [% s %] >+ [% END %] >+ [% RECALL.item.enumchron %] >+ </a> >+ [% RECALL.biblio.author %] >+ </td> >+ <td class="recalldate"> >+ <span title="[% RECALL.recalldate %]"> >+ <span class="tdlabel">Recall date:</span> >+ [% RECALL.recalldate | $KohaDates %] >+ </span> >+ </td> >+ <td class="expirationdate"> >+ [% IF ( RECALL.is_waiting ) %] >+ [% IF ( RECALL.expirationdate ) %] >+ <span title="[% RECALL.expirationdate %]"> >+ <span class="tdlabel">Expiration:</span> >+ [% RECALL.expirationdate | $KohaDates %] >+ </span> >+ [% ELSE %] >+ <span title="0000-00-00"> >+ <span class="tdlabel">Expiration:</span> >+ Never expires >+ </span> >+ [% END %] >+ [% ELSIF ( RECALL.has_expired && RECALL.expirationdate ) %] >+ <span title="[% RECALL.expirationdate %]" class="overdue"> >+ <span class="tdlabel">Expiration:</span> >+ [% RECALL.expirationdate | $KohaDates %] >+ </span> >+ [% ELSE %] >+ <span title="0000-00-00">-</span> >+ [% END %] >+ </td> >+ <td class="branch"> >+ <span class="tdlabel">Pick up location:</span> >+ [% RECALL.branch.branchname %] >+ </td> >+ <td class="status"> >+ <span class="tdlabel">Status:</span> >+ [% IF ( RECALL.is_requested ) %] >+ Requested >+ [% ELSIF ( RECALL.is_waiting ) %] >+ Ready for pickup >+ [% ELSIF ( RECALL.has_expired ) %] >+ Expired >+ [% ELSIF ( RECALL.is_cancelled ) %] >+ Cancelled >+ [% END %] >+ </td> >+ <td class="cancelrecall"> >+ [% IF ( !RECALL.cancellationdate && ( RECALL.is_requested || RECALL.is_overdue ) ) %] >+ <form action="/cgi-bin/koha/opac-recall.pl" method="post"> >+ <input type="hidden" name="op" value="cancel"> >+ <input type="hidden" name="recall_id" value="[% RECALL.recall_id %]"> >+ <input type="hidden" name="itemnumber" value="[% RECALL.itemnumber %]"> >+ <button type="submit" name="submit" class="btn btn-mini btn-danger" id="cancel_recall"><i class="icon-remove icon-white"></i> Cancel</button> >+ </form> >+ [% END %] >+ </td> >+ [% END %] >+ </tr> >+ </tbody> >+ <table> >+ </div> >+ [% END # / # RECALLS.count %] >+ >+ </div> <!-- /#recalls --> >+ </div> <!-- /.span10 --> >+ </div> <!-- /.row-fluid --> >+ </div> <!-- /.container-fluid --> >+</div> <!-- /#main --> >+ >+[% INCLUDE 'opac-bottom.inc' %] >+ >+[% BLOCK jsinclude %] >+ [% INCLUDE 'datatables.inc' %] >+ <script type="text/JavaScript"> >+ //<![CDATA[ >+ var MSG_CONFIRM_CANCEL_RECALL = _("Are you sure you want to undo this recall?"); >+ >+ $(document).ready(function(){ >+ $("#cancel_recall").click(function(e){ >+ e.preventDefault(); >+ return confirmDelete(MSG_CONFIRM_CANCEL_RECALL); >+ }); >+ $("#recalls-table").dataTable($.extend(true, {}, dataTablesDefaults, { >+ "aoColumnDefs": [ >+ { "aTargets": [ "nosort" ],"bSortable": false,"bSearchable": false }, >+ { "sType": "anti-the", "aTargets" : [ "anti-the" ] }, >+ { "sType": "title-string", "aTargets" : [ "title-string" ] } >+ ] >+ })); >+ }); >+ </script> >+[% END %] >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt >index 044b47c698..229c32cb06 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt >@@ -794,7 +794,7 @@ > <th class="title-string">Expires on</th> > <th>Pickup location</th> > <th>Status</th> >- <th>Cancel</th> >+ <th class="nosort">Cancel</th> > </tr> > </thead> > <tbody> >@@ -848,20 +848,16 @@ > Requested > [% ELSIF ( RECALL.is_waiting ) %] > Ready for pickup >- [% ELSIF ( RECALL.has_expired ) %] >- Expired > [% END %] > </td> > <td class="cancelrecall"> >- [% IF ( !RECALL.cancellationdate ) %] >+ [% IF ( !RECALL.cancellationdate && ( RECALL.is_requested || RECALL.is_overdue ) ) %] > <form action="/cgi-bin/koha/opac-recall.pl" method="post"> > <input type="hidden" name="op" value="cancel"> > <input type="hidden" name="recall_id" value="[% RECALL.recall_id %]"> > <input type="hidden" name="itemnumber" value="[% RECALL.itemnumber %]"> > <button type="submit" name="submit" class="btn btn-sm btn-danger" id="cancel_recall"><i class="icon-remove icon-white"></i> Cancel</button> > </form> >- [% ELSE %] >- Cancelled > [% END %] > </td> > [% END %] >@@ -1009,7 +1005,7 @@ > return confirmDelete(MSG_CONFIRM_CANCEL_RECALL); > }); > >- var dTables = $("#checkoutst,#holdst,#overduest,#opac-user-relative-issues-table"); >+ var dTables = $("#checkoutst,#holdst,#overduest,#opac-user-relative-issues-table,#recalls-table"); > dTables.each(function(){ > var thIndex = $(this).find("th.psort").index(); > $(this).dataTable($.extend(true, {}, dataTablesDefaults, { >diff --git a/members/moremember.pl b/members/moremember.pl >index 41f8b86a97..8189b523ae 100755 >--- a/members/moremember.pl >+++ b/members/moremember.pl >@@ -233,7 +233,7 @@ if ( $data->{dateofbirth} ) { > # BUILD HTML > # show all recalls and reserves of this borrower, and the position of the reservation .... > if ($borrowernumber) { >- my $recalls = Koha::Recalls->search({ borrowernumber => $borrowernumber }); >+ my $recalls = Koha::Recalls->search({ borrowernumber => $borrowernumber, status => { '=', ['R','W'] } }); > $template->param( > holds_count => Koha::Database->new()->schema()->resultset('Reserve') > ->count( { borrowernumber => $borrowernumber } ), >diff --git a/members/recallshistory.pl b/members/recallshistory.pl >new file mode 100755 >index 0000000000..3a6bc2f308 >--- /dev/null >+++ b/members/recallshistory.pl >@@ -0,0 +1,53 @@ >+#!/usr/bin/perl >+ >+# Copyright 2017 Aleisha Amohia <aleisha@catalyst.net.nz> >+# >+# This file is part of Koha. >+# >+# Koha is free software; you can redistribute it and/or modify it >+# under the terms of the GNU General Public License as published by >+# the Free Software Foundation; either version 3 of the License, or >+# (at your option) any later version. >+# >+# Koha is distributed in the hope that it will be useful, but >+# WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License >+# along with Koha; if not, see <http://www.gnu.org/licenses>. >+ >+use Modern::Perl; >+ >+use CGI qw ( -utf8 ); >+ >+use C4::Auth; >+use C4::Output; >+ >+use Koha::Recalls; >+use Koha::Patrons; >+ >+my $input = CGI->new; >+ >+my ($template, $loggedinuser, $cookie)= get_template_and_user( >+ { >+ template_name => "members/recallshistory.tt", >+ query => $input, >+ type => "intranet", >+ authnotrequired => 0, >+ flagsrequired => {borrowers => 1}, >+ debug => 1, >+ } >+); >+ >+my $recalls = Koha::Recalls->search({ borrowernumber => $loggedinuser }); >+ >+my $patron = Koha::Patrons->find($loggedinuser); >+ >+$template->param( >+ recalls => $recalls, >+ patron => $patron, >+ recallsview => 1 >+); >+ >+output_html_with_http_headers $input, $cookie, $template->output; >diff --git a/opac/opac-recalls.pl b/opac/opac-recalls.pl >new file mode 100755 >index 0000000000..dc8b6813a6 >--- /dev/null >+++ b/opac/opac-recalls.pl >@@ -0,0 +1,45 @@ >+#!/usr/bin/perl >+ >+# Copyright 2017 Aleisha Amohia <aleisha@catalyst.net.nz> >+# >+# This file is part of Koha. >+# >+# Koha is free software; you can redistribute it and/or modify it >+# under the terms of the GNU General Public License as published by >+# the Free Software Foundation; either version 3 of the License, or >+# (at your option) any later version. >+# >+# Koha is distributed in the hope that it will be useful, but >+# WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License >+# along with Koha; if not, see <http://www.gnu.org/licenses>. >+ >+use Modern::Perl; >+ >+use CGI qw ( -utf8 ); >+use Encode qw( encode ); >+use C4::Auth; # get_template_and_user >+use C4::Output; >+use Koha::Recalls; >+ >+my $input = new CGI; >+ >+my ( $template, $borrowernumber, $cookie ) = get_template_and_user( >+ { >+ template_name => "opac-recalls.tt", >+ query => $input, >+ type => "opac", >+ authnotrequired => 0, >+ } >+); >+ >+my $recalls = Koha::Recalls->search({ borrowernumber => $borrowernumber }); >+$template->param( >+ RECALLS => $recalls, >+ recallsview => 1 >+); >+ >+output_html_with_http_headers $input, $cookie, $template->output; >diff --git a/opac/opac-user.pl b/opac/opac-user.pl >index 78b3fb6a11..83290f4df1 100755 >--- a/opac/opac-user.pl >+++ b/opac/opac-user.pl >@@ -305,7 +305,7 @@ $template->param( show_barcode => 1 ) if $show_barcode; > > # now the reserved items.... > my $reserves = Koha::Holds->search( { borrowernumber => $borrowernumber } ); >-my $recalls = Koha::Recalls->search( { borrowernumber => $borrowernumber } ); >+my $recalls = Koha::Recalls->search( { borrowernumber => $borrowernumber, status => { '=', ['R', 'W'] } } ); > > $template->param( > RESERVES => $reserves, >-- >2.11.0
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 19532
:
68569
|
68570
|
68571
|
68572
|
68642
|
68643
|
68644
|
68645
|
68653
|
69100
|
69102
|
69147
|
69148
|
69149
|
69170
|
69172
|
69221
|
69222
|
69223
|
69322
|
69353
|
69354
|
69405
|
69409
|
69410
|
69411
|
69841
|
69872
|
69873
|
69874
|
69875
|
69876
|
69877
|
69878
|
69879
|
69880
|
69881
|
69882
|
69883
|
69884
|
69885
|
69886
|
69887
|
69888
|
69889
|
69890
|
69986
|
70093
|
71409
|
71574
|
71575
|
71576
|
71577
|
71578
|
71579
|
71580
|
71581
|
71582
|
71583
|
71584
|
71585
|
71586
|
71587
|
71588
|
71589
|
71590
|
71591
|
71592
|
72244
|
72311
|
72312
|
72313
|
72314
|
72315
|
72316
|
72317
|
72318
|
72319
|
72320
|
72321
|
72322
|
72323
|
72324
|
72325
|
72326
|
72327
|
72328
|
72329
|
72330
|
72331
|
72332
|
72333
|
72334
|
72335
|
72336
|
72337
|
72338
|
72527
|
76817
|
76818
|
76819
|
76820
|
76821
|
76822
|
76823
|
76824
|
76825
|
76826
|
76827
|
76828
|
76829
|
76830
|
76831
|
76832
|
76833
|
76834
|
76835
|
76836
|
76837
|
76838
|
76839
|
76840
|
76841
|
76842
|
76843
|
76844
|
76845
|
76846
|
76847
|
77177
|
77178
|
77179
|
78755
|
78757
|
78759
|
78761
|
78763
|
78765
|
78766
|
78768
|
78770
|
78772
|
78773
|
78774
|
78775
|
78776
|
78777
|
78778
|
78780
|
78782
|
78785
|
78787
|
78789
|
78790
|
78792
|
78794
|
78797
|
78800
|
78801
|
78802
|
78803
|
78804
|
78805
|
78806
|
78807
|
78808
|
80763
|
80764
|
80765
|
80766
|
80767
|
80768
|
80769
|
80770
|
80771
|
80772
|
80773
|
80774
|
80775
|
80776
|
80777
|
80778
|
80779
|
80780
|
80781
|
80782
|
80783
|
80784
|
80785
|
80786
|
80787
|
80788
|
80789
|
80793
|
80878
|
81204
|
81205
|
81206
|
81207
|
81208
|
81209
|
81210
|
81211
|
81212
|
81213
|
81214
|
81215
|
81216
|
81217
|
81218
|
81219
|
81220
|
81221
|
81222
|
81223
|
81224
|
81225
|
81226
|
81227
|
81228
|
81229
|
81230
|
81231
|
81232
|
81233
|
81234
|
81235
|
81236
|
81237
|
81238
|
81239
|
81240
|
81241
|
81242
|
81243
|
81244
|
81245
|
81246
|
81247
|
81547
|
81548
|
81549
|
81550
|
81551
|
81552
|
81553
|
81554
|
81555
|
81556
|
81557
|
81558
|
81559
|
81560
|
81561
|
81562
|
81563
|
81564
|
81565
|
81566
|
81567
|
81568
|
81569
|
81583
|
81584
|
81585
|
81586
|
81587
|
81588
|
81595
|
81618
|
81652
|
81653
|
81654
|
81655
|
81656
|
81657
|
81658
|
81659
|
81660
|
81661
|
81662
|
81663
|
81664
|
81665
|
81666
|
81667
|
81668
|
81669
|
81670
|
81671
|
81672
|
81673
|
81674
|
81675
|
81676
|
81677
|
81678
|
81679
|
81680
|
81681
|
81682
|
81683
|
103887
|
103888
|
103890
|
103899
|
103900
|
103901
|
103999
|
104000
|
104001
|
104002
|
104005
|
104006
|
104007
|
104066
|
104067
|
104068
|
104069
|
104070
|
104071
|
104246
|
104247
|
104248
|
104249
|
104250
|
104322
|
104323
|
104324
|
104325
|
104326
|
104327
|
104328
|
104329
|
104330
|
104331
|
104332
|
104333
|
104334
|
104335
|
104336
|
104391
|
104392
|
104393
|
104394
|
104395
|
104396
|
104397
|
104398
|
104474
|
104475
|
104476
|
104477
|
104478
|
104479
|
104480
|
104481
|
104545
|
104546
|
104547
|
104548
|
104549
|
104550
|
104551
|
104552
|
104646
|
104647
|
104648
|
104649
|
104650
|
104651
|
104652
|
104653
|
104722
|
104723
|
104724
|
104725
|
104726
|
104727
|
104728
|
104729
|
104806
|
104807
|
104808
|
104809
|
104810
|
104811
|
104812
|
104813
|
104814
|
104815
|
104816
|
104817
|
104818
|
104819
|
104820
|
104821
|
104863
|
104864
|
104865
|
104866
|
104867
|
104868
|
104869
|
104870
|
104902
|
104903
|
104904
|
104905
|
104906
|
104907
|
104908
|
104909
|
104910
|
104913
|
104914
|
104915
|
104916
|
104917
|
104918
|
104919
|
104920
|
104988
|
104989
|
104990
|
104991
|
104992
|
106268
|
106269
|
106371
|
106372
|
106373
|
106374
|
106375
|
106376
|
106377
|
106378
|
106810
|
106811
|
106812
|
106813
|
106814
|
106815
|
106816
|
106817
|
106857
|
107198
|
107199
|
107200
|
107201
|
107202
|
107203
|
107204
|
107205
|
107807
|
107808
|
107809
|
107810
|
107811
|
107812
|
107813
|
107814
|
107918
|
107919
|
107920
|
107921
|
107922
|
107923
|
107924
|
107925
|
108222
|
108223
|
108224
|
108225
|
108226
|
108227
|
108228
|
108229
|
108980
|
108981
|
108982
|
109306
|
109307
|
109308
|
109309
|
109310
|
109311
|
109312
|
109313
|
109314
|
109315
|
109316
|
109317
|
109318
|
109463
|
109464
|
109465
|
109466
|
109467
|
109468
|
109469
|
109775
|
109776
|
109777
|
109778
|
109779
|
109780
|
109781
|
109782
|
109783
|
109784
|
109785
|
111199
|
111200
|
111201
|
111202
|
111203
|
111204
|
111205
|
111206
|
112316
|
112317
|
112321
|
112322
|
112323
|
112324
|
112325
|
112326
|
112346
|
112472
|
112491
|
112540
|
112612
|
112613
|
112614
|
112615
|
112616
|
112617
|
112618
|
112619
|
112620
|
112621
|
112622
|
113195
|
113196
|
113197
|
113198
|
113199
|
113200
|
113201
|
113202
|
113203
|
113204
|
113205
|
113286
|
113287
|
113288
|
113289
|
113290
|
113291
|
113292
|
113293
|
113294
|
113295
|
113296
|
113297
|
113298
|
113335
|
113351
|
113352
|
113353
|
113354
|
113355
|
113356
|
113357
|
113358
|
113359
|
113361
|
113362
|
113363
|
113364
|
113365
|
113430
|
113431
|
113432
|
113433
|
113434
|
113435
|
113436
|
113437
|
113438
|
113439
|
113440
|
113441
|
113442
|
113443
|
113444
|
113445
|
116121
|
116122
|
116123
|
116124
|
116125
|
116126
|
116127
|
116128
|
116129
|
116130
|
116131
|
116132
|
116133
|
116134
|
118267
|
118268
|
118269
|
118270
|
118271
|
118272
|
118273
|
118274
|
118275
|
118276
|
118277
|
118278
|
118279
|
118280
|
122993
|
122994
|
122995
|
122996
|
122997
|
122998
|
122999
|
123000
|
123001
|
123002
|
123003
|
123004
|
123005
|
126244
|
126245
|
126246
|
126247
|
126248
|
126249
|
126250
|
126251
|
126252
|
126253
|
126254
|
126255
|
126256
|
126257
|
126453
|
126454
|
126455
|
126456
|
126457
|
126458
|
126459
|
126460
|
126469
|
126470
|
126565
|
126566
|
126568
|
126569
|
126570
|
126571
|
126572
|
126573
|
126574
|
126575
|
126576
|
126577
|
126578
|
126579
|
126580
|
129305
|
129306
|
129307
|
129308
|
129309
|
129310
|
129311
|
129312
|
129313
|
129314
|
129315
|
129316
|
129317
|
129318
|
129319
|
130641
|
130642
|
130643
|
130644
|
130645
|
130646
|
130647
|
130648
|
130649
|
130650
|
130651
|
130652
|
130653
|
130654
|
130655
|
130656
|
131108
|
131156
|
131157
|
131158
|
131159
|
131160
|
131193
|
131213
|
131257
|
131260
|
131261
|
131262
|
131263
|
131264
|
131265
|
131266
|
131267
|
131268
|
131269
|
131270
|
131271
|
131272
|
131273
|
131274
|
131275
|
131276
|
131277
|
131278
|
131279
|
131280
|
131281
|
131282
|
131330
|
131629
|
131630
|
131631
|
131664
|
131665
|
131666
|
131701
|
132332