View | Details | Raw Unified | Return to bug 32730
Collapse All | Expand All

(-)a/Koha/Patron.pm (+23 lines)
Lines 1452-1457 sub get_enrollable_clubs { Link Here
1452
    return Koha::Clubs->get_enrollable($params);
1452
    return Koha::Clubs->get_enrollable($params);
1453
}
1453
}
1454
1454
1455
1456
=head3 get_lists_with_patron
1457
1458
my @lists = $patron->get_lists_with_patron;
1459
1460
=cut
1461
1462
sub get_lists_with_patron {
1463
    my ( $self ) = @_;
1464
    my $borrowernumber = $self->borrowernumber;
1465
1466
    return Koha::Database->new()->schema()->resultset('PatronList')->search(
1467
        {
1468
            'patron_list_patrons.borrowernumber' => $borrowernumber,
1469
        },
1470
        {
1471
            join => 'patron_list_patrons',
1472
            collapse => 1,
1473
            order_by => 'name',
1474
        }
1475
    );
1476
}
1477
1455
=head3 account_locked
1478
=head3 account_locked
1456
1479
1457
my $is_locked = $patron->account_locked
1480
my $is_locked = $patron->account_locked
(-)a/circ/circulation.pl (-1 / +6 lines)
Lines 621-627 if ( C4::Context->preference("ExportCircHistory") ) { Link Here
621
    $template->param(csv_profiles => Koha::CsvProfiles->search({ type => 'marc' }));
621
    $template->param(csv_profiles => Koha::CsvProfiles->search({ type => 'marc' }));
622
}
622
}
623
623
624
my $has_modifications = Koha::Patron::Modifications->search( { borrowernumber => $borrowernumber } )->count;
624
my ( $has_modifications, $patron_lists_count);
625
if ( $patron ) {
626
    $has_modifications = Koha::Patron::Modifications->search( { borrowernumber => $borrowernumber } )->count;
627
    $patron_lists_count = $patron->get_lists_with_patron->count();
628
}
625
$template->param(
629
$template->param(
626
    debt_confirmed            => $debt_confirmed,
630
    debt_confirmed            => $debt_confirmed,
627
    SpecifyDueDate            => $duedatespec_allow,
631
    SpecifyDueDate            => $duedatespec_allow,
Lines 629-634 $template->param( Link Here
629
    todaysdate                => dt_from_string()->set(hour => 23)->set(minute => 59),
633
    todaysdate                => dt_from_string()->set(hour => 23)->set(minute => 59),
630
    restriction_types         => scalar Koha::Patron::Restriction::Types->search(),
634
    restriction_types         => scalar Koha::Patron::Restriction::Types->search(),
631
    has_modifications         => $has_modifications,
635
    has_modifications         => $has_modifications,
636
    patron_lists_count        => $patron_lists_count,
632
    override_high_holds       => $override_high_holds,
637
    override_high_holds       => $override_high_holds,
633
    nopermission              => scalar $query->param('nopermission'),
638
    nopermission              => scalar $query->param('nopermission'),
634
    autoswitched              => $autoswitched,
639
    autoswitched              => $autoswitched,
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt (+21 lines)
Lines 894-899 Link Here
894
                                </a>
894
                                </a>
895
                            </li>
895
                            </li>
896
                        [% END %]
896
                        [% END %]
897
898
                        [% IF CAN_user_tools_manage_patron_lists || patron_lists_count %]
899
                            <li role="presentation">
900
                                <a id="pat_lists-tab-link" href="#pat_lists-tab" aria-controls="pat_lists-tab" role="tab" data-toggle="tab">
901
                                    Patron lists ([% patron_lists_count | html %])
902
                                </a>
903
                            </li>
904
                        [% END %]
897
                    </ul>
905
                    </ul>
898
906
899
                    <div class="tab-content">
907
                    <div class="tab-content">
Lines 909-914 Link Here
909
                            </div> <!-- /#clubs-tab -->
917
                            </div> <!-- /#clubs-tab -->
910
                        [% END %]
918
                        [% END %]
911
919
920
                        [% IF CAN_user_tools_manage_patron_lists || patron_lists_count %]
921
                            <div id="pat_lists-tab" role="tabpanel" class="tab-pane">
922
                                Loading...
923
                            </div>
924
                        [% END %]
925
912
                        [% INCLUDE "patron-restrictions-tab.inc" %]
926
                        [% INCLUDE "patron-restrictions-tab.inc" %]
913
927
914
                        <div id="reserves" role="tabpanel" class="tab-pane">
928
                        <div id="reserves" role="tabpanel" class="tab-pane">
Lines 1117-1122 Link Here
1117
                });
1131
                });
