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

(-)a/Koha/Biblio.pm (-2 / +10 lines)
Lines 365-370 sub pickup_locations { Link Here
365
365
366
    my $memory_cache = Koha::Cache::Memory::Lite->get_instance();
366
    my $memory_cache = Koha::Cache::Memory::Lite->get_instance();
367
    my @pickup_locations;
367
    my @pickup_locations;
368
    my $location_items;
368
    foreach my $item ( $self->items->as_list ) {
369
    foreach my $item ( $self->items->as_list ) {
369
        my $cache_key = sprintf "Pickup_locations:%s:%s:%s:%s:%s",
370
        my $cache_key = sprintf "Pickup_locations:%s:%s:%s:%s:%s",
370
           $item->itype,$item->homebranch,$item->holdingbranch,$item->ccode || "",$patron->branchcode||"" ;
371
           $item->itype,$item->homebranch,$item->holdingbranch,$item->ccode || "",$patron->branchcode||"" ;
Lines 373-383 sub pickup_locations { Link Here
373
          @{ $item_pickup_locations } = $item->pickup_locations( { patron => $patron } )->_resultset->get_column('branchcode')->all;
374
          @{ $item_pickup_locations } = $item->pickup_locations( { patron => $patron } )->_resultset->get_column('branchcode')->all;
374
          $memory_cache->set_in_cache( $cache_key, $item_pickup_locations );
375
          $memory_cache->set_in_cache( $cache_key, $item_pickup_locations );
375
        }
376
        }
376
        push @pickup_locations, @{ $item_pickup_locations }
377
        push @pickup_locations, @{ $item_pickup_locations };
378
        for my $location (@pickup_locations) {
379
            push @{$location_items->{$location}}, $item->itemnumber;
380
        }
377
    }
381
    }
378
382
379
    return Koha::Libraries->search(
383
    my $resultSet = Koha::Libraries->search(
380
        { branchcode => { '-in' => \@pickup_locations } }, { order_by => ['branchname'] } );
384
        { branchcode => { '-in' => \@pickup_locations } }, { order_by => ['branchname'] } );
385
386
    $resultSet->{_pickup_location_items} = $location_items;
387
388
    return $resultSet;
381
}
389
}
382
390
383
=head3 hidden_in_opac
391
=head3 hidden_in_opac
(-)a/Koha/REST/V1/Biblios.pm (+1 lines)
Lines 572-577 sub pickup_locations { Link Here
572
            my $pickup_locations = $c->objects->search($pl_set);
572
            my $pickup_locations = $c->objects->search($pl_set);
573
            @response = map { $_->{needs_override} = Mojo::JSON->false; $_; } @{$pickup_locations};
573
            @response = map { $_->{needs_override} = Mojo::JSON->false; $_; } @{$pickup_locations};
574
        }
574
        }
575
        @response = map { $_->{pickup_items} = $pl_set->{_pickup_location_items}->{ $_->{library_id} }; $_; } @response;
575
576
576
        return $c->render(
577
        return $c->render(
577
            status  => 200,
578
            status  => 200,
(-)a/api/v1/swagger/definitions/library.yaml (-1 / +7 lines)
Lines 104-109 properties: Link Here
104
  pickup_location:
104
  pickup_location:
105
    type: boolean
105
    type: boolean
106
    description: If the library can act as a pickup location
106
    description: If the library can act as a pickup location
107
  pickup_items:
108
    type:
109
      - array
110
      - "null"
111
    description: Array of items available for pickup at this library is the library is marked as a pickup location
112
    items:
113
      type: integer
107
  public:
114
  public:
108
    type: boolean
115
    type: boolean
109
    description: If the library is visible to the public
116
    description: If the library is visible to the public
110
- 

Return to bug 36120