- Added natural sorting JS plugin for motion DataTables (column identifier).
- Added the new requirements python package 'natsort' for natural sorting of motions in PDF.
- Updated all screenshots.
- Improved image handling with autoimage extension.
- Some minor content updates for 1.5 version.
- Fixed wrong list of speakers icon.
* agenda_item.get_absolute_url('projector') returns the activate-url of the related slide.
* agenda_item.is_activate() returns True, if the related item is active
* Fixed set_active_slide to accept kwargs
* Reset countdown when saving a new duration time
* Update countdown overlay when begin_speak and end_speak is called
* Fixed blinking countdown
Fixes: #1078, #1076, #1075
- Agenda overview: Fixed padding of duration column.
- Agenda overview: Optimize header information for small devices with bootstrap's row-fluid class.
- Fixed text align in assignment detail template.
- agenda overview: Text align right for duration column.
- item summary slide: Show 'get_title_supplement' after each related agenda item.
- item detail view: Add ":" in button after item content_type
- projector: Show <hr> below title/subtitle line.
- motion view: Check manage permission for delete version button in version history table.
- motion detail view: Update version authorized badges and go to buttons.
- motion list: Link warning icon to newest version.
- assignment detail view: Added ballot paper pdf button.
- Group slide and overview: Show members.
- Use dynamic title column width in participants pdf.
- Fixed missing translations in user settings form.
- IE8/9 fix for projector template style.
- Style linebreak and border in h1 title with css.
Fixes multiple issues
- Unicode errors when path contained non-ascii characters
- 403 errors when the current working directory was not a parent
directory of the static files
- "API abuse" super() implementation of the get() method was passed a
filesystem path instead of the url-path it was expecting
- The above could also lead to 403 errors on case-insensitive file
systems due to the way the base-class resolved and validated paths
with respect to self.root
When the server is killed there may still be client-sockets connected in
the TIME_WAIT state, causing the bind() call to fail. With the
REUSEADDR option we can reuse the address immediately unless another
process is actually *listening* on the same address.
that we want to reuse the address