1118
            }
1132
            }
1119
1133
1134
            if ( $('#pat_lists-tab').length ) {
1135
                $('#pat_lists-tab-link').on('click', function() {
1136
                    $('#pat_lists-tab').text(_("Loading..."));
1137
                    $('#pat_lists-tab').load('/cgi-bin/koha/patron_lists/patron-lists-tab.pl?borrowernumber=[% patron.borrowernumber | html %]');
1138
                });
1139
            }
1140
1120
            // listen submit to trigger qslip on empty checkout
1141
            // listen submit to trigger qslip on empty checkout
1121
            $('#mainform').bind('submit',function() {
1142
            $('#mainform').bind('submit',function() {
1122
                if ($('#barcode').val() == '') {
1143
                if ($('#barcode').val() == '') {
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember.tt (+21 lines)
Lines 726-731 Link Here
726
                                    </a>
726
                                    </a>
727
                                </li>
727
                                </li>
728
                            [% END %]
728
                            [% END %]
729
730
                            [% IF CAN_user_tools_manage_patron_lists || patron_lists_count %]
731
                                <li role="presentation">
732
                                    <a id="pat_lists-tab-link" href="#pat_lists-tab" aria-controls="pat_lists-tab" role="tab" data-toggle="tab">
733
                                        Patron lists ([% patron_lists_count | html %])
734
                                    </a>
735
                                </li>
736
                            [% END %]
729
                        </ul>
737
                        </ul>
730
738
731
                        <div class="tab-content">
739
                        <div class="tab-content">
Lines 749-754 Link Here
749
                                </div>
757
                                </div>
750
                            [% END %]
758
                            [% END %]
751
759
760
                            [% IF CAN_user_tools_manage_patron_lists || patron_lists_count %]
761
                                <div id="pat_lists-tab" role="tabpanel" class="tab-pane">
762
                                    Loading...
763
                                </div>
764
                            [% END %]
765
752
                            [% INCLUDE 'patron-restrictions-tab.inc' %]
766
                            [% INCLUDE 'patron-restrictions-tab.inc' %]
753
767
754
                            [% IF ( CAN_user_circulate_circulate_remaining_permissions ) %]
768
                            [% IF ( CAN_user_circulate_circulate_remaining_permissions ) %]
Lines 903-908 Link Here
903
                });
917
                });
904
            }
918
            }
905
919
920
            if ( $('#pat_lists-tab').length ) {
921
                $('#pat_lists-tab-link').on('click', function() {
922
                    $('#pat_lists-tab').text(_("Loading..."));
923
                    $('#pat_lists-tab').load('/cgi-bin/koha/patron_lists/patron-lists-tab.pl?borrowernumber=[% patron.borrowernumber | html %]');
924
                });
925
            }
