Before this commit, there where two different locks when updating the restricted
data cache. A future lock, what is faster but only works in the same thread. The
other lock is in redis, it is not so fast, but also works in many threads.
The future lock was buggy, because on a second call of update_restricted_data
the same future was reused. So on the second run, the future was already done.
I don't see any way to delete. The last client would have to delete it, but there
is no way to find out which client the last one is.
- use always color black on projector, also in dark mode
- show border for projector preview
- Fix projector logo margin by using img instead of os-logo
- Use also 'username' in invitation email subject
* geis does not work with channels2 and never will be (it has to be python now)
* pytest
* rewrote cache system
* use username instead of pk for admin user in tests
* 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
* Add is_present field for csv import of users.
* Refactor JS functions get_full_name and get_short_name (Fixes#2136).
- Show participant number in get_full_name() output.
- Sort users by first or last name.
- Extend config option to sort users.
- Mark unused Python methods get_short_name and get_full_name.
* 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.
Now, only staff users has this permission by default. (Fixed #2004.)
Some more work on users/groups template:
- Added description to permission string to show that only 'present' and
'comment' fields are affected by this permission.
- Allowed to create groups without permissions.
- Fixed showing group names in users lists view for staff and normal users.