search: fix jrec handling

* Fixes incorect handling of 'jrec' attribute together with pagination.
  (closes #1756)

Reported-by: Samuele Kaplun <samuele.kaplun@cern.ch>
Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
search: fix advanced add to search form

* Adds missing class and fixes syntax error in generated javascript
  code.  (closes #1811)

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
records: return cleaned record json

* NOTE `get_unique_record_json` returns cleaned data by
  `Record.dumps(clean=True)`.

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
utils: function remove_underscore_keys removal

* Removes unused function `remove_underscore_keys`.

* Improves PEP8/257 and adds documentation entry.

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
crossref: initial release of Flask extension

* Queries DOI record data from the database or CrossRef as JSON
  (closes #1906).

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
crossref: database search fix

* Adds an instance wide search parameter prefix to perform the database
  search.

* NOTE for the search to be performed in the database, the DOI field
  prefix for the corresponding instance config file should be added
  (e.g. CROSSREF_SEARCH_PREFIX = 'doi:').

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Co-authored-by: Jiri Kuncar <jiri.kuncar@cern.ch>
crossref: tests addition

* Adds tests for found and not found DOI.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
crossref: docs entry addition

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
records: get_unique_record_json 'status' key move

* Moves `data['query']['status']` to `data['status']` in order to avoid
  collision with possible 'status' key in record object.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
arxiv: fix 'status' key lookup

Co-authored-by: Pedro Gaudencio <pedro.gaudencio@cern.ch>
Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
arxiv: fix database search with prefix

* Adds an instance wide search parameter prefix to perform the database
  search.

* NOTE: for the search to be performed in the database, the arXiv field
  prefix for the corresponding instance config file should be added to
  invenio.cfg as ARXIV_SEARCH_PREFIX
  (e.g. ARXIV_SEARCH_PREFIX = u'035__a:oai:arXiv.org:').

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
base: fix for recreation of broken links

* Fixes a crash of `inveniomanage collect` when a link for a static file
  exists but it is broken.

Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Signed-off-by: Kamil Neczaj <kamil.neczaj@cern.ch>
multimedia: initial release of Image API

* Introduces image API with `resize`, `crop`, `rotate`, `format` and `quality`
  functionality.

* Adds image cache object via redis.

* Adds API testsuite.

Signed-off-by: Harris Tzovanakis <drjova@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
multimedia: IIIF Image API addition

* Implements the IIIF Image API.

* NOTE For more info please read <http://iiif.io/api/image/2.0/>

Signed-off-by: Harris Tzovanakis <drjova@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
multimedia: Image API documentation update

Signed-off-by: Harris Tzovanakis <me@drjova.com>
formatter: better logging in xslt engine

* Uses `current_app.logger.error` or `current_app.logger.exception`
  instead of `sys.stderr`.  (closes #2049)

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
formatter: format record extra context fix

* Fixes issue where certain format_record() method would not accept the
  extra_context keyword argument.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
formatter: xm hidden tags fix

* Fixes issue where hidden tags was not filtered out in xm format due
  to that user info was not passed to the format_record function.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
menu: admin menu visibility fix

* Fixes admin menu to only be visible for admin users.

* Changes admin menu order to 10, to ensure it is the right
  most menu item.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
communities: hbpro format database fix

* Fixes problem in post database creation listener.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>