Commit Graph

206 Commits

Author SHA1 Message Date
FinnStutzenstein
38486463bc delete all speakers of all lists of speakers 2020-04-23 09:43:04 +02: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
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
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
dd66244d84 Generic relations for the repos 2019-07-30 09:07:51 +02:00
FinnStutzenstein
8ff0f73477 Optional agenda items 2019-06-17 12:38:17 +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
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
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
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
10550fe228 fix server set marked for users that already have spoken 2019-01-19 21:28:18 +01:00
Oskar Hahn
b329115007 use f-string syntax for strings 2019-01-18 17:37:36 +01:00
Oskar Hahn
eddbd86d3a Run black 2019-01-08 21:51: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
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
Finn Stutzenstein
72e3df8b65
Merge pull request #3928 from normanjaeckel/StripResponse
Strip out response.data.
2018-11-01 07:59:59 +01:00
Norman Jäckel
6441347d10 Strip out response.data. 2018-10-29 08:52:52 +01:00
Oskar Hahn
9eef4da21c remove old client 2018-10-25 16:04:28 +02:00
FinnStutzenstein
d1b52a9302 Hide Sort button in agenda (closes #3812) 2018-08-27 11:24:52 +02:00
FinnStutzenstein
1a17862d6b New item type internal.
The old hidden type was used as internal, so everything is changed to
not be shown if the item is internal. hidden is "new", and actually
behaves as hidden now.
2018-08-16 15:28:30 +02:00
FinnStutzenstein
fa5b81dad8 Protect numbering of the agenda 2018-04-13 10:09:22 +02:00
FinnStutzenstein
05d740b190 Autoupdates for all children if the item type has changed (fixes #3636). 2018-03-19 15:32:20 +01:00
FinnStutzenstein
3ba39c37c1 Agenda DOCX export, motion log message when comment edited, motion sequential number in detail view and PDF, save pagination state to session storage (fixes #3558). 2018-02-14 10:25:51 +01:00
FinnStutzenstein
5fc7dce567 Mark speakers 2018-02-13 10:32:31 +01:00
FinnStutzenstein
4472734d09 New permission for managing lists of speakers (fixes #3363) 2017-09-08 21:55:42 +02:00
Norman Jäckel
ea50971ae6 Fixes autoupdate bug for a user without user.can_see_name permission. 2017-06-07 20:55:00 +02:00
FinnStutzenstein
08bd1251a7 More speed improvements 2017-03-21 11:08:52 +01:00
Norman Jäckel
aa14ac99b3 Added check for hierarchical loops in agenda sort view. See #2972. 2017-02-17 17:20:30 +01:00
Norman Jäckel
8c53b53a9d Added server side sort view for agenda items. See #2452. 2017-02-01 14:23:59 +01:00
Oskar Hahn
2daafa8db9 Created a function to convert anything possible to a user-collectoin-element or None
Changed user.has_perm(...) to has_perm(user, ...) at any place.

Removed old code
2017-01-26 18:57:10 +01:00
Maximilian Krambach
929a7e5e89 delete list of speaker error messages (closes #2237) 2017-01-16 18:37:59 +01:00
FinnStutzenstein
3b1ab265eb Sort candidates in assignments 2016-12-19 16:03:45 +01:00
Oskar Hahn
7281aa57b8 Removed old code needed be the server to serve pdf 2016-11-07 15:54:29 +01:00
Oskar Hahn
368873e738 Adds a cache system to the CollectionElement and add
a Collection class that can be used to call a collection
used this for the list and receive rest api.
2016-09-30 21:37:52 +02:00
Oskar Hahn
6abb0976c2 Change system for autoupdate on the projector (#2394)
* Second websocket channel for the projector

* Removed use of projector requirements for REST API requests.

Refactored data serializing for projector websocket connection.

* Refactor the way that the projector autoupdate get its data.

* Fixed missing assignment slide title for hidden items.

* Release all items for item list slide and list of speakers slide. Fixed error with motion workflow.

* Created CollectionElement class which helps to handle autoupdate.
2016-09-17 22:26:23 +02:00
Maximilian Krambach
589137ece7 add "delete all speakers" button (fixes #2210) 2016-07-28 10:51:33 +02:00
Emanuel Schütze
2097121e45 Merge pull request #2030 from normanjaeckel/FixAgendaGetQueryset
Fixed get_queryset method of ItemViewSet. Fixed #2027.
2016-03-06 22:48:50 +01:00
Norman Jäckel
132c6e81ec Forwarding JSON instead of Django model instances to autoupdate loop.
- Used raw SQL for createing default projector during inital migration.
- Removed default_password and hidden agenda items from autoupdate data for some users.
- Removed old get_collection_and_id_from_url() function.
2016-03-06 14:24:53 +01:00
Norman Jäckel
4daa61888f Massive refactoring for autoupdate optimization. 2016-03-06 14:22:40 +01:00
André Böhlke
3db2f2fc16 "durchstich" for autoupdate optimization 2016-03-06 14:22:40 +01:00
Norman Jäckel
bc93b61a02 Fixed get_queryset method of ItemViewSet. Fixed #2027. 2016-03-04 11:48:20 +01:00
Norman Jäckel
7da48efd4c Fixed TypeError in agenda views. Fixed #2023. 2016-03-03 00:23:41 +01:00
Emanuel Schuetze
54b1c8e350 Show agenda titles with correct numbering 2016-01-09 14:01:30 +01:00
Oskar Hahn
4b69c57c78 Merge pull request #1789 from ostcar/update_requirements
Update requirements
2016-01-09 12:22:41 +01:00
Oskar Hahn
552998b067 Update requirements, fixt a lot of warnings
Set python 3.4 as minimal supported python version
2016-01-09 12:19:46 +01:00
Emanuel Schuetze
3304cf48c5 Sort list of speakers (Fixes #1662) 2016-01-09 09:44:01 +01:00