926
906
            $("#finesholdsissues a[data-toggle='tab']").on("shown.bs.tab", function(e){
927
            $("#finesholdsissues a[data-toggle='tab']").on("shown.bs.tab", function(e){
907
                var oTable = $('div.dataTables_wrapper > table', $(e.target.hash) ).dataTable();
928
                var oTable = $('div.dataTables_wrapper > table', $(e.target.hash) ).dataTable();
908
                if ( oTable.length > 0 ) {
929
                if ( oTable.length > 0 ) {
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/patron_lists/patron-lists-tab.tt (+204 lines)
Line 0 Link Here
1
[% USE KohaDates %]
2
3
[% IF no_access_to_patron %]
4
   <span class="blocker">Patron not in your library group</span>
5
[% END %]
6
7
[% IF in_lists %]
8
<div class="patroninfo-section">
9
    <h4>Patron lists with this patron</h4>
10
11
    <table id="table_inlists">
12
        <thead>
13
            <tr>
14
                <th>Name</th>
15
                <th>Patrons in list</th>
16
                <th>Shared</th>
17
                [% IF CAN_user_tools_manage_patron_lists %]
18
                    <th class="NoSort">Actions</th>
19
                [% END %]
20
            </tr>
21
        </thead>
22
23
        <tbody>
24
            [% FOREACH l IN in_lists %]
25
                [% SET shared_by_other = l.owner.id != logged_in_user.id %]
26
                <tr>
27
                    <td>
28
                        [% IF CAN_user_tools_manage_patron_lists %]
29
                            <a href="/cgi-bin/koha/patron_lists/list.pl?patron_list_id=[% l.patron_list_id | uri %]">[% l.name | html %]</a>
30
                        [% ELSE %]
31
                            [% l.name | html %]
32
                        [% END %]
33
                    </td>
34
                    <td>[% l.patron_list_patrons_rs.count || 0 | html %]</td>
35
                    <td>
36
                        [% IF l.shared %]
37
                            [% IF shared_by_other %]
38
                                by <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% l.owner.id | uri %]">[% INCLUDE 'patron-title.inc' patron=l.owner %]</a>
39
                            [% ELSE %]
40
                                by you
41
                            [% END %]
42
                        [% END %]
43
                    </td>
44
                    [% IF CAN_user_tools_manage_patron_lists %]
45
                        <td>
46
                            <div class="btn-group dropup">
47
                                <a class="btn btn-default btn-xs dropdown-toggle" id="listactions[% l.patron_list_id | html %]" role="button" data-toggle="dropdown" href="#">
48
                                    Actions <b class="caret"></b>
49
                                </a>
50
                                <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="listactions[% l.patron_list_id | html %]">
51
                                    <li><a onclick="removeFromList('[% l.patron_list_id | html %]','[% list_id_lookup.${l.patron_list_id} | html %]')"><i class="fa fa-remove"></i> Remove patron from list</a></li>
52
                                    <li class="divider"></li>
53
                                    <li><a href="/cgi-bin/koha/patron_lists/list.pl?patron_list_id=[% l.patron_list_id | uri %]"><i class="fa fa-user"></i> Add patrons</a></li>
54
                                    [% UNLESS shared_by_other %]
55
                                        <li><a href="/cgi-bin/koha/patron_lists/add-modify.pl?patron_list_id=[% l.patron_list_id | uri %]"><i class="fa fa-pencil"></i> Edit list</a></li>
56
                                        <li><a class="delete_patron" href="/cgi-bin/koha/patron_lists/delete.pl?patron_list_id=[% l.patron_list_id | html %]" data-list-name="[% l.name | html %]"><i class="fa fa-trash"></i> Delete list</a></li>
57
                                    [% END %]
58
                                    [% IF ( l.patron_list_patrons_rs.count ) %]
59
                                        <li class="divider"></li>
60
                                        <li>
61
                                            <a class="print_cards" href="/cgi-bin/koha/patroncards/print.pl?patronlist_id=[% l.patron_list_id | html %]" data-patron_list_id="[% l.patron_list_id | html %]"><i class="fa fa-print"></i> Print patron cards</a>
62
                                        </li>
63
                                        [% IF CAN_user_tools_edit_patrons %]
64
                                            <li>
65
                                                <a href="/cgi-bin/koha/tools/modborrowers.pl?patron_list_id=[% l.patron_list_id | uri %]&op=show">
66
                                                    <i class="fa fa-pencil"></i> Batch edit patrons
67
                                                </a>
68
                                            </li>
69
                                        [% END %]
70
                                        [% IF CAN_user_tools_delete_anonymize_patrons %]
71
                                            <li>
72
                                                <a href="/cgi-bin/koha/tools/cleanborrowers.pl?step=2&patron_list_id=[% l.patron_list_id | uri %]&checkbox=borrower">
73
                                                    <i class="fa fa-trash"></i> Batch delete patrons
74
                                                </a>
75
                                            </li>
76
                                        [% END %]
77
                                    [% END %]
78
                                </ul>
79
                            </div>
80
                        </td>
81
                    [% END %]
82
                </tr>
83
            [% END %]
84
        </tbody>
85
    </table>
86
</div>
87
88
[% IF available_lists %]
89
<hr>
90
[% END %]
91
[% END %]
92
93
[% IF available_lists %]
94
<div class="patroninfo-section">
95
    <h4>Patron lists without this patron</h4>
96
97
    <table id="table_listnopatron">
98
        <thead>
99
            <tr>
100
                <th>Name</th>
101
                <th>Patrons in list</th>
102
                <th>Shared</th>
103
                [% IF CAN_user_tools_manage_patron_lists %]
104
                    <th class="NoSort">Actions</th>
105
                [% END %]
106
            </tr>
107
        </thead>
108
109
        <tbody>
110
            [% FOREACH l IN available_lists %]
111
                [% SET shared_by_other = l.owner.id != logged_in_user.id %]
112
                <tr>
113
                    <td>
114
                        [% IF CAN_user_tools_manage_patron_lists %]
115
                            <a href="/cgi-bin/koha/patron_lists/list.pl?patron_list_id=[% l.patron_list_id | uri %]">[% l.name | html %]</a>
116
                        [% ELSE %]
117
                            [% l.name | html %]
118
                        [% END %]
119
                    </td>
120
                    <td>[% l.patron_list_patrons_rs.count || 0 | html %]</td>
121
                    <td>
122
                        [% IF l.shared %]
123
                            [% IF shared_by_other %]
124
                                by <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% l.owner.id | uri %]">[% INCLUDE 'patron-title.inc' patron=l.owner %]</a>
125
                            [% ELSE %]
126
                                by you
127
                            [% END %]
128
                        [% END %]
129
                    </td>
130
                    [% IF CAN_user_tools_manage_patron_lists %]
131
                        <td>
132
                            <div class="btn-group dropup">
133
                                <a class="btn btn-default btn-xs dropdown-toggle" id="listactions[% l.patron_list_id | html %]" role="button" data-toggle="dropdown" href="#">
134
                                    Actions <b class="caret"></b>
135
                                </a>
136
                                <ul class="dropdown-menu pull-right" role="menu" aria-labelledby="listactions[% l.patron_list_id | html %]">
137
                                    <li><a onclick="addToList('[% l.patron_list_id | html %]','[% cardnumber | html %]')"><i class="fa fa-plus"></i> Add patron to list</a></li>
138
                                    <li class="divider"></li>
139
                                    <li><a href="/cgi-bin/koha/patron_lists/list.pl?patron_list_id=[% l.patron_list_id | uri %]"><i class="fa fa-user"></i> Add patrons</a></li>
140
                                    [% UNLESS shared_by_other %]
141
                                        <li><a href="/cgi-bin/koha/patron_lists/add-modify.pl?patron_list_id=[% l.patron_list_id | uri %]"><i class="fa fa-pencil"></i> Edit list</a></li>
142
                                        <li><a class="delete_patron" href="/cgi-bin/koha/patron_lists/delete.pl?patron_list_id=[% l.patron_list_id | html %]" data-list-name="[% l.name | html %]"><i class="fa fa-trash"></i> Delete list</a></li>
143
                                    [% END %]
144
                                    [% IF ( l.patron_list_patrons_rs.count ) %]
145
                                        <li class="divider"></li>
146
                                        <li>
147
                                            <a class="print_cards" href="/cgi-bin/koha/patroncards/print.pl?patronlist_id=[% l.patron_list_id | html %]" data-patron_list_id="[% l.patron_list_id | html %]"><i class="fa fa-print"></i> Print patron cards</a>
148
                                        </li>
149
                                        [% IF CAN_user_tools_edit_patrons %]
150
                                            <li>
151
                                                <a href="/cgi-bin/koha/tools/modborrowers.pl?patron_list_id=[% l.patron_list_id | uri %]&op=show">
152
                                                    <i class="fa fa-pencil"></i> Batch edit patrons
153
                                                </a>
154
                                            </li>
155
                                        [% END %]
156
                                        [% IF CAN_user_tools_delete_anonymize_patrons %]
157
                                            <li>
158
                                                <a href="/cgi-bin/koha/tools/cleanborrowers.pl?step=2&patron_list_id=[% l.patron_list_id | uri %]&checkbox=borrower">
159
                                                    <i class="fa fa-trash"></i> Batch delete patrons
160
                                                </a>
161
                                            </li>
162
                                        [% END %]
163
                                    [% END %]
164
                                </ul>
165
                            </div>
166
                        </td>
167
                    [% END %]
168
                </tr>
169
            [% END %]
170
        </tbody>
171
    </table>
172
</div>
173
[% END %]
174
175
<script>
176
    $("#table_listnopatron, #table_inlists").dataTable($.extend(true, {}, dataTablesDefaults, {
177
        "columnDefs": [
178
            { 'sortable': false, "bSearchable": false, 'targets': [ 'NoSort' ] }
179
        ],
180
        "sPaginationType": "full"
181
    }));
182
183
    [% IF CAN_user_tools_manage_patron_lists %]
184
        function addToList( list_id, cardnumber ) {
185
            $('#pat_lists-tab').text(_("Loading..."));
186
            $("body").css("cursor", "progress");
187
            $('#pat_lists-tab').load('/cgi-bin/koha/patron_lists/patron-lists-tab.pl?borrowernumber=[% borrowernumber | html %]&patron_list_id=' + list_id + '&patrons_to_add=' + cardnumber, function() {
188
                $("body").css("cursor", "default");
189
            });
190
191
            return false;
192
        }
193
194
        function removeFromList( list_id, patron_list_patron_id ) {
195
            $('#pat_lists-tab').text(_("Loading..."));
196
            $("body").css("cursor", "progress");
197
            $('#pat_lists-tab').load('/cgi-bin/koha/patron_lists/patron-lists-tab.pl?borrowernumber=[% borrowernumber | html %]&patron_list_id=' + list_id + '&patrons_to_remove=' + patron_list_patron_id, function() {
198
                $("body").css("cursor", "default");
199
            });
200
201
            return false;
202
        }
203
    [% END %]
204
</script>
(-)a/members/moremember.pl (+2 lines)
Lines 264-269 elsif ( $patron->is_going_to_expire ) { Link Here
264
264
265
265
266
my $has_modifications = Koha::Patron::Modifications->search( { borrowernumber => $borrowernumber } )->count;
266
my $has_modifications = Koha::Patron::Modifications->search( { borrowernumber => $borrowernumber } )->count;
267
my $patron_lists_count = $patron->get_lists_with_patron->count();
267
268
268
$template->param(
269
$template->param(
269
    patron          => $patron,
270
    patron          => $patron,
Lines 280-285 $template->param( Link Here
280
    logged_in_user => $logged_in_user,
281
    logged_in_user => $logged_in_user,
281
    files => Koha::Patron::Files->new( borrowernumber => $borrowernumber ) ->GetFilesInfo(),
282
    files => Koha::Patron::Files->new( borrowernumber => $borrowernumber ) ->GetFilesInfo(),
282
    has_modifications         => $has_modifications,
283
    has_modifications         => $has_modifications,
284
    patron_lists_count => $patron_lists_count,
283
);
285
);
284
286
285
if ( C4::Context->preference('UseRecalls') ) {
287
if ( C4::Context->preference('UseRecalls') ) {
(-)a/patron_lists/patron-lists-tab.pl (+91 lines)
Line 0 Link Here
1
#!/usr/bin/perl
2
3
# Copyright 2023 Washington County School District
4
#
5
# This file is part of Koha.
6
#
7
# Koha is free software; you can redistribute it and/or modify it
8
# under the terms of the GNU General Public License as published by
9
# the Free Software Foundation; either version 3 of the License, or
10
# (at your option) any later version.
11
#
12
# Koha is distributed in the hope that it will be useful, but
13
# WITHOUT ANY WARRANTY; without even the implied warranty of
14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
# GNU General Public License for more details.
16
#
17
# You should have received a copy of the GNU General Public License
18
# along with Koha; if not, see <http://www.gnu.org/licenses>.
19
20
use Modern::Perl;
21
22
use CGI;
23
24
use C4::Auth qw( get_template_and_user );
25
use C4::Output qw( output_html_with_http_headers );
26
27
use Koha::Patrons;
28
use Koha::List::Patron qw( GetPatronLists AddPatronsToList DelPatronsFromList );
29
30
my $cgi = CGI->new;
31
32
my ( $template, $loggedinuser, $cookie, $userflags ) = get_template_and_user(
33
    {
34
        template_name   => "patron_lists/patron-lists-tab.tt",
35
        query           => $cgi,
36
        type            => "intranet",
37
        flagsrequired   => [ { circulate => 'circulate_remaining_permissions' }, { borrowers => '*' }, { tools => 'manage_patron_lists' } ],
38
    }
39
);
40
41
my $logged_in_user = Koha::Patrons->find( { borrowernumber =>  $loggedinuser } );
42
my $patronnumber = $cgi->param('borrowernumber');
43
my $patron = Koha::Patrons->find($patronnumber);
44
my ( @in_lists, %list_id_lookup, @available_lists );
45
46
my $list_id = $cgi->param('patron_list_id');
47
my @patrons_to_add = $cgi->multi_param('patrons_to_add');
48
my @patrons_to_remove = $cgi->multi_param('patrons_to_remove');
49
50
if ( ! $logged_in_user->can_see_patron_infos($patron) ) {
51
    $template->param('no_access_to_patron' => 1);
52
}
53
else {
54
    my $has_perms = C4::Auth::haspermission($logged_in_user->userid, {'tools'=>'manage_patron_lists'});
55
    if ( $list_id && $has_perms ) {
56
        my ($list) = GetPatronLists( { patron_list_id => $list_id } );
57
58
        if (@patrons_to_add) {
59
            AddPatronsToList( { list => $list, cardnumbers => \@patrons_to_add } );
60
        }
61
62
        if (@patrons_to_remove) {
63
            DelPatronsFromList( { list => $list, patron_list_patrons => \@patrons_to_remove } );
64
        }
65
    }
66
67
    if ( $patron ) {
68
        @in_lists = $patron->get_lists_with_patron;
69
        foreach my $list ( @in_lists ) {
70
            my @existing = $list->patron_list_patrons;
71
            for my $plp ( @existing ) {
72
                if ( $plp->borrowernumber->borrowernumber == $patronnumber ) {
73
                    $list_id_lookup{$list->patron_list_id} = $plp->patron_list_patron_id;
74
                    last;
75
                }
76
            }
77
        }
78
    }
79
    @available_lists = GetPatronLists();
80
    @available_lists = grep { ! $list_id_lookup{$_->patron_list_id} } @available_lists;
81
}
82
83
$template->param(
84
    in_lists => \@in_lists,
85
    list_id_lookup => \%list_id_lookup,
86
    available_lists => \@available_lists,
87
    borrowernumber => $patronnumber,
88
    cardnumber => $patron->cardnumber,
89
);
90
91
output_html_with_http_headers( $cgi, $cookie, $template->output );
(-)a/t/db_dependent/PatronLists.t (-2 / +7 lines)
Lines 17-29 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 11;
20
use Test::More tests => 12;
21
use t::lib::TestBuilder;
21
use t::lib::TestBuilder;
22
use t::lib::Mocks;
22
use t::lib::Mocks;
23
23
24
use Koha::Database;
24
use Koha::Database;
25
use Koha::List::Patron
25
use Koha::List::Patron
26
    qw( AddPatronList AddPatronsToList DelPatronList DelPatronsFromList GetPatronLists ModPatronList );
26
    qw( AddPatronList AddPatronsToList DelPatronList DelPatronsFromList GetPatronLists ModPatronList );
27
use Koha::Patrons;
27
28
28
my $schema = Koha::Database->schema;
29
my $schema = Koha::Database->schema;
29
$schema->storage->txn_begin;
30
$schema->storage->txn_begin;
Lines 98-103 DelPatronsFromList( Link Here
98
$list1->discard_changes();
99
$list1->discard_changes();
99
is( $list1->patron_list_patrons()->count(), 0, 'DelPatronsFromList works.' );
100
is( $list1->patron_list_patrons()->count(), 0, 'DelPatronsFromList works.' );
100
101
102
my $patron = $builder->build_object({ class => 'Koha::Patrons' });
103
AddPatronsToList({list => $list2,borrowernumbers => [ $patron->borrowernumber ]});
104
@lists = $patron->get_lists_with_patron;
105
is( scalar @lists, 1, 'get_lists_with_patron works' );
106
101
@lists = GetPatronLists( { owner => $owner } );
107
@lists = GetPatronLists( { owner => $owner } );
102
is( scalar @lists, $list_count_original + 2, 'GetPatronLists works' );
108
is( scalar @lists, $list_count_original + 2, 'GetPatronLists works' );
103
109
104
- 

Return to bug 32730