restricted_data_cache.update_element(...) only adds an element to the cache, when
there are already other elements in the cache. So then add_element is never used,
the cache is never created.
* 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)
Also fixt the case, where an anonymous user connects to the websocket connection.
Also added a function anonymous_is_enabled() to see, if the anyonmous user is enabled.
Added pip freeze to travis to see installed versions.
* 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
* Second websocket channel for the projector
* Removed use of projector requirements for REST API requests.
Refactored data serializing for projector websocket connection.
* Refactor the way that the projector autoupdate get its data.
* Fixed missing assignment slide title for hidden items.
* Release all items for item list slide and list of speakers slide. Fixed error with motion workflow.
* Created CollectionElement class which helps to handle autoupdate.
Uses django channels instead of tornado for the autoupdate. Therefore
tornado is nolonger a dependency of OpenSlides (but channels).
This uses websockets instead of SockJS.
Use the flag insecure in the start command to provide static files serving.
Use a new session backend that has a ForeignKey to User.
- Used raw SQL for createing default projector during inital migration.
- Removed default_password and hidden agenda items from autoupdate data for some users.
- Removed old get_collection_and_id_from_url() function.