Commit Graph

4472 Commits

Author SHA1 Message Date
Joshua Sangmeister
b7b8620153 removed race condition & cleanup 2020-04-07 07:27:54 +02:00
FinnStutzenstein
7882ea1a25 Added vote weight and fixed named voting 2020-04-07 07:27:54 +02:00
Finn Stutzenstein
83d57e9da7
Merge pull request #5290 from FinnStutzenstein/redisWaitForReplication
Redis: Wait for replication on writes
2020-04-01 13:32:11 +02:00
FinnStutzenstein
bb2f958eb5 Redis: Wait for replication on writes
Since channels_redis does not support dedicated read-redis instances, the
autoupdate message may be received before the data was replicated. All workers
read the autoupdate message from the write host, so there is a race between
getting this message and a finished replication. For large payloads, the
replication is slower in the most cases (even more in a distributed setup, where
the master and replica are on different nodes). The easy way is to wait for
replication. But there is one difficulty: The number of replicas has to be
known. There is a new settings-variable "AMOUNT_REPLICAS" which defaults to 1.
It needs to be set correctly! If it is too high, every autoupdate will be
delayed by 1 seconds because of a timeout witing for non-existent replicas. If
it is too low, some autoupdates may be wrong (and not detectable by the client!)
becuase of reading from non-synchronised relicas.

The other possibility is to fork channel_redis and add the feature of a
read-only redis. This ould help, because on a single redis instance all commands
are ordered: First, the data is synced, then the autoupdate message. Attention:
This means, if redis-replicas are scaled up, one must make sure to read from the
same instance. I think this is not possible in the way how dockers overlay
networks work. The only way would be to open one connection and reuse the
connection from channels_redis in OpenSlides. This would mean a heavy
integration of channels_redis (meaning including the source code in our repo).

For the first fix, this one is easy and should work.
2020-04-01 13:09:48 +02:00
Emanuel Schütze
4419e76223
Merge pull request #5289 from FinnStutzenstein/fixMissingMigrations
Added missing migrations
2020-03-30 11:16:38 +02:00
FinnStutzenstein
3be28ec50a Added missing migrations 2020-03-30 10:58:42 +02:00
Emanuel Schütze
baa1787189 Updated Translations 2020-03-30 10:57:10 +02:00
Sean
39ccfe3147 Add set present toggle in user menu
adds a "is present" toggle to the user menu
Refactor user menu into own component
Add a config variable to determine if the user is allowed
to set themselve as present
2020-03-30 09:57:57 +02:00
FinnStutzenstein
123df7660f Changed the default projector aspect ratio to 16:9 on initial database creation 2020-03-24 12:09:11 +01:00
Emanuel Schütze
5a6d2d2e42 Updated translations 2020-03-20 17:19:12 +01:00
Sean
072ec937a1 Rework assignment poll slide
Reworked assignment poll slide
and refactored the assignment poll detail table
into an own component
2020-03-20 16:53:31 +01:00
FinnStutzenstein
64f2720b1a Last changes and cleanup some todos 2020-03-17 07:24:50 +01:00
Emanuel Schütze
d15c9892ed Updated translation strings and German translation. 2020-03-17 07:24:49 +01:00
Sean Engelhardt
ee4c6aa0bf Even more voting refinement
Various additional refinements for a more well rounded
voting experience
2020-03-17 07:24:49 +01:00
FinnStutzenstein
a05662a0f8 Show global votes in the single votes table 2020-03-17 07:24:49 +01:00
Sean Engelhardt
3c36441967 Add global no and abstain to form
Minur UI changes
Minor Chart enhancements
Server Changes
2020-03-17 07:24:48 +01:00
Sean Engelhardt
8fe5a0c9f4 Rework assignment voting
- Remove "assignments.can_manage_polls" permission
- Let the client handle some user errors
- Add a send button to manually submit polls
- Show a hint that the user already submitted a vote
  - will not (and should not) work for non-nominal voting
- submitting a vote cannot be changed anymore
  - user will have to confirm sending
- enable deselecting YNA-votings
- nomainal voting will behace the same as non nominal voting
- submitting empty votes should be possible

