Commit Graph

106 Commits

Author SHA1 Message Date
FinnStutzenstein
5aef823807 Major cache rewrite:
- Removed the restricted data cache (it wasn't used since OS 3.0)
- unify functions for restricted and full data: Just one function, which
  accteps an optional user_id: If it is None, full data is returned, and
  with a user id given, the restricted data
- More atomic access to redis, especially for:
- Check for data-existance in redis and do an auto-ensure-cache.
- Speedup through hashing of scripts and redis' script cache.
- Save schema version into the redis cache and rebuild, if the version
  changed

Client changes:
- Simplified the ConstantsService
- Fixed bug, when receiving an autoupdate with all_data=True from the
  Server
2019-08-08 08:35:02 +02:00
Sean
13e8bbb168
Merge pull request #4873 from GabrielInTheWorld/uiFixes
Fixes some UI issues
2019-07-26 12:04:56 +02:00
GabrielMeyer
b5b3e60e81 Fixes some UI issues corresponding to the theme
- Fixes white page at 'legalnotice' and 'privacypolicy'
- Fixes the button to collapse the sidenav
- Fixes a too long text in the headbar
- Reworked the login data service:
    * make order of operations clear
    * prevent setting invalid data into the storage
2019-07-26 11:47:04 +02:00
Sean
ec853e5aba
Merge pull request #4868 from FinnStutzenstein/userBulkViews
Group add/remove bulk view
2019-07-25 11:27:28 +02:00
FinnStutzenstein
a60719bcc4 Added error message for connection refused errors sending emails 2019-07-23 14:12:05 +02:00
FinnStutzenstein
bbb8a84f5c Group add/remove bulk view 2019-07-23 12:06:26 +02:00
FinnStutzenstein
1e177917d0 Bulk views for users: state, password and delete 2019-07-23 08:41:39 +02:00
Norman Jäckel
b17a0f154f Added detail to set permission response. 2019-06-05 11:57:29 +02:00
FinnStutzenstein
d57c5bd132 Fixed updating user data after changing permissions with the new view 2019-05-24 18:22:39 +02:00
Emanuel Schütze
65dbf37106
Merge pull request #4704 from FinnStutzenstein/setPermissionRequest
Request for settings a permission in a group (closes #4698)
2019-05-16 14:14:33 +02:00
Finn Stutzenstein
6f014279d4
Merge pull request #4687 from FinnStutzenstein/catchDoubleCreationOfPersonalNotes
Fix doulbe create requests for personal notes.
2019-05-13 14:49:42 +02:00
FinnStutzenstein
5e13299ae3 Request for settings a permission in a group (closes #4698) 2019-05-13 10:17:24 +02:00
FinnStutzenstein
635fd3fad5 Fix doulbe create requests for personal notes.
When this is done, the clients needs handle this error @tsiegleauq
2019-05-10 08:18:28 +02:00
FinnStutzenstein
5728b65824 Fixed websocket and encoding errors 2019-05-10 07:35:19 +02:00
GabrielMeyer
376f4e2a31 Implements a mechanism for a fallback theme
- If the previously selected theme is not available the default OpenSlides theme will be displayed.
- Before the current selected theme was loaded, no theme is displayed.
2019-05-07 17:32:28 +02:00
FinnStutzenstein
b058bda4f6 Catch more email exceptiopns 2019-04-02 16:08:52 +02:00
Oskar Hahn
206eb9bcba decode only the needed data when calculating the required users 2019-03-29 22:38:12 +01:00
FinnStutzenstein
eb4537c1bf rework login system (again) 2019-03-11 13:45:17 +01:00
FinnStutzenstein
a1018e62e2 Added theme to login data 2019-03-08 09:19:05 +01:00
FinnStutzenstein
ecdfdf4b87 Resort python import for isort 4.3.11 (fixes #4467)
One dot imports are again behind two dot imports since this new isort
release.
2019-03-06 14:54:03 +01:00
Oskar Hahn
dd4754d045 Disable the future-lock when updating the restircted data cache
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.
2019-03-04 21:37:00 +01:00
Emanuel Schütze
c9c4566c08 several fixes and improvements
- Add projector logo/headerimage
- Fixed opening multiselect action menu for users.
- Used defined toolbar color for multiselect mode.
- (server) Added check for 'request.data._mutable = True' to edit user
  profile as normal user.
2019-02-18 16:40:46 +01:00
FinnStutzenstein
6a33b68a41 Rework the reset password component (fixes #4079) 2019-02-10 11:36:01 +01:00
Emanuel Schütze
ac96ba8d3a Updated translations 2019-02-03 22:12:26 +01:00
Emanuel Schütze
b480266dad Set use_https to true
used for password reset urls in emails by django
2019-01-31 22:41:08 +01:00
Norman Jäckel
39244a0ec9 Reenable black. 2019-01-28 20:54:42 +01:00
Norman Jäckel
746dbf744b Fixed reset password views. 2019-01-28 20:51:06 +01:00
Oskar Hahn
7df842f2e2 delete wrong file 2019-01-19 14:48:01 +01:00
Oskar Hahn
11ba7b9841 Autoupdate on element deletion
Make sure, that a related element gets an autoupdate, when the main object is deleted
2019-01-19 14:46:59 +01:00
Norman Jäckel
4da87d520d Added new permission to set password. 2019-01-19 10:35:13 +01:00
Oskar Hahn
b329115007 use f-string syntax for strings 2019-01-18 17:37:36 +01:00
Oskar Hahn
eddbd86d3a Run black 2019-01-08 21:51:52 +01:00
Norman Jäckel
060856628b OpenSlides history mode.
Also containing auth check and viewpoint to clear history.
2018-11-30 09:51:10 +01:00
Finn Stutzenstein
cf533d1174
Merge pull request #3914 from normanjaeckel/PasswordResetEMail
Added PasswordResetView.
2018-11-08 08:53:59 +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
FinnStutzenstein
621b0471f2 Client: password reset view and reset password confirm view 2018-11-03 20:43:49 +01:00
Norman Jäckel
e03d715602 Added PasswordResetView. 2018-11-03 20:43:49 +01:00
FinnStutzenstein
1e4eacecfd New superadmin group 2018-10-12 07:58:18 +02:00
FinnStutzenstein
3e0618063b Routing for the privacy policy and legal notice.
Save those values in a new service, that will also watch for changes in
config variables. UI is not good; this can be done later

Share legal notice and privacy policy

Created some containers for them
2018-09-10 11:39:46 +02:00
FinnStutzenstein
ea71d0a942 moved privacy policy to users, adapt client 2018-09-04 08:57:54 +02: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
acceeff8f8 * Update python requirements
* drop python 3.4
2018-08-07 15:23:11 +02:00
FinnStutzenstein
185055d604 Autoupdate with affected users on group delete (fixes #3455) 2018-05-16 13:03:37 +02:00
FinnStutzenstein
2989024cca Delete restricted data cache on permission changes (closes #3396) 2018-05-16 10:59:00 +02:00
FinnStutzenstein
0b04b7478f Fixed email translations, motion sorting, undefined in DOCX, reduced motion search 2018-02-02 12:48:01 +01:00
FinnStutzenstein
453d981d6b Filter for email and more dialog to the user, if some users have no
emails
2018-01-09 15:23:24 +01:00
FinnStutzenstein
2220112d27 Send invitation emails with OpenSlides login. 2017-12-15 08:16:29 +01: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