}
my $borrowernumber;
- my $patron;
if ($user) {
# It's possible for $user to be the borrowernumber if they don't have a
# userid defined (and are logging in through some other method, such
# as SSL certs against an email address)
+ my $patron;
$borrowernumber = getborrowernumber($user) if defined($user);
if ( !defined($borrowernumber) && defined($user) ) {
$patron = Koha::Patrons->find( $user );
PatronSelfRegistration => C4::Context->preference("PatronSelfRegistration"),
PatronSelfRegistrationDefaultCategory => C4::Context->preference("PatronSelfRegistrationDefaultCategory"),
useDischarge => C4::Context->preference('useDischarge'),
- routing_lists_exist => ( $patron and $patron->get_routinglists ),
);
$template->param( OpacPublic => '1' ) if ( $user || C4::Context->preference("OpacPublic") );
);
}
-=head3 get_routinglists
+=head3 get_routing_lists
-my @routinglists = $patron->get_routinglists
+my @routinglists = $patron->get_routing_lists
Returns the routing lists a patron is subscribed to.
=cut
-sub get_routinglists {
+sub get_routing_lists {
my ($self) = @_;
- my @subscribed_routings = Koha::Subscription::Routinglists->search({ borrowernumber => $self->borrowernumber });
- return @subscribed_routings;
+ my $routing_list_rs = $self->_result->subscriptionroutinglists;
+ return Koha::Subscription::Routinglists->_new_from_dbic($routing_list_rs);
}
=head3 get_age
sub subscription {
my ( $self ) = @_;
- return scalar Koha::Subscriptions->find( $self->subscriptionid );
+ return Koha::Subscription->_new_from_dbic($self->_result->subscriptionid);
}
=head2 Internal methods
<a href="/cgi-bin/koha/opac-shelves.pl?op=list&category=1">your lists</a></li>
[% END %]
- [% IF Koha.Preference( 'RoutingSerials' ) && routing_lists_exist %]
+ [% IF Koha.Preference( 'RoutingSerials' ) && logged_in_user && logged_in_user.get_routing_lists.count %]
[% IF ( routinglistsview ) %]
<li class="active">
[% ELSE %]
<h3>Routing lists</h3>
- [% IF ( routinglists ) %]
+ [% SET routinglists = logged_in_user.get_routing_lists %]
+ [% IF ( routinglists.count ) %]
<p id="routing-list-intro">You are subscribed to the routing lists for following serial titles. If you wish to make changes, please contact the library.</p>
<table class="table table-bordered table-striped" id="routingtable">
$borrower->{category_type} = $category->category_type;
$template->param( BORROWER_INFO => $borrower );
-my @routinglists = $patron->get_routinglists();
-
$template->param(
- routinglists => \@routinglists,
- routinglistview => 1,
+ routinglistsview => 1,
);
output_html_with_http_headers $query, $cookie, $template->output, undef, { force_no_caching => 1 };
$module->unmock('userenv');
};
-subtest 'get_routinglists' => sub {
+subtest 'get_routing_lists' => sub {
plan tests => 5;
my $biblio = Koha::Biblio->new()->store();
my $patron = $builder->build( { source => 'Borrower' } );
$patron = Koha::Patrons->find( $patron->{borrowernumber} );
- is( $patron->get_routinglists, 0, 'Retrieves correct number of routing lists: 0' );
+ is( $patron->get_routing_lists->count, 0, 'Retrieves correct number of routing lists: 0' );
my $routinglist_count = Koha::Subscription::Routinglists->count;
my $routinglist = Koha::Subscription::Routinglist->new({
subscriptionid => $subscription->subscriptionid
})->store;
- is ($patron->get_routinglists, 1, "Retrieves correct number of routing lists: 1");
+ is ($patron->get_routing_lists->count, 1, "Retrieves correct number of routing lists: 1");
- my @routinglists = $patron->get_routinglists;
+ my @routinglists = $patron->get_routing_lists;
is ($routinglists[0]->ranking, 5, "Retrieves ranking: 5");
- is( ref($routinglists[0]), 'Koha::Subscription::Routinglist', 'get_routinglists returns Koha::Subscription::Routinglist objects' );
+ is( ref($routinglists[0]), 'Koha::Subscription::Routinglist', 'get_routing_lists returns Koha::Subscription::Routinglist objects' );
my $subscription2 = Koha::Subscription->new({
biblionumber => $biblio->biblionumber,
subscriptionid => $subscription2->subscriptionid
})->store;
- is ($patron->get_routinglists, 2, "Retrieves correct number of routing lists: 2");
+ is ($patron->get_routing_lists->count, 2, "Retrieves correct number of routing lists: 2");
$patron->delete; # Clean up for later tests