Commit Graph

509 Commits

Author SHA1 Message Date
FinnStutzenstein
178948b269 Index and Webclient View caching 2017-09-27 12:50:59 +02:00
Emanuel Schütze
6f4d122e0f Fixed two stylistic remarks. 2017-09-18 09:40:57 +02:00
Emanuel Schütze
b824e0387c Merge pull request #3390 from ostcar/rewrite_restricted_data
CollectionElement and Autoupdate cleanups to help mypy
2017-09-15 12:23:50 +02:00
Oskar Hahn
d7db714562 CollectionElement and Autoupdate cleanups
* change get_restricted_data and get_projector_data to always use a list
* Add typings to all get_restricted_data and get_projector_data methods
* Replace CollectionElementList with a real list
* Fixed arguments of inform_deleted_data
* Moved CollectionElementCache to cache.py and refactored it
* Run tests with cache enabled (using fakeredis)
2017-09-15 12:11:32 +02:00
Emanuel Schütze
4565e7e4a6 Merge pull request #3400 from FinnStutzenstein/UserAutoupdate
Autoupdates on user login (fixes #3395, fixes #3392)
2017-09-15 11:48:35 +02:00
FinnStutzenstein
16abfd0dbf Autoupdates on user login (fixes #3395, fixes #3392) 2017-09-15 10:40:04 +02:00
Oskar Hahn
faf44602cb Make RestrictedDataCache optional 2017-09-15 09:55:21 +02:00
Oskar Hahn
0978cfd5d5 Add restricted_data_cache
This replaces the startup cache
2017-09-06 18:06:57 +02:00
Oskar Hahn
b80e95a321 Rewrite projector_element without dispatch 2017-09-05 22:46:13 +02:00
Oskar Hahn
be94e97889 more typings 2017-09-03 18:34:55 +02:00
Oskar Hahn
87b889fbf2 Rewrite config to have id field 2017-08-24 15:02:42 +02:00
Oskar Hahn
9d1ebac86e Add typing (#3370)
Add typing
2017-08-23 20:51:06 +02:00
Emanuel Schütze
32c36996b0 Merge pull request #3345 from FinnStutzenstein/testData
some changes in the example data plugin
2017-08-14 10:52:45 +02:00
FinnStutzenstein
727d1341e8 some changes in the example data plugin 2017-08-14 09:56:48 +02:00
Tobias Hößl
54e067d9d9 Allow OL[start] - fixes #3339
Style
2017-08-02 21:27:12 +02:00
Emanuel Schütze
573fc4da57 Merge pull request #3267 from normanjaeckel/NewPersonalNote
Rework on personal notes.
2017-06-16 12:38:40 +02:00
Norman Jäckel
eaebeb8f06 Fixed get_projector_data impementation. Closed #3282. 2017-06-13 22:21:56 +02:00
Norman Jäckel
91d365e386 Rework on personal notes. Fixed #3262. 2017-06-13 20:58:17 +02:00
Oskar Hahn
8920ffac66 Block anonymous from websocket, if they are deactivated 2017-06-10 09:25:27 +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
Emanuel Schütze
2994f7713b Hotfix for issue #3282.
(projector autoupdate problem by deleting projected object)
2017-06-01 14:57:33 +02:00
Norman Jäckel
ebabc291c5 Refactoring of data parsing for startup and autoupdate. 2017-05-03 08:58:29 +02:00
Oskar Hahn
4963bfa7bf Changed restricted data parsing. Cached full data on startup. 2017-05-01 21:52:16 +02:00
Emanuel Schütze
dd99be5e69 Merge pull request #3221 from normanjaeckel/ChangeKeyError
Fixed error for internal function get_model_from_collection_string.
2017-04-27 15:34:39 +02:00
Norman Jäckel
4bdb06bd9b Fixed error for internal function get_model_from_collection_string. 2017-04-27 15:16:07 +02:00
Emanuel Schütze
9387f83f8a Merge pull request #3212 from normanjaeckel/Notify
Added notify system.
2017-04-27 15:07:15 +02:00
FinnStutzenstein
349505ac3d Added a warning, if another user edits the same motion. 2017-04-27 13:09:24 +02:00
Oskar Hahn
74c1cc63dc Open websocket connections immediately
Also made a performance boost to get_model_from_collection_string()
2017-04-27 12:54:16 +02:00
Norman Jäckel
bd68997a5d Added notify system. 2017-04-27 09:30:02 +02:00
Norman Jäckel
21418f632f Added support for password validation using Django or custom validators e. g. for minimum password length. 2017-04-13 16:20:38 +02:00
Norman Jäckel
14ec6c0f44 Improved autoupdate on permission change. 2017-03-06 17:42:27 +01:00
FinnStutzenstein
bcc85f9cad Autoupdate on user permission change. 2017-03-06 15:08:23 +01:00
Norman Jäckel
688b247bcc Added flag to use Geiss. Small changes for the new getgeiss command. Changed path of collected statics. 2017-03-06 14:39:55 +01:00
Oskar Hahn
e3cc592f70 Added the command getgeiss. Work on start script to use Geiss. 2017-03-06 14:39:26 +01:00
Norman Jäckel
89192236fc Added support for CamelCase to RESTModelMixin. See #2480. 2017-02-16 13:31:57 +01:00
Norman Jäckel
1a53c7c3cc Fixed write settings command for Windows portable version. Fixed #2947. 2017-02-15 17:07:59 +01:00
Oskar Hahn
26b7f2879c Let CollectionElement fail early
Fixes #2835
Fixes #2904
2017-02-12 14:15:58 +01:00
Emanuel Schütze
1230f4a29a New full text search on client-side (Fixed #2865).
Removed server-side search by whoosh.
2017-02-10 22:52:08 +01:00
Emanuel Schütze
3d60238ce1 Fixed dynamic pdf header/footer and table border (Fixed #2923).
Updated pdfmake to 0.1.25.
Fixed some pdf style issues.
Updated gulp watch task.
2017-02-03 11:33:46 +01:00
FinnStutzenstein
d55d374211 Prevent XSS-attacks (fixes #2871) 2017-01-30 21:04:41 +01:00
Emanuel Schütze
8234340a0c Merge pull request #2909 from ostcar/rework_auth
Created a function to convert anything possible to a user-collection-element or None
2017-01-26 21:42:40 +01:00
Norman Jäckel
ad937aecb3 Typos and small changes. 2017-01-26 21:35:26 +01:00
Oskar Hahn
5dcfc69ff8 Update settings.py.tpl
Also the last line of a dict should end with a ',' or with the closing }
2017-01-26 21:17:36 +01:00
Emanuel Schütze
98e6f703e1 Use custom redis prefix for asgi and cache entries.
Note: These prefix have to be unique for each OpenSlides instance!
2017-01-26 21:17:32 +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
Norman Jäckel
df60700612 Merge pull request #2882 from normanjaeckel/ChannelSendWait
Let channels' send method wait and retry if channel layer is full.
2017-01-25 16:40:43 +01:00
Oskar Hahn
44474049c3 Added docstrings 2017-01-24 15:16:29 +01:00
Oskar Hahn
fccde8de11 Changed the function has_perm to support an user id or None as the first argument.
Also fixt the case, where an anonymous user connects to the websocket connection.

Also added a function anonymous_is_enabled() to see, if the anyonmous user is enabled.

Added pip freeze to travis to see installed versions.
2017-01-24 15:16:29 +01:00
Norman Jäckel
f271d8bb47 Fixed error when running manage.py collectstatic. Fixed #2861. 2017-01-18 15:33:45 +01:00
Norman Jäckel
bb8748a506 Let channels' send method wait and retry if channel layer is full. Fixed #2353. 2017-01-15 22:01:09 +01:00
FinnStutzenstein
a6d1eeb9c3 Worked on startup process.
- fix group view on reload
2017-01-14 21:23:05 +01:00
Oskar Hahn
ebf686ef34 Send all data to the client at startup 2017-01-14 20:42:38 +01:00
Norman Jäckel
acab868c79 Quickfix for #2865. The problem is not completely solved. 2017-01-14 17:15:30 +01:00
Oskar Hahn
1dc671430a Fix channels 2017-01-13 20:53:06 +01:00
Oskar Hahn
728576d514 Performance improvements
* Add caching support to users/group
* Add a function has_perm that works with the cache.
* Removed our session backend so other session backends (without the database) can be used
2017-01-13 13:37:18 +01:00
Oskar Hahn
97b21427aa Change the way that missing cache ids are found.
This is probalby faster but in any way it maks debugging a lot easier. To go though
a big list in a for-loop is no fun at all.
2017-01-10 20:50:44 +01:00
Emanuel Schütze
41124a53ca Add new personal settings MOTIONS_ALLOW_AMENDMENTS_OF_AMENDMENTS.
Set settings value to False to disable new amendment button in motion detail
template. Default: True.
2017-01-09 14:25:28 +01:00
Emanuel Schütze
f4d468a6f6 Add new personal settings MOTION_IDENTIFIER_WITHOUT_BLANKS.
Allow to remove all whitespaces from motion identifier if settings
value is True. Default: False.
Example: "B 1 - Ä 1" -> "B1-Ä1"
2017-01-06 21:38:08 +01:00
Norman Jäckel
ad651300d9 Added settings value MOTION_IDENTIFIER_MIN_DIGITS. Solved #2696. 2016-12-01 14:41:12 +01:00
Emanuel Schütze
ff359ea629 Improved assignments and motions pdf.
Load all users in pdfmake function - not in state resolver of
assignment list.
2016-11-14 17:55:50 +01:00
Oskar Hahn
7281aa57b8 Removed old code needed be the server to serve pdf 2016-11-07 15:54:29 +01:00
Emanuel Schütze
5b544ceed2 Improve importing and sorting of users
* Add is_present field for csv import of users.
* Refactor JS functions get_full_name and get_short_name (Fixes #2136).
  - Show participant number in get_full_name() output.
  - Sort users by first or last name.
  - Extend config option to sort users.
  - Mark unused Python methods get_short_name and get_full_name.
2016-11-07 15:04:30 +01:00
Norman Jäckel
20f8875dcd Added view to follow recommendations.
for all motions of a motion block
2016-10-17 21:02:50 +02:00
Emanuel Schuetze
af10c5aa3d Fixed typo in projector autoupdate (Fixes #2492) 2016-10-07 17:02:55 +02:00
Oskar Hahn
e209dd6dfe Support to send many objects through the autoupdate system 2016-10-04 18:10:04 +02:00
Oskar Hahn
c4f6477a4d Merge pull request #2475 from normanjaeckel/FixBroadcast
Fixed broadcast. Fixed #2467.
2016-10-01 15:49:07 +02:00
Norman Jäckel
2e7555e720 Fixed broadcast. Fixed #2467. 2016-10-01 14:37:04 +02:00
Oskar Hahn
962deca506 Send full_data through the channel.
Saves db queries.
2016-10-01 13:57:53 +02:00
Oskar Hahn
97bd526dd7 Fix config cache key 2016-10-01 12:37:43 +02:00
Norman Jäckel
039795beb7 Refactored projector requirements system for autoupdate. 2016-10-01 01:49:17 +02:00
Oskar Hahn
ac9c9f4ec3 More tests, development instructions and small changes. 2016-10-01 01:48:30 +02:00
Norman Jäckel
7cd70a568c Added docstrings. Small changes. 2016-10-01 01:48:18 +02: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
Emanuel Schuetze
720c7e76a5 Hot fix for broadcast (will improved later). 2016-09-30 21:20:30 +02:00
Norman Jäckel
8427ffd816 Small changes for multiple projector feature. 2016-09-30 19:11:33 +02:00
Finn Stutzenstein
e6b9b21d41 Added support for multiple projectors. 2016-09-30 18:58:59 +02:00
Norman Jäckel
dc404d21f6 Implemented need_full_update check. Fixed #2396. 2016-09-23 14:36:26 +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
Norman Jäckel
d7936c53e3 Updated settings files. Fixed timezone support. 2016-09-16 21:17:00 +02:00
Norman Jäckel
3ea46e9dc7 Fixed autoupdate for deleted instances. Fixed #2329. 2016-08-29 16:37:53 +02:00
Norman Jäckel
aea602acb9 Merge pull request #2256 from ostcar/fix_2248
Only do an autoupdate after an ongoing transaction.
2016-08-16 00:14:15 +02:00
Oskar Hahn
ee2f6b500b Only do an autoupdate after an ongoing transaction.
This needs at least django 1.9

Fixes: #2248
2016-08-13 10:08:10 +02:00
Finn Stutzenstein
12af0256dd No crash without a browser (fixes #2249) 2016-08-09 08:22:04 +02:00
Emanuel Schütze
6cec9e9f87 Merge pull request #2251 from normanjaeckel/WooshAsync
Used whoosh.writing.AsyncWriter. See #2198.
2016-08-03 21:42:58 +02:00
Norman Jäckel
7f1b894db4 Used whoosh.writing.AsyncWriter. See #2198. 2016-08-03 16:46:52 +02:00
Norman Jäckel
f191956dd9 Fixed error in autoupdate. See #2248. 2016-08-03 16:12:52 +02:00
Oskar Hahn
fe64941aab Big Mode for OpenSlides
Uses django channels instead of tornado for the autoupdate. Therefore
tornado is nolonger a dependency of OpenSlides (but channels).

This uses websockets instead of SockJS.

Use the flag insecure in the start command to provide static files serving.

Use a new session backend that has a ForeignKey to User.
2016-06-09 11:14:39 +02:00
Oskar Hahn
2221b23447 Redesign of the config variables.
Removed the config cache and created files for each app in which the
config variables are defined.
2016-06-03 13:47:54 +02:00
Norman Jäckel
253d615755 Fixed example text in settings. 2016-05-17 14:16:44 +02: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
ca3cfae8b3 Changed name of '--development' option and name of the respective directory. Fixed #2001 2016-03-01 17:38:14 +01:00
Norman Jäckel
a2a6637c89 Rename and refactor some ProjectorElement methods. Fixed #1631. 2016-02-27 20:56:03 +01:00
Norman Jäckel
3ea4c507cf Added language header to internal server requests. Fixed #1981. 2016-02-23 23:19:38 +01:00
Norman Jäckel
dcc325c716 Fixed test plugin. 2016-02-16 23:04:26 +01:00
Norman Jäckel
d181eedeb9 Updated API for plugins. 2016-02-16 22:33:41 +01:00
Norman Jäckel
0e784cde31 Fixed problem with some REST requests during autoupdate. Fixed #1935. 2016-02-05 23:55:06 +01:00
Norman Jäckel
af0f8fcac6 Refactored logic in autoupdate.py concerning wsgi network connection variables. Fixed #1929." 2016-01-30 10:18:15 +01:00
Oskar Hahn
9292558db7 fix tornado on windows 2016-01-28 16:19:14 +01:00