Commit Graph

838 Commits

Author SHA1 Message Date
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 046a152ec5 generate less queries in the autoupdate system 2020-03-17 07:24:36 +01:00
FinnStutzenstein ced40cab74 Initial work for supporting voting 2020-03-17 07:24:34 +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
FinnStutzenstein a3c97a2ccd Fix agenda item number 2019-11-13 14:00:53 +01:00
GabrielMeyer b806b8406b Fixes python3.7 tests 2019-10-29 15:05:52 +01: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 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 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
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 9518d1dab6 Small changes 2019-09-02 15:02:31 +02:00
GabrielMeyer 79e879cb6e Adds config to see a max number of next speakers
- Also updates the 'list of speakers' on the `overlay-slide`.
2019-09-02 14:03:34 +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 dd66244d84 Generic relations for the repos 2019-07-30 09:07:51 +02:00
FinnStutzenstein 56c1da352e Directories and access permissions for mediafiles 2019-07-12 13:08:07 +02:00
Emanuel Schütze 1cdfea666b Updated translations 2019-07-08 10:22:19 +02:00
GabrielMeyer 7e9190ea84 Corrects the permission-handling
- Projector-controls aren't seen, if no permission 'can_manage'
- The 'more options'-menu is removed
- New config option: Hide amount of speakers in list of speakers slide subtitle.
2019-07-08 09:27:45 +02:00
FinnStutzenstein 8ff0f73477 Optional agenda items 2019-06-17 12:38:17 +02:00
FinnStutzenstein bf9973a4a7 Subcategories 2019-06-12 14:37:19 +02:00
Emanuel Schütze 708de917e1 Updated translations 2019-05-31 11:09:31 +02:00
Maximilian Krambach 16477a4e92 filter potential speakers
- filter by those already on list
- filter by present, if configured
2019-05-27 11:40:15 +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
FinnStutzenstein e267279f60 Added custom color for the projector chyron and reset buttons for colors 2019-05-20 21:50:03 +02:00
FinnStutzenstein 10c329da8d fix tree sorting
Assigns the weight in the preorder traversal of the tree. Now one without every
object (e.g. missing motions/items) still have the correct sorting. Intorduces
the level attribute of items giving the amount of parents in the agenda. This
allows to reduce complexits in the client.
2019-05-15 14:14:32 +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 d3e98ac158 Remove unnecessary view (fixed #4549) 2019-04-02 12:11:26 +02:00
GabrielMeyer 76d760bd41 Replaces the old `angular2tree` with a custom drag&drop tree
Calculates the direction of the moving.

Finishes the moving of nodes in same level

Adds some style

Sets the padding dynamically

Adds placeholder depends on the horizontal movement

Set the placeholder at the correct place, so the user can see, where he will drop the moved node

Finishes moving of nodes

- Old parents change their option to expand.
- New parents change their option to expand.
- If the user moves a node between nodes with a higher level, the node will be moved to the next index with same or lower level.

Fixes the visibility of moved node

- If the new parent is not visible, the moved node will not be seen.

If the user moves an expanded node, the new parent should expanded, too, if it's not already.

Sending successfully data to the server

- Sorting the items

Handles moving nodes between parent and children

- If the user moves a node between a parent and its children, the children will be relinked to the moved node as their new parent.

Replaces the old `sorting-tree` to a new one

- The new `sorted-tree` replaces the old `sorting-tree`.
- The old package `angular-tree-component` was removed.
- The user will only see the buttons to save or cancel his changes, if he made changes.
- The buttons, that do not work currently, were removed.

Adds a guard to check if the user made changes.

- If the user made changes but he has not saved them, then there is a dialog that will prompt to ask for confirmation.

Before cancelling the changes the user has to confirm this.
2019-03-19 13:19:35 +01:00
FinnStutzenstein 887c1a3516 Fallback to id when sorting the agenda 2019-03-08 11:59:07 +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
Maximilian Krambach 44d16eb244 countdown: new title field, description optional 2019-03-01 11:22:09 +01:00
FinnStutzenstein 85903dbb44 Hotfix for #4408 2019-02-28 09:09:32 +01:00
FinnStutzenstein f039293c09 current speaker chyron 2019-02-26 21:56:59 +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
Norman Jäckel 6585c072ae Fixed permission check for hidden and internal items. 2019-02-19 14:04:49 +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
Maximilian Krambach 10550fe228 fix server set marked for users that already have spoken 2019-01-19 21:28: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 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
Oskar Hahn b329115007 use f-string syntax for strings 2019-01-18 17:37:36 +01:00
Oskar Hahn a0f554674b New projector system. Add first slides 2019-01-12 21:21:43 +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
FinnStutzenstein 80fce9a173 prevalidate agenda items on assign 2018-11-29 08:42:16 +01:00