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>
restful: API testcase fixes

* Fixes issue with class variable in API test case.

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

* Adds test cases for restful decorators.

* Adds documentation on issues with decorators being called with
  both bound and unbound methods when used from Flask-Restful
  method_decorators attribute (bound) vs normally applied
  decorator (via @ on class method).

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

* Fixes issue where edited records would be rejected by bibupload's
  revision verifier because the modification date in bibrec (used
  by records module) is not the same as hstRECORD (used by revision
  verifier).

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
oauthclient: github/orcid sign-in/up support

* Adds support for GitHub and ORCID sign-in/up.

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

* Adds registry for OAuth 2.0 scopes.

* Adds support for selecting scopes when creating personal access
  tokens.

* Fixes scopes registration in deposit and webhooks modules according to
  new registry.

* NOTE The scopes registry will be refactored in the future depending on
  the outcome RFC #1773.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
oauth2server: authorization flow bug fixes

* Adds redirect URI field to application form.

* Adds validation and setters of redirect uris on model.

* Fixes issue in auth flow when validating scopes.

* Fixes template and context issues in 'Authorize application' view.

* Disables https redirect uri checking when in debug mode.

* Properly handle errors happening during authorize requests.

* Adds test cases for authorization_code, client_crendentials,
  refresh_token and implicit grant types.

* Adds endpoint documentation in user interface.

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

* Fixes undefined variable when using API keys as authentication.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
formatter: test engine xslt format addition

* Adds test for xslt format engine.  (closes #2048)

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
deposit: independent jquery-ui modules

* Loads jQuery UI modules individually.

* Removes bundles jquery-ui from deposit module.

* Fixes jQuery datepicker module issue.

* Removes the global exposed functions.

* Refactors the javascript structure.

Signed-off-by: Charalampos Tzovanakis <drjova@cern.ch>
assets: remove jquery-ui bundle

* Removes the jquery-ui bundle.

* NOTE: For now on jquery-ui plugins should be loaded like
  require('ui/{name}').

Signed-off-by: Charalampos Tzovanakis <drjova@cern.ch>