collect: addition of sorting filter

Signed-off-by: Javier Martin Montull <javier.martin.montull@cern.ch>
uploader: initial manage command implementation

* Adds basic `inveniomanage uplaoder insert -f FILE` command.
  (addresses #1772)

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
sqlalchemy: fix mysql index creation

* Fixes checking of Text type supporting the case of NullType
  column type.

Signed-off-by: Leonardo Rossi <leonardo.r@cern.ch>
groups: port missing functionality

* Adds implementation of user group manage function.

* Adds filter on list of group that user can join.
  (closes #1788)

Signed-off-by: Leonardo Rossi <leonardo.r@cern.ch>
general: WTForms 2 compatibility fixes

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
base: bundle less filename correction

* Corrects the less JS bundle filename to avoid causing a file
  not found error for this file while building assets.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
records: display tabs

* Creates a new `record.tabs` menu using Flask-Menu.

* Adds the `visible_when` attribute and the `count` keyword argument.

* Amends the main `record` template.

* Uses Flask-Cache to memoize the function for finding
  the `visible tabs`.

* Upgrades Flask-Breadcrumbs and Flask-Menu to 0.2 version.
  (closes #1646)

Signed-off-by: Eirini Psallida <eirini.psallida@cern.ch>
sqlalchemy: default mysql parameters for db.Table

* Adds default parameters to `db.Table` constructor to force MyISAM
  engine for MySQL backend. db.Table is InnoDB by default on modern
  versions of MySQL. Hence, foreign keys can now be set on
  `db.Model` fields because both are using MyISAM as an engine.
  (closes #2491)

Signed-off-by: Artem Tsikiridis <artem.tsikiridis@cern.ch>
Reviewed-by: Gilles Louppe <gilles.louppe@cern.ch>
access: infinite recursion hotfix

* Temporary fix for the occasional issue causing infinite recursion
  error upon loading the session. (addresses #2509)

Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
jasmine: adaptation to requirejs

* Utilises boot.js from jasmine.

* Ensures that there is no jQuery conflict when a js file loads
  jQuery with requirejs with jasmine configuration test.

Signed-off-by: Kamil Neczaj <kamil.neczaj@cern.ch>