Commit Graph

474 Commits

Author SHA1 Message Date
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
Norman Jäckel
51455e8563 Merge pull request #1539 from ostcar/delete_old_stuff
Delete old stuff.
2015-06-16 17:32:38 +02:00
Oskar Hahn
fbf7d0e43d Remove old thinks not needed for the 2.0 release:
* django templates
* widgets
* views
* mppt
* main_menu
* projector 1.x api

Sorted all imports
Add a ending slash to each url with a redirect view
2015-06-16 17:07:39 +02:00
Emanuel Schuetze
ea908419be Fixed FileFinder importer for plugin detection in portable.
Updated setuptools version for openslides-gui.
2015-06-16 10:38:54 +02:00
Norman Jäckel
5813b8341c Added permission check for objects required for active projector elements. 2015-06-15 18:22:15 +02:00
Norman Jäckel
ccaa1eaf27 Added create, updated and destroy view for assignment polls. 2015-06-14 23:26:06 +02:00
Norman Jäckel
dc7d27a985 Added REST API for projector. Introduced new projector API.
Added custom slide projector element class.
Added welcome slide as custom slide.
Added user slide projector element class.
Added clock, countdown ans message projector elements.
Renamed SignalConnectMetaClass classmethod get_all_objects to get_all (private API).
Added migrations to core app.
Fixed and wrote tests.
Updated CHANGELOG.
2015-05-29 12:44:25 +02:00
Norman Jäckel
b30afbd635 Added several motion REST API views.
Added motion creation view, motion update view, version permit and delete view, view to support motions, view to set and reset state. Refactored motion submitters and supporters.
2015-05-13 12:22:50 +02:00
Oskar Hahn
9f93208afd Merge pull request #1512 from normanjaeckel/AssignmentRESTAPIChanges
Assignment REST API changes
2015-04-19 21:26:58 +02:00
Norman Jäckel
d0dc2f8934 Set assignment phase index to zero. Added views to manage candidatures. 2015-04-19 21:20:39 +02:00
Oskar Hahn
505e587d6f Send tree for agenda items 2015-04-17 16:46:13 +02:00
Norman Jäckel
9b369e1afc Changed development settings path.
Settings and user data live now at development/var/.
Move your existing directory or create new settings and database.
2015-03-06 16:43:13 +01:00
Oskar Hahn
cfdabfbb40 Added utils.views.CSRFMixin to append the csrf token to a view
Fixes: #1476
2015-02-17 20:09:09 +01:00
Oskar Hahn
1969416e64 Implemented auth via AngularJS
Also added the derective osPerms to check if the current user has permissions.
Removed old Django views and urls for user.
Created utils.views.APIView which should be used instead of the AjaxView.

Fixes: #1470
Fixes: #1454
2015-02-16 11:42:48 +01:00
Norman Jäckel
3a19218bd5 Refactored parts of users app.
Refactored user creation and update via REST API. Used new serializer.
Cleaned up management commands, signals and imports. Moved code from 'api.py' to 'models.py'.
Changed usage of group 'Registered'. Now the users don't have to be members to gain its permissions. Used customized auth backend for this.
Added and changed some tests.
2015-02-14 02:29:53 +01:00
Norman Jäckel
87cd31f6a5 Updated ViewSets to Django REST Framework 3.0.5. Refactored imports from openslides/utils/rest_api.py for better overriding them later.
Fixed #1450. Updated requirements.
2015-02-12 19:19:44 +01:00