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

(-)a/Koha/Hold.pm (-8 / +8 lines)
Lines 187-195 $hold->move_hold_item(); Link Here
187
sub move_hold_item {
187
sub move_hold_item {
188
    my ( $self, $args ) = @_;
188
    my ( $self, $args ) = @_;
189
189
190
    my $new_itemnumber   = $args->{new_itemnumber};
190
    my $new_itemnumber        = $args->{new_itemnumber};
191
    my $new_biblionumber = $args->{new_biblionumber};
191
    my $new_biblionumber      = $args->{new_biblionumber};
192
    my $original         = $self;
192
    my $original              = $self;
193
    my $original_biblionumber = $self->biblionumber;
193
194
194
    my $patron   = Koha::Patrons->find( { borrowernumber => $self->borrowernumber } );
195
    my $patron   = Koha::Patrons->find( { borrowernumber => $self->borrowernumber } );
195
    my $new_item = Koha::Items->find( { itemnumber => $new_itemnumber } );
196
    my $new_item = Koha::Items->find( { itemnumber => $new_itemnumber } );
Lines 202-215 sub move_hold_item { Link Here
202
203
203
        if ( $canReserve->{status} eq 'OK' ) {
204
        if ( $canReserve->{status} eq 'OK' ) {
204
205
205
            # Find the lowest priority among holds on this biblio
206
            # Find the highest priority among holds on the new item
206
            my $lowest_priority = Koha::Holds->search(
207
            my $highest_new_priority = Koha::Holds->search(
207
                { biblionumber => $new_biblionumber },
208
                { biblionumber => $new_biblionumber },
208
                { order_by     => { -desc => 'priority' }, rows => 1 }
209
                { order_by     => { -desc => 'priority' }, rows => 1 }
209
            )->next;
210
            )->next;
210
211
211
            # Set priority to the lowest + 1, or 1 if there are no others
212
            my $max_new_priority = $highest_new_priority ? $highest_new_priority->priority : 0;
212
            my $new_priority = $lowest_priority ? $lowest_priority->priority + 1 : 1;
213
            my $new_priority     = $max_new_priority + 1;
213
214
214
            $self->update(
215
            $self->update(
215
                {
216
                {
216
- 

Return to bug 31698