Commit Graph

491 Commits

Author SHA1 Message Date
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