Perhaps server side adjustments might still be required
2020-03-17 07:24:48 +01:00
Sean Engelhardt
61b7731073 Enhance charts and tables for assignments
Also some various improvements
2020-03-17 07:24:48 +01:00
FinnStutzenstein
e2feeb4b65 Fixed pseudoanonymous voting for motions 2020-03-17 07:24:47 +01:00
Joshua Sangmeister
72678770bb table update on pseudoanonymize, view base classes for votes and
options, renaming for assignment percent bases
2020-03-17 07:24:46 +01:00
Joshua Sangmeister
82c8ade0ba adds all user that voted to required users for single votes table 2020-03-17 07:24:46 +01:00
Emanuel Schütze
2d13519c35 Updated voting strings for translation 2020-03-17 07:24:46 +01:00
Sean Engelhardt
97a5bb4aa6 Cleanup Voting, enhance UI and UX
removed certain unnecesary fields
cleaned up a lot of code
redone some of the UI
some database and server adjustments
2020-03-17 07:24:45 +01:00
Joshua Sangmeister
7598fc5367 Fixed the numbering of assignment candidates for projector and PDF 2020-03-17 07:24:45 +01:00
Joshua Sangmeister
b48ca8c434 added chart projection for polls 2020-03-17 07:24:45 +01:00
Sean Engelhardt
6ba0d0c5e6 Client side changes 2020-03-17 07:24:44 +01:00
FinnStutzenstein
0b37c5a857 WIP: Partial requests 2020-03-17 07:24:44 +01:00
Sean Engelhardt
6044c63c28 Enhance Assignment Voting
- repaired the PDF Service for ballots
- fixed some permission errors
- analog voting has no "started" option anymore
- more-link as button
- named voting has a progress bar
- Shows the poll type for eVoting
- Moves and declutters meta info
- Enhance the grid and the layout in detail view
- declutter and enhance the dot-menus
- some other layout changes
- remove breadcrumbs in assignment detail
- other cleanups refinements
- Voting in Assignment over instead of forms
(requires more server changes)
2020-03-17 07:24:43 +01:00
Sean
524a97cdcc Enhance voting
- cleaned up a lot of code
- removed required majotiry from forms
- renamed verbose "Majority method" to "Required majority"
- poll-progress-bar only counts present user
- enhanced motion poll tile chart layout
- removed PercentBase.Votes
- added pollPercentBase pipe
- Show the voting percent next to chart in motion detail
- change the head bar to "Voting is open"
  and "Ballot is open"
- merged the voting configs to their corresponding config-categories
- re-add ballot paper configs
- Add "more" button to motion polls
- Adjusted the motion results table
  - Hide entries without information
  - Show icons for Y N A
  - Show percentage next to Y N A
2020-03-17 07:24:43 +01:00
Joshua Sangmeister
df1047fc76 various improvements for polls 2020-03-17 07:24:42 +01:00
Joshua Sangmeister
bc54a6eb46 improved 'votes' pollmethod 2020-03-17 07:24:42 +01:00
Joshua Sangmeister
b16afaa285 number poll candidates depending on setting 2020-03-17 07:24:40 +01:00
FinnStutzenstein
e2585fb757 Projector for polls: Server, client structure and data modeling 2020-03-17 07:24:40 +01:00
Sean Engelhardt
84a39ccb62 More voting UI improvements
For Motion poll:
- Overworked how motion poll chart displays the legend
- Added the vote counter to the motion detail
- Added a progress bar to the vote counter
- Fixed some perm errors with the chart
- Show a "Singe Votes" link as button for published named polls
- Replace the edit-button with a dot-menu
  - Having project, Edit, PDF and Delete

For Motion Poll detail:
- enhance search panel
- Remove the breadcrumbs
- Remove the vote counter
- Enhanced the single-vote grid, table and filter bar
- Enhance how the poll state enum was checkend

