Commit Graph

835 Commits

Author SHA1 Message Date
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
Norman Jäckel
cfd5cf3c7e Added viewpoint to assign multiple items to a new parent item. 2018-11-27 23:46:41 +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