principal: action class and registry addition

* Adds new registry for access actions.

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
jsonalchemy: cache engine search fix

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
archiver: initial port to new code structure

* Implements OIS archiver module using bagit.  (addresses #1579)
  (addresses #2258)

Co-authored-by: Jake Cowton <jake.calum.cowton@cern.ch>
Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
jsonalchemy: fix SmartJson dumps documentation

* Update dumps documentation to describe the new introduced
  parameter.

Signed-off-by: Leonardo Rossi <leonardo.r@cern.ch>
search: fix /collection/ url routing

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
base: dropdown menu and mobile UI

* Makes admin menu looks embadded in dropdown. (closes #1994)

* Fixes messages dropdown.

Signed-off-by: Adrian Pawel Baran <adrian.pawel.baran@cern.ch>
global: enhance unit test for LazyDict

* Add unit test for the class LazyDict.

Signed-off-by: Leonardo Rossi <leonardo.r@cern.ch>
utils: datastructures docs and PEP257 improvements

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
workflows: new stage for halted

* Adds 'WAITING' stage for halted workflows with
  no action added to them.

Reviewed-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: New stage for error

* Adds new stage for objects that encountered an error.

Reviewed-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: detailed workflow task list

* Displays workflow definition and completed tasks in details page.

* Task names to display are chosen from the description attributes
  of the task, if not present from the first line of the docstring,
  if still not present, the function name is finally used.

* Adds a decorator to pass the attributes (docstring, name) of a
  function to its closure.

* Adds the decorator to oaiharvest tasks.

Tested-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Reviewed-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
oaiharvester: tasks decorated

* Decorates tasks to pass their attributes to their inner function.

Reviewed-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
deposit: tasks decorated

* to pass their properties into their closure.

Reviewed-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: testsuite adapted to new stages

Reviewed-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: harvesting description arXiv link

Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: blocks in styles templates

* Adds blocks and base template for workflow styles templates.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: deposit files integration

* Adds an extra layer to show uploaded files from submissions
  via deposit module.

Co-authored-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: Holding Pen authorization

* Adds decorators for permission check to Holding Pen blueprints.

* Adds basic "viewholdingpen" authorization to access the Holding Pen
  in the access module.

* Fixes PEP8 issues in local_config.py.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: styles fixes

Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>