Bug 37480: Make addroutingmember use Koha::Subscription::Routinglists
This patch rewriteis the method so it relies on Koha::Object-based classes instead of the old way. To test: 1. Run: $ ktd --shell k$ prove t/db_dependent/Serials.t => SUCCESS: Tests pass! 2. Apply this patch 3. Repeat 1 => SUCCESS: Tests pass! 4. Run: $ git grep addroutingmember => SUCCESS: It is only called on a single .pl file which doesn't care about the return value. Neither the tests care. 5. Sign off :-D Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
parent
c895a8d563
commit
27f94d8f9b
1 changed files with 11 additions and 13 deletions
|
@ -46,6 +46,7 @@ use Koha::DateUtils qw( dt_from_string );
|
|||
use Koha::Serial;
|
||||
use Koha::SharedContent;
|
||||
use Koha::Subscription::Histories;
|
||||
use Koha::Subscription::Routinglists;
|
||||
use Koha::Subscriptions;
|
||||
use Koha::Suggestions;
|
||||
use Koha::TemplateUtils qw( process_tt );
|
||||
|
@ -2019,19 +2020,16 @@ sub addroutingmember {
|
|||
|
||||
return unless ( $borrowernumber and $subscriptionid );
|
||||
|
||||
my $rank;
|
||||
my $dbh = C4::Context->dbh;
|
||||
my $sth = $dbh->prepare( "SELECT max(ranking) `rank` FROM subscriptionroutinglist WHERE subscriptionid = ?" );
|
||||
$sth->execute($subscriptionid);
|
||||
while ( my $line = $sth->fetchrow_hashref ) {
|
||||
if ( defined $line->{rank} && $line->{rank} > 0 ) {
|
||||
$rank = $line->{rank} + 1;
|
||||
} else {
|
||||
$rank = 1;
|
||||
my $max_ranking = Koha::Subscription::Routinglists->search( { subscriptionid => $subscriptionid } )
|
||||
->_resultset->get_column('ranking')->max;
|
||||
|
||||
return Koha::Subscription::Routinglist->new(
|
||||
{
|
||||
subscriptionid => $subscriptionid,
|
||||
borrowernumber => $borrowernumber,
|
||||
ranking => defined $max_ranking ? $max_ranking + 1 : 1,
|
||||
}
|
||||
}
|
||||
$sth = $dbh->prepare( "INSERT INTO subscriptionroutinglist (subscriptionid,borrowernumber,ranking) VALUES (?,?,?)" );
|
||||
$sth->execute( $subscriptionid, $borrowernumber, $rank );
|
||||
)->store();
|
||||
}
|
||||
|
||||
=head2 reorder_members
|
||||
|
|
Loading…
Reference in a new issue