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 |
- |
|
|