Bug 35744: Implement +strings for GET /patrons/:patron_id
In order to retrieve the library's name and patron category's description alongwith other patron's info. Test plan: Run the following command before and after this patch: % curl -u koha:koha --request GET 'http://localhost:8081/api/v1/patrons/42' --header "Content-Type: application/json" --header "x-koha-embed: +strings" | jq Notice that you now have _strings which contains the library's name and patron category's description Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
parent
e8c0438d87
commit
5464d11099
4 changed files with 55 additions and 1 deletions
|
@ -2467,6 +2467,27 @@ sub to_api_mapping {
|
|||
};
|
||||
}
|
||||
|
||||
=head3 strings_map
|
||||
|
||||
Returns a map of column name to string representations including the string.
|
||||
|
||||
=cut
|
||||
|
||||
sub strings_map {
|
||||
my ( $self, $params ) = @_;
|
||||
|
||||
return {
|
||||
library_id => {
|
||||
str => $self->library->branchname,
|
||||
type => 'library',
|
||||
},
|
||||
category_id => {
|
||||
str => $self->category->description,
|
||||
type => 'patron_category',
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
=head3 queue_notice
|
||||
|
||||
Koha::Patrons->queue_notice({ letter_params => $letter_params, message_name => 'DUE'});
|
||||
|
|
|
@ -378,6 +378,11 @@ properties:
|
|||
type:
|
||||
- boolean
|
||||
description: Protected status of the patron
|
||||
_strings:
|
||||
type:
|
||||
- object
|
||||
- "null"
|
||||
description: A list of stringified coded values
|
||||
additionalProperties: false
|
||||
required:
|
||||
- surname
|
||||
|
|
|
@ -482,6 +482,7 @@
|
|||
items:
|
||||
type: string
|
||||
enum:
|
||||
- +strings
|
||||
- extended_attributes
|
||||
collectionFormat: csv
|
||||
produces:
|
||||
|
|
|
@ -230,7 +230,7 @@ subtest 'list() tests' => sub {
|
|||
|
||||
subtest 'get() tests' => sub {
|
||||
|
||||
plan tests => 3;
|
||||
plan tests => 4;
|
||||
|
||||
$schema->storage->txn_begin;
|
||||
unauthorized_access_tests('GET', -1, undef);
|
||||
|
@ -315,6 +315,33 @@ subtest 'get() tests' => sub {
|
|||
|
||||
$schema->storage->txn_rollback;
|
||||
};
|
||||
|
||||
subtest '+strings' => sub {
|
||||
|
||||
plan tests => 4;
|
||||
|
||||
$schema->storage->txn_begin;
|
||||
|
||||
my $patron = $builder->build_object( { class => 'Koha::Patrons' } );
|
||||
|
||||
my $librarian = $builder->build_object(
|
||||
{
|
||||
class => 'Koha::Patrons',
|
||||
value => { flags => 2**4 } # borrowers flag = 4
|
||||
}
|
||||
);
|
||||
my $password = 'thePassword123';
|
||||
$librarian->set_password( { password => $password, skip_validation => 1 } );
|
||||
my $userid = $librarian->userid;
|
||||
|
||||
$t->get_ok( "//$userid:$password@/api/v1/patrons/" . $patron->id => { "x-koha-embed" => "+strings" } )
|
||||
->status_is(200)
|
||||
->json_has( '/_strings/library_id' => { str => $patron->library->branchname, type => 'library' } )
|
||||
->json_has(
|
||||
'/_strings/category_id' => { str => $patron->category->description, type => 'patron_category' } );
|
||||
|
||||
$schema->storage->txn_rollback;
|
||||
};
|
||||
};
|
||||
|
||||
subtest 'add() tests' => sub {
|
||||
|
|
Loading…
Reference in a new issue