Commit Graph

589 Commits

Author SHA1 Message Date
Oskar Hahn
92a39a3fc6 support python 3.7
fix new pep8 stype
2018-08-08 21:46:56 +02:00
Oskar Hahn
acceeff8f8 * Update python requirements
* drop python 3.4
2018-08-07 15:23:11 +02:00
FinnStutzenstein
9e4cafd0f0 Custom workflows and states:
- Added new workflow list view
 - Added state table for each workflow
 - Added new StateViewSet to handle states of workflows
2018-07-13 10:29:06 +02:00
FinnStutzenstein
252ba02e86 Scroll projector to a given line 2018-06-12 13:02:22 +02:00
FinnStutzenstein
2989024cca Delete restricted data cache on permission changes (closes #3396) 2018-05-16 10:59:00 +02:00
FinnStutzenstein
83edfc2af0 Remove projector from projector-all 2018-04-24 11:20:15 +02:00
FinnStutzenstein
10038b782f One request for each projection. Added some validation for clear_elements and prune_elements 2018-04-24 10:23:28 +02:00
Emanuel Schütze
ba579637bd
Merge pull request #3684 from FinnStutzenstein/fixMypy
Fixed mypy for utils/migration.py
2018-04-05 09:02:05 +02:00
FinnStutzenstein
23a7481277 Fixed mypy for utils/migration.py. 2018-04-04 15:47:13 +02:00
Emanuel Schütze
0710af827e
Merge pull request #3600 from ostcar/cache-api
Cache api
2018-04-04 13:41:27 +02:00
FinnStutzenstein
ad5c81a3db fixed indentions and wrong line breaks in pdf, remove every tab in html (fixes #3678) 2018-03-25 11:10:17 +02:00
FinnStutzenstein
b081401d57 Adding new permission to groups during migration from 2.1.1 to 2.2 2018-03-12 14:11:20 +01:00
FinnStutzenstein
aacdc29394 Added --no-template-caching 2018-03-05 11:55:15 +01:00
Oskar Hahn
5aa8f6193e Add methods to delete the restricted_data_cache 2018-02-24 18:04:32 +01:00
Oskar Hahn
c47d054c67 Activate the restricted_data_cache again.
restricted_data_cache.update_element(...) only adds an element to the cache, when
there are already other elements in the cache. So then add_element is never used,
the cache is never created.
2018-02-24 16:57:18 +01:00
Oskar Hahn
6c3ae7cb4e fix mypy 2018-02-24 16:38:17 +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
Emanuel Schütze
9c4a8cc7fc
Merge pull request #3539 from normanjaeckel/BundleAutoupdate
Added autoupdate bundle middleware.
2018-01-26 15:23:32 +01:00
Norman Jäckel
d381ca36dd Added autoupdate bundle middleware. 2018-01-25 23:09:28 +01:00
FinnStutzenstein
60b6ef1415 Repair the master 2018-01-23 14:02:16 +01:00
FinnStutzenstein
5e089bfcdc Preparations for the SAML plugin; Fixed caching of main views. 2018-01-21 11:54:01 +01:00
Norman Jäckel
aaeb85db61 Split send_data channel into send_data_projector and send_data_site for projector prioritization. Fixed #3426. 2018-01-20 11:07:28 +01:00
Emanuel Schütze
2fe1218fbb
Merge pull request #3503 from FinnStutzenstein/emailTest
Send invitation emails
2017-12-15 08:29:09 +01:00
FinnStutzenstein
2220112d27 Send invitation emails with OpenSlides login. 2017-12-15 08:16:29 +01:00
Norman Jäckel
912876c895
Merge pull request #3505 from FinnStutzenstein/legalNotice
extended the legal notice page (fixes #3504)
2017-12-11 21:49:00 +01:00
Emanuel Schütze
3d264683ff Assignment improvements
- Use ckeditor for assignment description field (e.g. for candidatures
  using html).
- Use 2 decimal places for percentage of voting results (motions/assignments)
- Allow css style attributes 'float' and 'padding'.
- Remove progress bar in election result slide to get more space (height)
  for candidate rows.
2017-12-05 14:04:35 +01:00
FinnStutzenstein
a998657923 extended the legal notice page (fixes #3504) 2017-12-05 07:55:12 +01:00
Emanuel Schütze
279c2ba796 Adds elements to restricted data cache only if cache already exists (hotfix for #3427).
Prevents corrupt cache if restricted data cache is cleared while runtime.
2017-11-12 17:39:46 +01:00
FinnStutzenstein
2ba1fe2a0f Instructions for using Nginx in big mode 2017-09-28 09:35:05 +02:00
FinnStutzenstein
5862e054e3 Naive projector prioritization 2017-09-27 14:46:16 +02:00
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
Oskar Hahn
339b3891da Fix Search on server side 2016-01-25 21:12:34 +01:00
Oskar Hahn
ccf88ec4d5 Switch host and port 2016-01-10 01:02:18 +01:00
Oskar Hahn
b968a92630 fix autoupdate when openslides runs on a other port then 8000 2016-01-10 00:17:00 +01:00
Oskar Hahn
b7d63afc91 Remove old haystack files 2016-01-09 16:50:39 +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
Oskar Hahn
75dcbab5d1 Add search on the server side. 2016-01-09 11:35:57 +01:00
Oskar Hahn
12a08b9732 New Agenda Item
Changed agenda item, so it can not be manualy created, but is always created
when a custom slide, motion or assignment is created.
2015-10-29 15:44:43 +01:00
Norman Jäckel
f8cf279d82 Added JSHint to Gulp. Split up JS-Code in users app. 2015-10-21 22:44:07 +02:00
Norman Jäckel
1e08e9411a Cleaned up users app. 2015-09-21 16:23:47 +02:00
André Böhlke
10b8a1d838 Add upload feature to mediafiles module 2015-09-17 12:35:40 +02:00
Norman Jäckel
6d76454925 Added model, serializer and viewset for chat messages. 2015-09-07 17:13:42 +02:00
Norman Jäckel
aaadfbf78e Merge pull request #1600 from normanjaeckel/Plugins
Updated plugin utils. Enabled plugins to override urlpatterns.
2015-07-25 22:29:45 +02:00
Norman Jäckel
1cf8a1f222 Updated plugin utils. Enabled plugins to override urlpatterns. 2015-07-25 21:37:03 +02:00
Oskar Hahn
89a6d5b451 Appended an _id suffix to all related field names in the rest api
Fixes #1597
2015-07-25 19:17:33 +02:00
Norman Jäckel
7e404946e4 Refactored view permissions.
Refactored permission check for REST API viewsets.
Removed old PermissionMixin.
Cleaned up several views.py files.
2015-07-05 22:17:58 +02:00
Oskar Hahn
e042c668d5 Moved config app into the core app 2015-06-29 15:15:33 +02:00
Oskar Hahn
a0f4506c35 Merge pull request #1549 from normanjaeckel/ConfigRefactoring
Refactored config API. Removed form_fields. Added extra fields for HT…
2015-06-18 23:40:23 +02:00
Oskar Hahn
a4c00d5ee3 Angular Client
* Split angular app into a site- and a projector app
* Created client slide api and slides for customslide and user
* JS-function to activate a slide
2015-06-18 23:23:34 +02:00
Norman Jäckel
c5fbe2e9ee Refactored config API.
Removed form_field attributes.
Added extra fields for HTML rendering like label and help text.
Added fields for sorting and grouping. Removed old collection system.
Added config groups to config view via OPTIONS requests.
Regrouped all variables.
Added validation. Changed internal handling.
2015-06-18 21:13:30 +02:00
Norman Jäckel
632ca2bd9a Renamed config variables. Fixed error in settings. 2015-06-17 12:07:09 +02:00