Commit Graph

4480 Commits

Author SHA1 Message Date
FinnStutzenstein
38486463bc delete all speakers of all lists of speakers 2020-04-23 09:43:04 +02:00
Sean
97c2299aec Implement vote weight in client
Implements vote weight in client
The user detail page has a new property
change deserialize to parse floats
change "yes"-voting to send "Y" and "0" instead of "1" and "0"
add vote weight to user list, filter, sort
add vote weight to single voting result
votesvalid and votescast respect the individual vote weight
fix parse-poll pipe and null in pdf
2020-04-22 16:54:50 +02:00
Joshua Sangmeister
42fbe93314 fixes the voting autoupdate bug 2020-04-17 16:38:38 +02:00
Emanuel Schütze
6cdf9a5582
Merge pull request #5315 from emanuelschuetze/prepare-3.2
Prepare new 3.2 release
2020-04-16 13:55:24 +02:00
Emanuel Schütze
75ebf5bc77 Prepare new 3.2 release 2020-04-16 13:41:56 +02:00
Joshua Sangmeister
6eae497abe adds more permissive html validation 2020-04-16 10:26:48 +02:00
Joshua Sangmeister
9864ff3847 fixed pseudoanonymize on client 2020-04-15 09:42:22 +02:00
FinnStutzenstein
7a97aa1b79 Cleanup for #5300 2020-04-07 09:53:16 +02:00
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