From 0752d476e437942ab2bd39e55d2ab36993155f9a Mon Sep 17 00:00:00 2001 From: Oskar Hahn Date: Thu, 31 Oct 2013 10:01:19 +0100 Subject: [PATCH] Change to MIT Licence * Remove headers * Changed lineendings to linux style in AUTHORS and CHANGELOG --- AUTHORS | 32 +- CHANGELOG | 611 +++++++++--------- LICENSE | 360 +---------- README.rst | 6 +- extras/benchmark/bench.py | 7 - extras/openslides_gui/gui.py | 2 + extras/scripts/export_list_of_speakers.py | 1 - extras/scripts/test_data.py | 1 - extras/win32-portable/licenses/openslides | 352 +--------- extras/win32-portable/prepare_portable.py | 4 - fabfile.py | 6 - manage.py | 6 - openslides/__init__.py | 5 - openslides/__main__.py | 9 - openslides/account/views.py | 10 - openslides/agenda/__init__.py | 12 - openslides/agenda/forms.py | 10 - openslides/agenda/models.py | 10 - openslides/agenda/search_indexes.py | 2 + openslides/agenda/signals.py | 10 - openslides/agenda/slides.py | 10 - openslides/agenda/urls.py | 10 - openslides/agenda/views.py | 10 - openslides/assignment/__init__.py | 10 - openslides/assignment/forms.py | 10 - openslides/assignment/models.py | 10 - openslides/assignment/search_indexes.py | 2 + openslides/assignment/signals.py | 10 - openslides/assignment/slides.py | 10 - openslides/assignment/urls.py | 10 - openslides/assignment/views.py | 10 - openslides/config/api.py | 10 - openslides/config/exceptions.py | 10 - openslides/config/middleware.py | 10 - openslides/config/models.py | 10 - openslides/config/signals.py | 10 - openslides/config/urls.py | 10 - openslides/config/views.py | 10 - openslides/core/__init__.py | 10 - openslides/core/management/commands/syncdb.py | 10 - openslides/core/signals.py | 10 - openslides/core/templatetags/tags.py | 10 - openslides/core/urls.py | 10 - openslides/core/views.py | 10 - openslides/global_settings.py | 10 - openslides/mediafile/forms.py | 10 - openslides/mediafile/models.py | 10 - openslides/mediafile/search_indexes.py | 2 + openslides/mediafile/urls.py | 10 - openslides/mediafile/views.py | 10 - openslides/motion/__init__.py | 11 - openslides/motion/csv_import.py | 10 - openslides/motion/exceptions.py | 10 - openslides/motion/forms.py | 10 - openslides/motion/models.py | 13 - openslides/motion/pdf.py | 10 - openslides/motion/search_indexes.py | 2 + openslides/motion/signals.py | 10 - openslides/motion/slides.py | 10 - openslides/motion/urls.py | 10 - openslides/motion/views.py | 12 - openslides/participant/__init__.py | 10 - openslides/participant/api.py | 10 - openslides/participant/forms.py | 10 - openslides/participant/middleware.py | 10 - openslides/participant/models.py | 10 - openslides/participant/search_indexes.py | 2 + openslides/participant/signals.py | 10 - openslides/participant/slides.py | 10 - openslides/participant/urls.py | 10 - openslides/participant/views.py | 10 - openslides/poll/forms.py | 10 - openslides/poll/models.py | 10 - openslides/poll/views.py | 10 - openslides/projector/__init__.py | 10 - openslides/projector/api.py | 10 - openslides/projector/forms.py | 10 - openslides/projector/models.py | 10 - openslides/projector/projector.py | 10 - openslides/projector/signals.py | 10 - openslides/projector/slides.py | 10 - openslides/projector/urls.py | 10 - openslides/projector/views.py | 10 - openslides/urls.py | 10 - openslides/utils/auth/AnonymousAuth.py | 10 - openslides/utils/auth/__init__.py | 5 - openslides/utils/csv_ext.py | 10 - openslides/utils/exceptions.py | 10 - openslides/utils/forms.py | 10 - openslides/utils/jsonfield/fields.py | 2 + openslides/utils/main.py | 10 - openslides/utils/models.py | 10 - openslides/utils/pdf.py | 10 - openslides/utils/person/__init__.py | 10 - openslides/utils/person/api.py | 10 - openslides/utils/person/forms.py | 10 - openslides/utils/person/models.py | 10 - openslides/utils/person/signals.py | 10 - openslides/utils/signals.py | 10 - openslides/utils/template.py | 10 - openslides/utils/test.py | 10 - openslides/utils/tornado_webserver.py | 8 - openslides/utils/utils.py | 10 - openslides/utils/views.py | 10 - setup.py | 10 +- tests/account/test_widgets.py | 8 - tests/agenda/test_list_of_speakers.py | 7 - tests/agenda/tests.py | 10 - tests/assignment/test_models.py | 8 - tests/assignment/test_views.py | 8 - tests/config/test_config.py | 8 - tests/core/test_template_tags_filters.py | 8 - tests/core/test_views.py | 8 - tests/forms/test_clean_html.py | 7 - tests/mediafile/tests.py | 10 - tests/motion/test_csv_import.py | 8 - tests/motion/test_models.py | 8 - tests/motion/test_views.py | 8 - tests/participant/test_models.py | 8 - tests/participant/test_umlaut_user.py | 8 - tests/participant/test_utils.py | 8 - tests/participant/test_views.py | 8 - tests/person_api/__init__.py | 10 - tests/person_api/tests.py | 10 - tests/projector/test_api.py | 8 - tests/projector/test_views.py | 10 - tests/projector/test_widgets.py | 10 - tests/utils/test_main.py | 8 - tests/utils/test_utils.py | 10 - tests/utils/test_views.py | 10 - 130 files changed, 379 insertions(+), 2100 deletions(-) diff --git a/AUTHORS b/AUTHORS index 52d204a63..6b866f6cd 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,16 +1,16 @@ -Authors of OpenSlides in chronological order of first contribution: - - Emanuel Schütze - Oskar Hahn - Norman Jäckel - René Köcher - Andy Kittner - Moira Brülisauer (French translation) - Alexis Roussel (French translation) - Stefan Frauenknecht - Roland Geider - Tobias Hößl - Pavel Fric (Czech translation) - Max Brauer - Marco A.G.Pinto (Portuguese translation) - Dominik Breu +Authors of OpenSlides in chronological order of first contribution: + + Emanuel Schütze + Oskar Hahn + Norman Jäckel + René Köcher + Andy Kittner + Moira Brülisauer (French translation) + Alexis Roussel (French translation) + Stefan Frauenknecht + Roland Geider + Tobias Hößl + Pavel Fric (Czech translation) + Max Brauer + Marco A.G.Pinto (Portuguese translation) + Dominik Breu diff --git a/CHANGELOG b/CHANGELOG index 799c8441b..aa0a5b6a1 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,305 +1,306 @@ -========================= - CHANGELOG of OpenSlides -========================= - -http://openslides.org - -Version 1.5 (unreleased) -======================== -[https://github.com/OpenSlides/OpenSlides/issues?milestone=10] - -Projector: -- New feature: Show PDF presentations on projector (with included pdf.js). -- Improved projector update process via new websocket API (using sockjs and tornado). -- New projector template with twitter bootstrap. -- Improved projector zoom and scroll behaviour. -Agenda: -- New config option: couple countdown with list of speakers. -- Use HTML editor (CKEditor) for agenda item text field. -Motions: -- Enabled attachments for motions. -Elections: -- Refactored assignment app to use class based views instead of functions. -Participants: -- Updated access data PDF: WLAN access (with QRCode for WLAN ssid/password) - and OpenSlides access (with QRCode for system URL), printed on a single A4 page - for each participant. -Other: -- Full text search integration (with Haystack and Whoosh). -- New start script with new command line options (see python manage.py --help) -- Fixed keyerror on user settings view. -- New messages on success or error of many actions like creating or editing objects. -- Added feature to config app to return the default value for a key. -- Cleaned up OpenSlides utils views. -- Improved README (now with install instructions and used components). -- Updated all required package versions. -- Used flake8 instead of pep8 for style check, sort all import statements with isort. -- Added Portuguese translation (Thanks to Marco A.G.Pinto). - - -Version 1.4.2 (2013-09-10) -========================== -[https://github.com/OpenSlides/OpenSlides/issues?milestone=12] - -- Used jQuery plugin bsmSelect for better form elements. +- New config option to disable paragraph numbering in motion pdf. (Default value: disabled.) +- Removed max value limitation in config field 'motion_min_supporters'. +- Removed supporters signature field in motion pdf. +- Fixed missing creation time of motion version. Show now string if identifier is not set (in widgets and motion detail). +- Fixed error when a person is deleted. +- Fixed deleting of assignments with related agenda items. +- Fixed wrong ordering of agenda items after order change. +- Fixed error in portable version: Open browser on localhost when server listens to 0.0.0.0. +- Fixed typo and updated translations. +- Updated CKEditor from 4.1.1 to 4.2. Fixed errors in MS Internet Explorer. +- Updated to Django 1.5.2. + + +Version 1.4.1 (2013-07-29) +========================== +[https://github.com/OpenSlides/OpenSlides/issues?milestone=11] + +- Fixed tooltip which shows the end of each agenda item. +- Fixed duration of agenda with closed agenda items. +- Disabled deleting active version of a motion. +- Start browser on custom IP address. +- Fixed wrong URLs to polls in motion detail view. +- Added Czech translation. + + +Version 1.4 (2013-07-10) +======================== +[https://github.com/OpenSlides/OpenSlides/issues?milestone=7] + +Agenda: +- New feature: list of speakers for each agenda item which saves begin and end + time of each speaker; added new widget and overlay on the dashboard for easy + managing and presenting lists of speakers. +- New item type: organisational item (vs. agenda item). +- New duration field for each item (with total time calculation for end time of event). +- Better drag'n'drop sorting of agenda items (with nestedSortable jQuery plugin). +Motions: +- Integrated CKEditor to use allowed HTML formatting in motion text/reason. + With server-side whitelist filtering of HTML tags (with bleach) and HTML support + for reportlab in motion pdf. +- New motion API. +- Support for serveral submitters. +- New workflow concept with two built-in workflows: + a) complex workflow (like in OpenSlides <= v1.3) + b) simple workflow (only 4 states: submitted -> accepted|rejected|not decided; + no versioning) +- Categories for grouping motions. +- New modifiable identifier. +- New motion version diff view. Improved history table in motion detail view. +- New config variable 'Stop submitting of new motions' (for non-manager users). +- Updated motion status log. +- Updated csv import. +Participants: +- New feature: qr-code for system url on participants password pdf. +- Update default groups and permissions. +- New participant field: 'title'. +- Removed participants field 'type'. Use 'group' field instead. Updated csv import. +- Added warning if non-superuser removes his last group containing permission to + manage participants. +Other: +- New html template based on twitter bootstrap. +- New GUI frontend for the Windows portable version. +- New command to backup sqlite database. +- New mediafile app (files) to upload/download files via frontend. +- Used Tornado web server (instead of Django's default development server). +- Updated win32 portable version to use Tornado. +- Integrated DataTables jQuery plugin for overview tables of motions, elections + and participants (for client side sorting/filtering/pagination). +- New overlay API for projector view. +- New config app: Apps have to define config vars only once; config pages and + forms are created automatically. +- Moved version page out of the config app. +- Changed version number api for plugins. +- Moved widget with personal info to account app. Inserted info about lists of speakers. +- Updated to Django 1.5. +- Dropped support for python 2.5. +- Updated packaging (setup.py and portable). +- Open all PDFs in a new tab. +- Changed Doctype to HTML5. +- Updated German documentation (especially sections about agenda and motions). +- Several minor fixes and improvements. + + +Version 1.3.1 (2013-01-09) +========================== +[http://dev.openslides.org/milestone/1.3.1] + +- Fixed unwanted automatical language switching on projector view if more than + one browser languages send projector request to OpenSlides (#434) + + +Version 1.3 (2012-12-10) +======================== +[http://dev.openslides.org/milestone/1.3] + +Projector: +- New public dashboard which allows access for all users per default. (#361) + (changed from the old, limited projector control page) +- New dashboard widgets: + * welcome widget (shows static welcome title and text) + * participant widget + * group widget + * personal widget (shows my motions and my elections) +- Hide scrollbar in projector view. +- Added cache for AJAX version of the projector view. +- Moved projector control icons into projector live widget. (#403) +- New weight field for custom slides (to order custom slides in widget). +- Fixed drag'n'drop behaviour of widgets into empty dashboard column. +- Fixed permissions for agenda, motion and assignment widgets (set to projector.can_manage_projector). +Agenda: +- Fixed slide error if agenda item deleted. (#330) +Motions: +- Translation: Changed 'application' to 'motion'. +- Fixed: Manager could not edit supporters. (#336) +- Fixed attribute error for anonymous users in motion view. (#329) +- Set default sorting of motions by number (in widget). +- CSV import allows to import group as submitter. (#419) +- Updated motion code for new user API. +- Rewrote motion views as class based views. +Elections: +- User can block himself/herself from candidate list after delete his/her candidature. +- Show blocked candidates in separate list. +- Mark elected candidates in candidate list. (#374) +- Show linebreaks in description. (#392) +- Set default sorting of elections by name (in widget). +- Fixed redirect from a poll which does not exists anymore. +- Changed default permissions of anonymous user to see elections. (#334) +- Updated assignment code for new user API. +Participants: +- New user and group API. +- New group option to handle a group as participant (and thus e.g. as submitter of motion). +- CSV import does not delete existing users anymore and append users as new users. +- New user field 'about me'. (#390) +- New config option for sorting users by first or last name (in participant lists, elections and motions). (#303) +- Allowed whitespaces in username, default: . (#326) +- New user and group slides. (#176) +- Don't allow to deactivate the administrator or themself. +- Don't allow to delete themself. +- Renamed participant field 'groups' to 'structure level' (German: Gliederungsebene). +- Rewrote participant views as class based views. +- Made OpenSlides user a child model of Django user model. +- Appended tests. +- Fixed error to allow admins to delete anonymous group +Other: +- Added French translation (Thanks to Moira). +- Updated setup.py to make an openslides python package. +- Removed frontpage (welcome widget contains it's content) and redirect '/' to dashboard url. +- Added LOCALE_PATHS to openslides_settings to avoid deprecation in Django 1.5. +- Redesigned the DeleteView (append QuestionMixin to send question via the django message API). +- Fixed encoding error in settings.py. (#349) +- Renamed openslides_settings.py to openslides_global_settings.py. +- New default path to database file (XDG_DATA_HOME, e.g. ~/.local/share/openslides/). +- New default path to settings file (XDG_CONFIG_HOME, e.g. ~/.config/openslides/). +- Added special handling to determine location of database and settings file in portable version. +- Don't use similar characters in generated passwords (no 'Il10oO'). +- Localised the datetime in PDF header. (#296) +- Used specific session cookie name. (#332) +- Moved code repository from hg to git (incl. some required updates, e.g. version string function). +- Updated German translations. +- Several code optimizations. +- Several minor and medium issues and errors were fixed. + + +Version 1.2 (2012-07-25) +======================== +[http://dev.openslides.org/milestone/1.2] + +General: +- New welcome page with customizable title and text. +- OpenSlides portable win32 binary distribution. +- New start script (start.py) to automatically create the default settings and the + database, start the server and the default browser. +- Add plugin system. Allow other django-apps to interact with OpenSlides. +Projector: +- New projector dashboard to control all slides on projector. +- New projector live view on projector dashboard. +- Countdown calculation works now on server-side. +- New Overlay messages to show additional information on a second + projector layer. +- Add custom slides. +- Add a welcome slide. +- Project application and assignment slides without an agenda item. +- Update the projector once per second (only). +Agenda: +- Add new comment field for agenda items. +Elections (Assignments): +- New config option to publish voting results for selected winners only. +Applications: +- Now, it's possible to deactivate the whole supporter system. +- New import option: set status of all imported applications to + 'permit'. +- More log entries for all application actions. +Participant: +- Add new comment field for participants. +- Show translated permissions strings in user rols form. +- Admin is redirect to 'change password' page. +- New default user name: "firstname lastname". +Other: +- Use Django's class based views. +- Update to Django 1.4. Drop python 2.4 support for this reason. +- Separate the code for the projector. +- Rewrite the vote results table. +- Rewrite the poll API. +- Rewrite the config API. (Now any data which are JSON serializable + can be stored.) +- Improved CSV import for application and participants. +- GUI improvements of web interface (e.g. sub navigations, overview tables). +- Several minor and medium issues and errors were fixed. + + +Version 1.1 (2011-11-15) +======================== +[http://dev.openslides.org/milestone/1.1] + +Agenda: +- [Feature] Agenda overview: New item-done-column for all non-manager (#7) +- [Feature] Allow HTML-Tags in agenda item of text (#12) +- [Feature] Split up hidden agenda items in new agenda table section (#13) +Projector: +- [Feature] Assignment projector view layout improvements (#9) +- [Bugfix] Zoom problem for sidebar div in beamer view (#5) +- [Bugfix] Blue 'candidate elected line' not visible in projector ajax view (#6) +- [Bugfix] Assignment projector view: Show results for elected candidates only (#11) +- [Bugfix] Missing beamer scaling (#2) +- [Bugfix] Assigment projector view: Removed empty character for no results cell. (#10) +Applications: +- [Feature] Import applications (#55) +- [Feature] Support trivial changes to an application (#56) +- [Bugfix] Order submitter and supporter form fields by full name (#53) +- [Bugfix] Application: Show profile instead of submitter username (#15) +- [Bugfix] "Application: Only check enough supports in status ""pub""" (#16) +Elections: +- [Feature] New button to show agenda item of selected application/assignment (#54) +- [Feature] Open add-user-url in new tab. (#32) +Applications/Elections: +- [Feature] Show voting results in percent (#48) +Participants: +- [Feature] Filter displayed permissions in group editor (#59) +- [Feature] Generate password after user creation automatically (#58) +- [Bugfix] Encoding error (#1) +- [Bugfix] List of participants (pdf) link not visible for users with see-particiants-permissions (#3) +- [Bugfix] Use user.profile.get_type_display() instead of user.profile.type (#4) +PDF: +- [Feature] Mark elected candidates in PDF (#31) +- [Feature] New config option to set title and preamble text for application and assignment pdf (#33) +- [Feature] New config option to set number of ballots in PDF (#26) +- [Bugfix] Assignment ballot pdf: Wrong line break in group name with brackets (#8) +- [Bugfix] Print available candidates in assignment pdf (#14) +- [Bugfix] "Show ""undocumented"" for result ""-2"" in application and assignment pdf" (#17) +Other: +- [Feature] Rights for anonymous (#45) +- [Feature] Show counter for limited speaking time (#52) +- [Feature] Reorderd config tab subpages (#61) +- [Localize] i18n German: Use gender-specific strings (#51) +- [Bugfix]