Commit Graph

658 Commits

Author SHA1 Message Date
FinnStutzenstein
d1048a0d9d Fixed readding last speaker
It is not given, that null values are sorted last in the `order_by("-end_time")`
statement. This did not happens in the tests, but in a productive environment.
See https://docs.djangoproject.com/en/2.2/ref/models/querysets/#order-by for a
`.asc()`/`.desc()` option `nulls_last`. I choose another approach to just
exclude these values.
2019-10-16 09:41:30 +02:00
jsangmeister
943e8f22d3 Adds sort mode, delete confirmation and re-add speaker button to list of
speakers
2019-10-15 14:58:04 +02:00
GabrielMeyer
c8d02788dc Enhances the autoupdate of projector by change-id 2019-10-02 16:30:30 +02:00
FinnStutzenstein
e8dec048ef Fixed submitter check for anonymous users 2019-09-23 10:12:15 +02:00
FinnStutzenstein
76ff4602a2 Single create and update request for personal notes 2019-09-10 12:34:26 +02:00
Emanuel Schütze
a86b835c0b Fixed updating of amendments as normal user
for paragraph based amendments
2019-09-05 14:37:12 +02:00
FinnStutzenstein
9323bdef20 Added config for more verbose errors on reset password
- Added settings.py docs
- Fixed left-overs from #4920
- Reworked all server messages to a new argument formet, so that the
client can translate server messages
2019-09-03 14:47:45 +02:00
FinnStutzenstein
5baae14156 Skip autoupdates on foreign personal notes 2019-09-02 13:57:12 +02:00
FinnStutzenstein
366777ebfd Fixed bug sending always all data to users, who get restricted data
Due to changes in an iterator, a RuntimeError was thrown but interpred al a too low change id. Fixed the bug and make a custom exception for this.
2019-09-02 09:05:29 +02:00
Emanuel Schütze
862d8cdee9 New config to hide referring motions in slide and detail view
Rework motion slide:
- move referring motions to h2 subtitle
- move identifier to h1 main title
- reduce subtitle line
2019-08-21 14:00:17 +02:00
Emanuel Schütze
d3c56efdc5
Merge pull request #4920 from emanuelschuetze/configDefaults
Rework config defaults.
2019-08-21 13:48:55 +02:00
Emanuel Schütze
f981106524 Rework config defaults.
- move motion setttings from settings.py to config that user can change
  it while runtime
- show help text for config fields as tooltip
2019-08-21 13:19:44 +02:00
FinnStutzenstein
d4dc13706f Ensures change id across multiple workers 2019-08-19 09:42:51 +02:00
Finn Stutzenstein
91238e83bb
Merge pull request #4896 from FinnStutzenstein/cache
Major cache rewrite
2019-08-08 13:21:49 +02:00
FinnStutzenstein
a8946cfe99 Fixed the example data generator 2019-08-08 12:47:47 +02:00
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
FinnStutzenstein
dd66244d84 Generic relations for the repos 2019-07-30 09:07:51 +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
GabrielMeyer
bb55110245 Fixes dynamic growing cells in workflows
- The cells in the table of a workflow are dynamically growing
- The colors of the states get new labels
- If multiple selection in motion-list is active, the button to change the view won't be seen
2019-07-23 15:01:35 +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
FinnStutzenstein
74647dc75d sorting of motion comment sections 2019-07-19 14:37:59 +02:00
Emanuel Schütze
3fd519e0d4
Merge pull request #4821 from FinnStutzenstein/directories
Directories and access permissions for mediafiles
2019-07-12 13:34:46 +02:00
FinnStutzenstein
56c1da352e Directories and access permissions for mediafiles 2019-07-12 13:08:07 +02:00
FinnStutzenstein
77dee0d977 Recover-strategy to detect an updated server without a reload 2019-07-11 19:23:25 +02:00
FinnStutzenstein
2ae7776392 Show from recommendation referencing motions 2019-07-04 07:12:31 +02:00
FinnStutzenstein
78dcc3f902 Compatibility to pytest 5 2019-07-03 07:46:23 +02:00
FinnStutzenstein
8ff0f73477 Optional agenda items 2019-06-17 12:38:17 +02:00
Emanuel Schütze
35c8dc97f5
Merge pull request #4756 from FinnStutzenstein/subcategories
Subcategories
2019-06-12 15:08:46 +02:00
FinnStutzenstein
bf9973a4a7 Subcategories 2019-06-12 14:37:19 +02:00
FinnStutzenstein
6d027f0f75 Compression: Sending compressed messages 2019-06-12 08:25:25 +02:00
FinnStutzenstein
658b1a360d Internal flag for motion blocks
- ServerSide
- Adds the 'internal'-flag to the edit view of motion blocks
2019-05-28 15:24:22 +02:00
FinnStutzenstein
9f12763f8b Split AgendaItem and ListOfSpeakers
Server:
- ListOfSpeakers (LOS) is now a speprate model, containing of an id,
speakers, closed and a content_object.
- Moved all speaker related views from ItemViewSet to the new
ListOfSpeakersViewSet.
- Make Mixins for content objects of items and lists of speakers.
- Migrations: Move the lists of speakers from items to the LOS model.

