Commit Graph

473 Commits

Author SHA1 Message Date
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
Oskar Hahn 7171a71919 angular single page application 2015-02-05 23:06:09 +01:00