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

(-)a/Koha/Biblio.pm (-2 / +10 lines)
Lines 371-376 sub pickup_locations { Link Here
371
371
372
    my $memory_cache = Koha::Cache::Memory::Lite->get_instance();
372
    my $memory_cache = Koha::Cache::Memory::Lite->get_instance();
373
    my @pickup_locations;
373
    my @pickup_locations;
374
    my $location_items;
374
    foreach my $item ( $self->items->as_list ) {
375
    foreach my $item ( $self->items->as_list ) {
375
        my $cache_key = sprintf "Pickup_locations:%s:%s:%s:%s:%s",
376
        my $cache_key = sprintf "Pickup_locations:%s:%s:%s:%s:%s",
376
           $item->itype,$item->homebranch,$item->holdingbranch,$item->ccode || "",$patron->branchcode||"" ;
377
           $item->itype,$item->homebranch,$item->holdingbranch,$item->ccode || "",$patron->branchcode||"" ;
Lines 379-389 sub pickup_locations { Link Here
379
          @{ $item_pickup_locations } = $item->pickup_locations( { patron => $patron } )->_resultset->get_column('branchcode')->all;
380
          @{ $item_pickup_locations } = $item->pickup_locations( { patron => $patron } )->_resultset->get_column('branchcode')->all;
380
          $memory_cache->set_in_cache( $cache_key, $item_pickup_locations );
381
          $memory_cache->set_in_cache( $cache_key, $item_pickup_locations );
381
        }
382
        }
382
        push @pickup_locations, @{ $item_pickup_locations }
383
        push @pickup_locations, @{ $item_pickup_locations };
384
        for my $location (@pickup_locations) {
385
            push @{$location_items->{$location}}, $item->itemnumber;
386
        }
383
    }
387
    }
384
388
385
    return Koha::Libraries->search(
389
    my $resultSet = Koha::Libraries->search(
386
        { branchcode => { '-in' => \@pickup_locations } }, { order_by => ['branchname'] } );
390
        { branchcode => { '-in' => \@pickup_locations } }, { order_by => ['branchname'] } );
391
392
    $resultSet->{_pickup_location_items} = $location_items;
393
394
    return $resultSet;
387
}
395
}
388
396
389
=head3 hidden_in_opac
397
=head3 hidden_in_opac
(-)a/Koha/REST/V1/Biblios.pm (+1 lines)
Lines 573-578 sub pickup_locations { Link Here
573
            my $pickup_locations = $c->objects->search($pl_set);
573
            my $pickup_locations = $c->objects->search($pl_set);
574
            @response = map { $_->{needs_override} = Mojo::JSON->false; $_; } @{$pickup_locations};
574
            @response = map { $_->{needs_override} = Mojo::JSON->false; $_; } @{$pickup_locations};
575
        }
575
        }
576
        @response = map { $_->{pickup_items} = $pl_set->{_pickup_location_items}->{ $_->{library_id} }; $_; } @response;
576
577
577
        return $c->render(
578
        return $c->render(
578
            status  => 200,
579
            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