For the Motion Poll Create/Update Form:
- Remove the selection of poll-methode (whenever possible)
- only show "publish imediately" during creation
2020-03-17 07:24:40 +01:00
Joshua Sangmeister
682db96b7c added vote per user table and progress for polls
added update for options after stopping a poll
2020-03-17 07:24:39 +01:00
FinnStutzenstein
7ab5346198 disable caching for reverse relations 2020-03-17 07:24:39 +01:00
Joshua Sangmeister
e67ca77ad1 default motion poll method set, changed permission from 'can_manage_metadata' to 'can_manage' 2020-03-17 07:24:39 +01:00
GabrielMeyer
96aa3b0084 Adds the chart and dialog for analog voting 2020-03-17 07:24:38 +01:00
jsangmeister
72ff1b1f09 api changes to allow some edits on finished polls 2020-03-17 07:24:38 +01:00
FinnStutzenstein
fafb81daca Fix assignment access permissions
Also improves unnecessary history-savings of users in the list of speakers
2020-03-17 07:24:37 +01:00
FinnStutzenstein
b50cf42543 Prevent stopping an analog poll
Fixed too much logging with the new autoupdate bundling
2020-03-17 07:24:37 +01:00
jsangmeister
90b04366b5 added option to number poll cadidates 2020-03-17 07:24:37 +01:00
jsangmeister
1b761d31c0 added tests for user creation and try-catch for a probably race-based IntegrityError 2020-03-17 07:24:36 +01:00
jsangmeister
09ef3c5071 add settings variable ENABLE_ELECTRONIC_VOTING 2020-03-17 07:24:36 +01:00
FinnStutzenstein
046a152ec5 generate less queries in the autoupdate system 2020-03-17 07:24:36 +01:00
jsangmeister
6605934a33 added count query decorator 2020-03-17 07:24:35 +01:00
FinnStutzenstein
1246dd54ad majorities in polls 2020-03-17 07:24:35 +01:00
jsangmeister
5fa8341614 added testing for named and pseudoanonymous assignment voting
added queries count tests for assignment and motion polls and votes
2020-03-17 07:24:35 +01:00
FinnStutzenstein
ce171980e8 Relations in the client 2020-03-17 07:24:34 +01:00
FinnStutzenstein
ced40cab74 Initial work for supporting voting 2020-03-17 07:24:34 +01:00
FinnStutzenstein
219103129d Export mediafiles to the media service 2020-02-26 15:15:45 +01:00
FinnStutzenstein
7204d59d66 [WIP] External postgres as mediafile store 2020-02-17 14:38:32 +01:00
Sean Engelhardt
a161bca028 Show final state in Motion PDF toc
Renamed the option
"Show submitters and recommendation in table of contents"
to
"Show submitters and recommendation/state in table of contents"
If the option is selected, the PDF-TOC for motions will print
the name of the current state (if final) rather than the
current recomendation
2020-01-29 14:28:56 +01:00
Emanuel Schütze
7a23139f5e
Merge pull request #5168 from FinnStutzenstein/validateHtml
Validate Config HTML
2020-01-08 13:36:17 +01:00
Sean Engelhardt
5f8e64140a Fix group creation
Fixes an error that was preventing groups from being created.
Groups did require a list of permissions which is now optional
2020-01-08 10:46:11 +01:00
Emanuel Schütze
b3c98dd207 Added optional argument '--email' for createopenslidesuser command. 2020-01-05 15:17:09 +01:00
FinnStutzenstein
a35fa105ed Validate Config HTML 2020-01-04 16:58:11 +01:00
Emanuel Schütze
ac4174c391 Update version to 3.1.1-dev 2019-12-13 09:39:42 +01:00
Emanuel Schütze
32dfba0d5c Release 3.1 2019-12-13 09:39:11 +01:00
Emanuel Schütze
9e81e6145f Rename config option to show meta box below title on projector. 2019-12-09 16:32:46 +01:00
Sean Engelhardt
c9cf99d0e4 Add leftover changes for 3.1
Adds various changes for a more complete 3.1 release

