Main Koha release repository https://koha-community.org
Find a file
Tomas Cohen Arazi b97158dd13
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>
2020-04-27 11:15:15 +01:00
acqui Bug 25223: Make join of aqbasket and aqorders explicit 2020-04-22 09:29:13 +01:00
admin Bug 20484: (RM follow-up) Highlight ES disablement 2020-04-21 12:14:13 +01:00
api/v1 Bug 24909: Route spec 2020-04-27 11:15:10 +01:00
authorities Bug 24545: Fix license statements 2020-02-24 13:31:26 +00:00
basket Bug 11529: Add templates for biblio title display. Unify display. 2019-08-05 15:03:19 +01:00
C4 Bug 21927: Acq - Add blank values in pull downs of mandatory item subfields 2020-04-27 11:14:58 +01:00
catalogue Bug 23591: Hide archived suggestions 2020-04-14 16:36:41 +01:00
cataloguing Bug 25248: (bug 23463 follow-up) Item is returned if deletion successful, not 1 2020-04-27 10:56:52 +01:00
circ Bug 24840: Replace DateTime->now with dt_from_string 2020-04-08 11:54:23 +01:00
clubs Bug 23084: Replace grep {^$var$} with grep {$_ eq $var} 2020-02-17 10:44:45 +00:00
course_reserves Bug 23727: Editing course reserve items is broken 2020-04-17 13:45:56 +01:00
debian Bug 16922: Add RewriteRule to apache-shared-intranet for dev package installs 2020-04-27 10:43:16 +01:00
docs Koha 19.12 - Dobbie is a free elf... 2019-12-02 17:13:15 +00:00
errors Bug 24545: Fix license statements 2020-02-24 13:31:26 +00:00
etc Bug 20816: Add ability to define custom templated fields in SIP patron responses 2020-04-22 13:31:59 +01:00
ill Bug 23173: (follow-up) Small improvements in efficiency 2020-04-06 11:05:09 +01:00
installer Bug 24897: Remove es-ES installer data 2020-04-27 11:12:07 +01:00
Koha Bug 24909: Add unprivileged route to get a bibliographic record 2020-04-27 11:15:15 +01:00
koha-tmpl Bug 25274: Don't initialize DataTable if table isn't present 2020-04-27 11:12:50 +01:00
labels Bug 24735: Remove QueryParser-related code 2020-03-02 11:13:03 +00:00
members Bug 22534: (RM follow-up) Remove errant hidden file 2020-04-14 11:08:32 +01:00
misc Bug 24871: Add new *-installer*.po translation files 2020-04-27 11:09:49 +01:00
offline_circ Bug 23463: Replace ModItem with Koha::Item->store 2020-03-23 09:26:30 +00:00
opac Bug 25009: Avoid leakages in opac-showmarc.pl 2020-04-27 10:44:10 +01:00
patron_lists
patroncards Bug 24545: Fix license statements 2020-02-24 13:31:26 +00:00
plugins Bug 20415: Remove UseKohaPlugins system preference 2020-03-26 11:42:02 +00:00
pos Bug 25139: Corrections to date picker handling 2020-04-15 08:33:07 +01:00
reports Bug 24940: Serials statistics wizard: order vendor list alphabetically 2020-04-08 11:46:21 +01:00
reserve Bug 16547: Do not display "multi holds" view if only one is selected 2020-04-06 10:41:02 +01:00
reviews
rotating_collections Bug 21500: Remove warnings in rotating collections 2018-10-09 15:02:45 +00:00
serials Bug 25081: Fix wrong comment 2020-04-08 11:53:37 +01:00
services
skel
suggestion Bug 24819: (follow-up) Rename suggestor to suggester 2020-04-20 13:36:42 +01:00
svc Bug 4461: Fix status and borrowernumber fields in problem_reports and more 2020-04-06 11:18:59 +01:00
t Bug 24909: Unit tests 2020-04-27 11:15:04 +01:00
tags Bug 11529: Add templates for biblio title display. Unify display. 2019-08-05 15:03:19 +01:00
tmp/modified_authorities
tools Bug 14369: Only show 'Create labels' link on staged records import when status is imported 2020-04-21 12:28:56 +01:00
virtualshelves Bug 23084: Replace grep {^$var$} with grep {$_ eq $var} 2020-02-17 10:44:45 +00:00
xt Bug 24583: adjust xt/sample_notices.t 2020-03-09 15:19:01 +00:00
.editorconfig Bug 24774: Set JSON indentation of 2 spaces in .editorconfig 2020-03-19 09:24:52 +00:00
.eslintrc.json Bug 23834: Add default ESLint configuration 2019-11-03 08:02:39 +00:00
.gitignore Bug 20427: Convert OPAC LESS to SCSS 2018-08-09 15:17:07 +00:00
.htaccess
.mailmap Update mailmap - Jonathan Druart 2017-06-21 12:42:19 -03:00
.scss-lint.yml Bug 21237: Clean up staff client SCSS 2018-08-24 16:23:25 +00:00
about.pl Bug 25172: Identify and display possible problems on the about page 2020-04-22 13:44:12 +01:00
changelanguage.pl Bug 21299: (QA follow-up) Rename module and subroutine 2018-11-07 21:52:17 +00:00
cpanfile Bug 24573: Add missing dependencies to cpanfile 2020-03-06 09:58:54 +00:00
fix-perl-path.PL
gulpfile.js Bug 21751: Replace fixFloat with HC-sticky to fix Chrome display 2019-02-04 14:13:35 +00:00
help.pl Bug 19817: Use the language from the interface if valid 2018-09-06 17:32:28 +00:00
INSTALL
Koha.pm Bug 24913: DBRev 19.12.00.078 2020-04-21 12:34:04 +01:00
koha_perl_deps.pl Bug 24545: Fix license statements 2020-02-24 13:31:26 +00:00
kohaversion.pl
LICENSE
mainpage.pl Bug 4461: Fix status and borrowernumber fields in problem_reports and more 2020-04-06 11:18:59 +01:00
Makefile.PL Bug 25109: Add lockdir configuration entry 2020-04-14 16:56:44 +01:00
MANIFEST.SKIP
package.json Bug 23025: security vulnerability detected in fstream < 1.0.12 defined in yarn.lock 2019-11-27 11:30:17 +00:00
README Bug 9440 - update Koha's LICENSE file from GPL2 to GPL3 2013-02-12 08:52:10 -05:00
README.md
README.robots
rewrite-config.PL Bug 17851: Add elasticsearch config to koha-conf.xml 2019-10-07 14:09:10 +01:00
yarn.lock Bug 23025: Update yarn.lock 2019-11-27 11:30:17 +00:00

Koha is a free software integrated library system (ILS).

Koha is distributed under the GNU GPL version 3 or later.

Note: This is a synced mirror of the official Koha repo.

Note: Koha does not accept pull requests from git hosting sites.

Note: This project has its own bug tracker, to report a bug or submit a patch visit http://bugs.koha-community.org.

For guidelines on submitting patches for Koha please visit https://wiki.koha-community.org/wiki/SubmitingAPatch

The developers handbook can be found at https://wiki.koha-community.org/wiki/Developer_handbook

http://koha-community.org/

Koha Logo