use C4::Branch; # GetBranches
use C4::Koha; # GetPrinter
use C4::Circulation;
+use C4::Utils::DataTables::Members;
use C4::Members;
use C4::Biblio;
use C4::Search;
# STEP 2 : FIND BORROWER
# if there is a list of find borrowers....
#
-my $borrowerslist;
my $message;
if ($findborrower) {
- my $borrowers = Search($findborrower, 'cardnumber') || [];
- my $categories = GetBorrowercategoryList;
- $categories->[0]->{first} = 1;
- $template->param( categories => $categories );
-
- if ( @$borrowers == 0 ) {
- $query->param( 'findborrower', '' );
- $message = "'$findborrower'";
- }
- elsif ( @$borrowers == 1 ) {
- $borrowernumber = $borrowers->[0]->{'borrowernumber'};
- $query->param( 'borrowernumber', $borrowernumber );
- $query->param( 'barcode', '' );
- }
- else {
- $borrowerslist = $borrowers;
+ my $borrower = C4::Members::GetMember( cardnumber => $findborrower );
+ if ( $borrower ) {
+ $borrowernumber = $borrower->{borrowernumber};
+ } else {
+ my $dt_params = { iDisplayLength => -1 };
+ my $results = C4::Utils::DataTables::Members::search(
+ {
+ searchmember => $findborrower,
+ dt_params => $dt_params,
+ }
+ );
+ my $borrowers = $results->{patrons};
+ if ( scalar @$borrowers == 1 ) {
+ $borrowernumber = $borrowers->[0]->{borrowernumber};
+ $query->param( 'borrowernumber', $borrowernumber );
+ $query->param( 'barcode', '' );
+ } elsif ( @$borrowers ) {
+ $template->param( borrowers => $borrowers );
+ } else {
+ $query->param( 'findborrower', '' );
+ $message = "'$findborrower'";
+ }
}
}
if ( $borrower->{'category_type'} eq 'A' );
}
-my @values;
-my %labels;
-my $selectborrower;
-if ($borrowerslist) {
- foreach (
- sort {(lc $a->{'surname'} cmp lc $b->{'surname'} || lc $a->{'firstname'} cmp lc $b->{'firstname'})
- } @$borrowerslist
- )
- {
- push @values, $_->{'borrowernumber'};
- $labels{ $_->{'borrowernumber'} } =
-"$_->{'surname'}, $_->{'firstname'} ... ($_->{'cardnumber'} - $_->{'categorycode'} - $_->{'branchcode'}) ... $_->{'address'} ";
- }
- $selectborrower = {
- values => \@values,
- labels => \%labels,
- };
-}
-
#title
my $flags = $borrower->{'flags'};
foreach my $flag ( sort keys %$flags ) {
stickyduedate => $stickyduedate,
duedatespec => $duedatespec,
message => $message,
- selectborrower => $selectborrower,
totaldue => sprintf('%.2f', $total),
inprocess => $inprocess,
is_child => ($borrowernumber && $borrower->{'category_type'} eq 'C'),
var MSG_ADD_MESSAGE = _("Add a new message");
var MSG_EXPORT_SELECT_CHECKOUTS = _("You must select checkout(s) to export");
[% IF ( borrowernumber ) %]if($.cookie("holdfor") != [% borrowernumber %]){ $.cookie("holdfor",null, { path: "/", expires: 0 }); }[% ELSE %]$.cookie("holdfor",null, { path: "/", expires: 0 });[% END %]
-[% UNLESS ( borrowernumber ) %][% UNLESS ( selectborrower ) %]window.onload=function(){ $('#findborrower').focus(); };[% END %][% END %]
+[% UNLESS ( borrowernumber ) %][% UNLESS ( borrowers ) %]window.onload=function(){ $('#findborrower').focus(); };[% END %][% END %]
// On-site checkout
function toggle_onsite_checkout(){
$("#onsite_checkout").click(function(){
toggle_onsite_checkout();
});
+
+ var table = $("#table_borrowers").dataTable($.extend(true, {}, dataTablesDefaults, {
+ "aoColumnDefs": [
+ { "aTargets": [ 0 ], "bSortable": false, "bSearchable": false },
+ ],
+ "aaSorting": [ 2, "asc" ],
+ "sDom": "t",
+ "iDisplayLength": -1
+ }));
+ $(table).find('tbody tr').filter(':has(:radio:checked)').end().click(function(event) {
+ $('#table_borrowers tbody tr').removeClass('selected');
+ $(this).addClass('selected');
+ if (event.target.type !== 'radio') {
+ $(':radio', this).attr('checked', 'true')
+ }
+ });
+
});
//]]>
<strong>Checkouts</strong>
[% END %]
</div>
-[% IF ( selectborrower ) %]
+[% IF ( $borrowers ) %]
<div id="doc" class="yui-t7">
<div id="bd">
<input type="hidden" name="duedatespec" value="[% duedatespec %]" />
<input type="hidden" name="stickyduedate" value="[% stickyduedate %]" />
-<ol> <li>
- <label for="borrowernumber">Select a patron: </label>
- <select name="borrowernumber" id="borrowernumber" size="7" class="focus" ondblclick="document.forms['mainform'].submit()">
- [% FOREACH borrower IN selectborrower.values %]
- <option value="[% borrower %]">[% selectborrower.labels.$borrower %]</option>
- [% END %]
- </select>
- </li>
-</ol>
-<p><input type="submit" value="Select" /></p>
+ <table id="table_borrowers">
+ <thead>
+ <tr>
+ <th></th>
+ <th>Name</th>
+ <th>Cardnumber</th>
+ <th>Category</th>
+ <th>Library</th>
+ <th>Address</th>
+ </tr>
+ </thead>
+ <tbody>
+ [% FOREACH borrower IN borrowers %]
+ <tr>
+ <td><input type="radio" name="borrowernumber" value="[% borrower.borrowernumber %]" /></td>
+ <td>[% borrower.surname %], [% borrower.firstname %]</td>
+ <td>[% borrower.cardnumber %]</td>
+ <td>[% borrower.categorycode %]</td>
+ <td>[% borrower.branchcode %]</td>
+ <td>[% borrower.address %]</td>
+ </tr>
+ [% END %]
+ </tbody>
+ </table>
+ <fieldset class="action"><input type="submit" value="Select" /></fieldset>
</fieldset>
</form>
-[% ELSE %] <!-- selectborrower -->
+[% ELSE %]
<!-- BARCODE ENTRY -->
</div>
</div>
-[% UNLESS ( selectborrower ) %][% IF ( borrowernumber ) %]<div class="yui-b">
+[% UNLESS ( borrowers ) %][% IF ( borrowernumber ) %]<div class="yui-b">
[% INCLUDE 'circ-menu.inc' %]
</div>[% END %][% END %]
</div>