* change get_restricted_data and get_projector_data to always use a list
* Add typings to all get_restricted_data and get_projector_data methods
* Replace CollectionElementList with a real list
* Fixed arguments of inform_deleted_data
* Moved CollectionElementCache to cache.py and refactored it
* Run tests with cache enabled (using fakeredis)
These are
- agenda item speakers,
- motion submitters and supporters,
- assignment candidates,
- mediafile uploader and
- chat message users
but only if the user has respective permissions. Fixed#3002.
* Add caching support to users/group
* Add a function has_perm that works with the cache.
* Removed our session backend so other session backends (without the database) can be used
- Reset password from current (unsaved) value of default_password.
- MotionForm, AssignmentForm and UserForm factory for open ngDialog.
Fixes edit url redirect problem.
- Added back-to-detail-view-button to list of speakers view.
- Add translation context.
- Fixed (missing) translation strings.
- Fixed tags and category list views.
- motion detail: Use select box for changing state.
- motion slide updated
Refactored user creation and update via REST API. Used new serializer.
Cleaned up management commands, signals and imports. Moved code from 'api.py' to 'models.py'.
Changed usage of group 'Registered'. Now the users don't have to be members to gain its permissions. Used customized auth backend for this.
Added and changed some tests.