Commit Graph

28 Commits

Author SHA1 Message Date
Norman Jäckel
168561bc55 Added gender field for users. 2019-01-18 19:47:00 +01:00
Oskar Hahn
eddbd86d3a Run black 2019-01-08 21:51:52 +01:00
Oskar Hahn
9bb77817dd Refactor assess_permission
* Remove access_permission.get_full_data()
* Remove access_permission.gcet_serializer_class()
* get serializer class from model
2018-12-16 09:10:52 +01:00
Oskar Hahn
eead4efe6a Remove CollectionElement
* Use user_id: int instead of Optional[CollectionElment] in utils
* Rewrote autoupdate system without CollectionElement
2018-11-04 01:06:01 +01:00
Oskar Hahn
cd34d30866 Remove utils.collections.Collection class and other cleanups
* Activate restricted_data_cache on inmemory cache
* Use ElementCache in rest-api get requests
* Get requests on the restapi return 404 when the user has no permission
* Added async function for has_perm and in_some_groups
* changed Cachable.get_restricted_data to be an ansync function
* rewrote required_user_system
* changed default implementation of access_permission.check_permission to
  check a given permission or check if anonymous is enabled
2018-11-03 20:48:19 +01:00
Oskar Hahn
b034839ac8 Remove old projector code 2018-10-29 13:10:15 +01:00
Oskar Hahn
aac9dcabf5 drop python 3.5 2018-08-23 17:51:30 +02:00
Oskar Hahn
10b3bb6497 Update to channels 2
* 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
2018-08-22 06:30:11 +02:00
Oskar Hahn
d7db714562 CollectionElement and Autoupdate cleanups
* 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)
2017-09-15 12:11:32 +02:00
Oskar Hahn
be94e97889 more typings 2017-09-03 18:34:55 +02:00
Oskar Hahn
24b07da7b4 Fix PersonalNoteAccessPermissions for anonymous user
fixes: #3377
2017-08-31 22:00:22 +02:00
Emanuel Schütze
573fc4da57 Merge pull request #3267 from normanjaeckel/NewPersonalNote
Rework on personal notes.
2017-06-16 12:38:40 +02:00
Norman Jäckel
eaebeb8f06 Fixed get_projector_data impementation. Closed #3282. 2017-06-13 22:21:56 +02:00
Norman Jäckel
91d365e386 Rework on personal notes. Fixed #3262. 2017-06-13 20:58:17 +02:00
Norman Jäckel
ebabc291c5 Refactoring of data parsing for startup and autoupdate. 2017-05-03 08:58:29 +02:00
Oskar Hahn
4963bfa7bf Changed restricted data parsing. Cached full data on startup. 2017-05-01 21:52:16 +02:00
Norman Jäckel
c4ec26c4c0 User without permission to see users can now see some required users.
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.
2017-04-11 17:10:49 +02:00
FinnStutzenstein
735dbcf109 Better dialog handling. Many fixes. 2017-02-17 14:58:35 +01:00
Oskar Hahn
2daafa8db9 Created a function to convert anything possible to a user-collectoin-element or None
Changed user.has_perm(...) to has_perm(user, ...) at any place.

Removed old code
2017-01-26 18:57:10 +01:00
Oskar Hahn
fccde8de11 Changed the function has_perm to support an user id or None as the first argument.
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.
2017-01-24 15:16:29 +01:00
Norman Jäckel
481a36501f Refactored WhoAmI view and startup process. 2017-01-14 21:22:40 +01:00
Oskar Hahn
728576d514 Performance improvements
* 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
2017-01-13 13:37:18 +01:00
Oskar Hahn
a47e30c8f1 Fixes user permissions
Fix #2597
2016-11-08 23:13:15 +01:00
Oskar Hahn
368873e738 Adds a cache system to the CollectionElement and add
a Collection class that can be used to call a collection
used this for the list and receive rest api.
2016-09-30 21:37:52 +02:00
Oskar Hahn
6abb0976c2 Change system for autoupdate on the projector (#2394)
* 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.
2016-09-17 22:26:23 +02:00
Norman Jäckel
b4d4026316 Refactored user serializers for different client permissions. See #1871. 2016-09-05 13:48:06 +02:00
Norman Jäckel
132c6e81ec Forwarding JSON instead of Django model instances to autoupdate loop.
- 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.
2016-03-06 14:24:53 +01:00
Norman Jäckel
4daa61888f Massive refactoring for autoupdate optimization. 2016-03-06 14:22:40 +01:00