- cleaner "current slide" description in projector detail (grid with ellipsis)
- show the previously projected slides as ordered lists under the accordion
- fix a bug where everyone could access the projection manage view (although it was unfunctional without the correct permissions)
- assignment list now uses the correct ellipsis
- fixes a bug where the lable "list of speakers" was not translated on the projector slide
- Show a lock on the "list of speaker"-slide if it has been closed
- enable dialog tests that have previously been disabled
2019-12-09 15:00:32 +01:00
Emanuel Schütze
e2630faead
Merge pull request #5149 from FinnStutzenstein/deleteUsersWithWSConnection
Fixed late autoupdates with deleted users
2019-12-09 10:41:59 +01:00
FinnStutzenstein
cc4ca61964 Adding a second optional redis for read only accesses 2019-12-03 12:30:31 +01:00
FinnStutzenstein
f7cdfb7c02 Locking service and locks the history build process (fixes #4039) 2019-12-03 12:14:49 +01:00
FinnStutzenstein
0d38b784bc Fixed late autoupdates with deleted users 2019-11-29 13:15:20 +01:00
Finn Stutzenstein
8f9e3a2b03
Merge pull request #5145 from jsangmeister/unique-error-fix
Error handling for race-based integrity errors
2019-11-26 14:07:34 +01:00
jsangmeister
f2dd8ebdd9 try-catch for race-based integrity errors 2019-11-26 11:49:06 +01:00
Emanuel Schütze
1b40cd74e0
Merge pull request #5141 from tsiegleauq/custom-projector-resolution
Custom aspect ratio for projector
2019-11-26 11:42:35 +01:00
Emanuel Schütze
7454540b67
Merge pull request #5123 from FinnStutzenstein/fixMediafiles
Fixed mediafiles
2019-11-26 09:31:52 +01:00
FinnStutzenstein
e416117b11 Fixed mediafiles 2019-11-26 09:11:18 +01:00
FinnStutzenstein
7a18396a78 Fixed little logging mistake 2019-11-25 06:38:42 +01:00
Sean Engelhardt
ff90f9490c Add custom aspect ratio for the projector
Change the client to accept aspect ratios like:
4:3, 16:9, 16:10 or custom over a textfield

Change server to accept aspect ratios and dropped height
2019-11-22 16:41:28 +01:00
Emanuel Schütze
55cdc364f1
Merge pull request #5121 from FinnStutzenstein/htmlValidation
Added html validation for users and personal notes
2019-11-13 14:45:26 +01:00
Emanuel Schütze
da3af834af
Merge pull request #5135 from FinnStutzenstein/fixAgendaItemNumber
Fix agenda item number
2019-11-13 14:36:19 +01:00
FinnStutzenstein
a3c97a2ccd Fix agenda item number 2019-11-13 14:00:53 +01:00
FinnStutzenstein
427b17a3e9 Fixed wrong permission/auth check for set password 2019-11-11 07:07:19 +01:00
FinnStutzenstein
c54e2621f2 Added html validation for users and personal notes 2019-11-08 15:39:18 +01:00
Emanuel Schütze
d286378524
Merge pull request #5104 from jsangmeister/csv-import-fix
Fixed CSV import
2019-11-06 11:03:08 +01:00
jsangmeister
0922f0de3f fixed csv import 2019-11-06 10:43:56 +01:00
jsangmeister
fa95859b61 change 'default' to 'reference' projector 2019-11-05 09:47:05 +01:00
jsangmeister
96ac370f61 added a view to change the reference projector in one api call 2019-11-01 10:56:59 +01:00
Emanuel Schütze
5305b52dba Use horizontal meta box ('pdf style table') for motion slide 2019-10-30 13:18:40 +01:00
GabrielMeyer
b806b8406b Fixes python3.7 tests 2019-10-29 15:05:52 +01:00
Finn Stutzenstein
62e5774c8d
Merge pull request #4878 from FinnStutzenstein/moveConfigData
Reworked config
2019-10-21 14:13:02 +02:00
FinnStutzenstein
cf7a5ce714 Reworked config
- Move config meta data into REST
- seperate views for config groups
2019-10-21 13:45:06 +02:00
FinnStutzenstein
4a77bf1a61 saml 2019-10-21 13:34:01 +02:00
FinnStutzenstein
3f41890541 Fixed typing from parse_qs 2019-10-18 14:41:55 +02:00
GabrielMeyer
1354fc74ef Editing state and recommendation in motion-list
- In the info-dialog opening in the motion-list the user can update the current state and the recommendation for one motion.
2019-10-16 15:58:47 +02:00
Finn Stutzenstein
2f01e46415
Merge pull request #5073 from FinnStutzenstein/ws404
Closing websocket connections to unknown urls
2019-10-16 12:04:59 +03:00
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
FinnStutzenstein
e4c4bc0aa0 Closing websocket connections to unknown urls 2019-10-15 10:54:31 +02:00
FinnStutzenstein
9ae66fb33b Logs notify messages on server 2019-10-04 11:58:07 +02:00
GabrielMeyer
c8d02788dc Enhances the autoupdate of projector by change-id 2019-10-02 16:30:30 +02:00
GabrielInTheWorld
1dc96b0f2f
Merge pull request #5002 from GabrielInTheWorld/coolestAgenda
Build agenda with optional subtitle
2019-09-30 10:51:55 +02:00
Emanuel Schütze
1ff616fe4f Allow <del> and <ins> html tags. 2019-09-24 12:53:15 +02:00
GabrielMeyer
71fdc28413 Build agenda with optional subtitle
- Updates the `virtual-scroll`-package.
- Updates the `list-view-table.component` for variable row-height.
- Adds config to have optional a subtitle in the `agenda-list`.
2019-09-24 11:15:28 +02:00
Emanuel Schütze
b9fe0c39cf
Merge pull request #5044 from FinnStutzenstein/isSubmitterForAnonymous
Fixed submitter check for anonymous users
2019-09-23 17:27:25 +02:00
FinnStutzenstein
1ed613629e Added autoupdate for changed projectiondefaults 2019-09-23 16:51:20 +02:00
FinnStutzenstein
e8dec048ef Fixed submitter check for anonymous users 2019-09-23 10:12:15 +02:00