]> git.koha-community.org Git - koha.git/commit
Bug 24909: Add unprivileged route to get a bibliographic record
authorTomas Cohen Arazi <tomascohen@theke.io>
Thu, 19 Mar 2020 20:04:31 +0000 (17:04 -0300)
committerAleisha Amohia <aleishaamohia@hotmail.com>
Sun, 14 Jun 2020 22:38:33 +0000 (10:38 +1200)
commitf1ca5b7473575b9c2ec13ba272fa99d044c4d990
tree34d663dcccccf28022cc763827e157c99f57564c
parent974749935d349646d6ac0525a4cd80fabd1521a0
Bug 24909: Add unprivileged route to get a bibliographic record

This patch adds a route to get bibliographic records without privileged
access. This needs to match the OPAC expected behaviour.

Some things were considered on the implementation:
- The ViewPolicy filter that hides/shows things based on the frameworks
  needded to be used, as in the OPAC.
- OpacHiddenItems and OpacHiddenItemsExceptions need to be considered
  for hiding records the same way the OPAC is expected to.
- Avoid using OpacHiddenItemsExceptions, but rely on the patron category
  instead (use Koha::Patron::Category->override_hidden_items abstraction
  is used instead so it should keep working once 22547 is moved
  forward).
- Tests should cover all the use cases:
  * logged in user
  * anonymous user
  * logged in with category that overrides
  * logged in with category that doesn't override

This is all implemented on the tests.

To test:
1. Apply the tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/biblios.t
=> FAIL: Route not implemented
3. Apply the rest of the patches
4. Repeat 2
=> SUCCESS: Tests pass!
5. Try it with your favourite API tool (Postman?)
6. Sign off :-D

Note: please notice there isn't a default fallback behaviour for when
you don't specify the Accept header, so testing this on a regular
browser will just print the accepted mime types instead of the record
itself.

To test this with a tool (like Postman) you should enable
RESTBasicAuthe and make the tool use Basic authentication with valid
credentials. And you need to specify any of the following strings on the
Accept header:
- application/marcxml+xml
- application/marc-in-json
- application/marc
- text/plain

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit b97158dd1342ea060a29297df3d691f05065c227)

Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Koha/REST/V1/Biblios.pm