utils: removal of duplicate `SmartDict` definition

* Removes duplicate `SmartDict` class definition. (closes #2031)

Signed-off-by: Esteban J. G. Gabancho <esteban.gabancho@gmail.com>
Acked-by: Jiri Kuncar <jiri.kuncar@cern.ch>
records: fix for document default name generator

* Adds catching exceptions around `os.makedirs`.

Signed-off-by: Esteban J. G. Gabancho <esteban.gabancho@gmail.com>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
base: account settings drop-down menu

* Adds account settings in user menu drop-down.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
Tested-by: Jiri Kuncar <jiri.kuncar@cern.ch>
base: separation of styles to independent files

*  Uses '@import (reference)' to import external less files.

Signed-off-by: Eirini Psallida <eirini.psallida@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
formatter: fix RSS generation

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
Reported-by: Jiří Kunčar <jiri.kuncar@cern.ch>
workflows: Holding Pen change

* Adds new BibClassify workflow task for faster execution, taking
  only parts of the document instead of it all.

* Now saves the BibWorkflowObject after removing the action.

Acked-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Guillaume Lastecoueres <PX9e@gmx.fr>
workflows: error message improvement

* Properly sets error messages upon unexpected errors during
  workflow execution.

* Integrates the error messages into the Holding Pen detailed
  view of an object as a panel.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: detailed record display

* Changes wells to panels in the record detailed display.

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

* Adds integration of tasks results into the object model and
  detailed display.

* Tags filtering now keeps the tags when user updates the page by
  using session.

Co-authored-by: Guillaume Lastecoueres <PX9e@gmx.fr>
Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: update tags placeholder text

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

* Refactors the quick_match_record a bit.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: pagination on top

* Also adds Holding Pen main table pagination on top of the
  table in addition to the bottom one.

Reviewed-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: bundle fix

* Fixes the bundles to properly import DataTables static files.

* Changes from sqlalchemy._or to db._or.

* PEP8/257 updates.

Reported-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: definition enhancement

* Adds WorkflowBase class that define the basic function
  a workflow needs to render correctly its processed
  objects.

* Upgrades Holding Pen to print correctly the changes.

* Adds the functions needed to the basic workflows.

* Adds task results to workflows management functions
  for updating progress bar in Holding Pen.

* Moves brief formatting to the workflow instead of
  the BibWorkflowObjects to allow everybody to choose
  their way to format them.

* Various fixes to Holding Pen JavaScript.

Acked-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
workflows: tags display fix

* Amends Holding Pen main table to properly show all
  records when all tags are removed.

* Fixes a problem with Holding Pen main table display when
  sessions are cleared.

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

* Reduces the number of ajax requests triggered in Holding Pen
  interface.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
workflows: definitions fix

* Changes the methods get_description, get_title and formatter
  to static and BibWorkflowObject argument name.

* Adds WorkflowBase inheritance in marcxml_workflow
  and sample_workflow.

* PEP8 fixes.

Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: object delayed option

* Adds a delayed option to BibWorkflowObject functions to
  start and continue workflows.

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

* Removes the tight coupling to WTForms when designing UI widgets
  for actions in the Holding Pen. Now jinja2 templating can be
  used to render the action.

* Removes the need to dynamically load the actions js files.

* Updates the sample "approval" action to use jinja2 templating
  and simplifies the accompanying js file.

* Removes much unused or unnecessary code including unfinished
  actions and the few defined WTForms fields that are no longer
  used.

* Updates the Holding Pen templates to be simpler as a result of
  merging the /actions and /details view into one page (details).

* Updates Holding Pen js files to no longer have hard-coded
  references to the "approval" action.

* Updates bundles and templates to work properly with DataTables
  and actions.

Co-authored-by: Guillaume Lastecoueres <PX9e@gmx.fr>
Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: tags refactoring

* Reduces complexity of the code.

* Improves general performance of record loading in Holding Pen.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>