Client:
- Removed the speaker repo and moved functionality to the new
ListOfSpeakersRepositoryService.
- Splitted base classes for agenda item content objects to items and
LOS.
- CurrentAgendaItemService -> CurrentListOfSpeakersSerivce
- Cleaned up the list of speakers component.
2019-05-24 08:21:59 +02:00
Emanuel Schütze
0a99c2b0f5
Merge pull request #4722 from FinnStutzenstein/motionTextNotRequiredForParagraphAmendments
Do not require the motion text for paragraph based amendments
2019-05-20 21:46:15 +02:00
FinnStutzenstein
11fd8c5762 Do not require the motion text for paragraph based amendments 2019-05-20 20:47:28 +02:00
FinnStutzenstein
6f798357fa prevent deletion of last workflow and update configs on deletion 2019-05-20 12:54:20 +02:00
Emanuel Schütze
fef386ddf8
Merge pull request #4713 from FinnStutzenstein/tooHighChangeIdHandling
Handles 'change id too high' and generic websocket error message format
2019-05-16 20:25:13 +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
Norman Jäckel
349fe49e1c Changed default workflows. 2019-05-15 15:18:43 +02:00
FinnStutzenstein
5ad94cb2f4 Handles 'change id too high' and generic websocket error message format 2019-05-15 14:25:54 +02:00
FinnStutzenstein
665426e954 Remove ChatMessage 2019-05-15 13:44:45 +02:00
FinnStutzenstein
f9bac798aa Rename the manage restriction field
Renamed 'managers_only' to 'motions.can_maange' to adapt the (new) behavior of #4638. Closes #4643.
2019-05-14 16:02:59 +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
76880100f5 Sort motions in categories 2019-04-30 14:14:41 +02:00
FinnStutzenstein
44b683e361 Add attachments to assignments 2019-04-29 10:31:28 +02:00
FinnStutzenstein
5a1f638f8d Protect element fields from the projector model. Fixes creation of
projectors.
2019-04-09 17:15:16 +02:00
Norman Jäckel
6f24b7c169 Refactored state access level by renaming state field to restriction. 2019-04-08 14:56:14 +02:00
Oskar Hahn
41aed15426 Make the projector-system explicit async.
Also lock config.build_key_to_id
2019-04-06 06:40:15 +02:00
FinnStutzenstein
4308de3164 Remove motion logs 2019-04-01 09:04:22 +02:00
Norman Jäckel
35198f6e64 Fixed commands. 2019-03-20 08:50:57 +01:00
FinnStutzenstein
eb4537c1bf rework login system (again) 2019-03-11 13:45:17 +01:00
Tobias Hößl
6b685924d9 Bugfix: Amendment statuses 2019-03-09 22:48:21 +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
Norman Jäckel
9eec2404dd Fixed on_delete field attr. Fixed #4405 2019-03-01 20:53:01 +01:00
FinnStutzenstein
70d7f49afe Fixed deletion of agenda items.
Introduced by #4352
2019-02-25 11:29:01 +01:00
FinnStutzenstein
63f1802d7a (Current) list of speaker slide 2019-02-22 10:40:28 +01:00
FinnStutzenstein
3f58538afb Agenda item list slide 2019-02-21 21:56:40 +01:00
FinnStutzenstein
7ef36e93c6 List of speakers slide 2019-02-21 12:34:41 +01:00
Tobias Hößl
7b2e116f51 Change reco default value, Slide test cases 2019-02-15 15:15:58 +01:00
Jochen Saalfeld
114c8bfa3c
Merge pull request #4184 from ostcar/fix_gunicorn
Opens the websocket connection before closing it
2019-02-05 08:34:52 +01:00
Norman Jäckel
c355326466 Added new flag to motion state to control access for different users. 2019-02-01 15:42:02 +01:00
Oskar Hahn
1111a8074e fix restricted_data_cache for elements that exists, but a user is not allowed to see them 2019-02-01 08:26:34 +01:00
Emanuel Schütze
42f8b74d8e Projector templates
- Projector base template
- Projection button
- projection dialog
- motion slide (template and motions/projector.py)
- user slide (template and users/projector.py)
- motion and user list view with projector column permission check.
2019-01-29 16:12:19 +01:00
FinnStutzenstein
965d23be50 more work on projector, countdowns, clos
- splitted clos-slide and clos-overlay.
- Synchronize to server, more little changes
2019-01-29 16:10:21 +01:00
Oskar Hahn
1a709a59a9 Projector V
* Changed wording: element is one element on the projector. A slide is a functoin to render one element
* Use AllData as first argument all the time
* Render username on server
* Add exceptions for erros on projector
* Fix motion recommendation
* Only show state extension, if it is allowed by the state
* Add motion_change_recommendations to motion full_data
2019-01-28 23:18:27 +01:00
Oskar Hahn
014b145b0f Opens the websocket connection before closing it
Fixes #4009
2019-01-25 16:33:45 +01:00
Oskar Hahn
cca28a990a New projector IV
* Motion Slide
2019-01-20 13:35:50 +01:00
Oskar Hahn
6b73c5bf1a activate start command 2019-01-20 11:24:42 +01:00
Oskar Hahn
df85e01b16
Merge pull request #4145 from ostcar/logged_in_users
logged in users
2019-01-19 18:00:47 +01:00
Oskar Hahn
5ca2012c44 logged in users 2019-01-19 17:50:18 +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
Oskar Hahn
b4c3ffe01f New projector III
* Add a new view `project` to set the projector elements-fields
2019-01-19 10:47:11 +01:00
Oskar Hahn
c37bf0fb4f New Projector
* Change Projector model
* Remove old http requests
* Remove old config values
* Remove uuid from config field
* Remove projector broadcast
* Remove projector blank
* Fix serializer
2019-01-19 08:19:40 +01:00
Norman Jäckel
85d9629776 Added new permissions to create new amendments. 2019-01-18 22:06:15 +01:00
Finn Stutzenstein
8bd24d690d
Merge pull request #4118 from FinnStutzenstein/notify
Make OS3 notify ready
2019-01-18 17:55:24 +01:00
Oskar Hahn
b329115007 use f-string syntax for strings 2019-01-18 17:37:36 +01:00
FinnStutzenstein
47a09e4bce Make OS3 notify ready 2019-01-18 17:03:09 +01:00
Oskar Hahn
5127d659db Add the projector config into the data send via websocket 2019-01-18 15:38:20 +01:00
Oskar Hahn
a0f554674b New projector system. Add first slides 2019-01-12 21:21:43 +01:00
Emanuel Schütze
1ff84c1ae1 UI improvements 2019-01-11 16:51:43 +01:00
Oskar Hahn
eddbd86d3a Run black 2019-01-08 21:51:52 +01:00
Emanuel Schütze
b900dfcba3
Merge pull request #4050 from FinnStutzenstein/remove_action_word
removed action word from states
2018-12-13 10:05:11 +01:00
Norman Jäckel
d7231e60f2 Fixed Test 2018-12-07 21:06:30 +01:00
FinnStutzenstein
2e7bbcc981 Manage submitters 2018-12-06 15:54:02 +01:00
FinnStutzenstein
362e2f154f removed action word from states 2018-12-06 11:47:33 +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
Oskar Hahn
67d933a206 fix douple elements 2018-11-18 07:57:44 +01:00
Oskar Hahn
8ee9fb1742 Set websocket url to /ws
The routing is desided by protocol
2018-11-09 09:15: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
93dfd9ef67
Merge pull request #3973 from ostcar/test_with_redis
add possebility to run tests with redis
2018-11-03 20:54:55 +01:00
Oskar Hahn
f4f3ab9c49
Merge pull request #3972 from ostcar/websocket_use_restricted_data
Fix error, that user get full_data when restricted_data_cache was enabled
2018-11-03 20:53:52 +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
d11c7bbad7 add possebility to run tests with redis 2018-11-03 16:59:21 +01:00
Oskar Hahn
6480f1cee9 Fix error, that user got full_data when restricted_data_cache was enabled 2018-11-03 14:37:47 +01:00
Oskar Hahn
b97e643b33 Fix error on to big change id on websocket connection 2018-11-02 05:12:20 +01:00
FinnStutzenstein
e59497bc54
Setting change recommendations internal 2018-10-29 20:33:40 +01:00