Merged.
14
AUTHORS
@ -1,7 +1,7 @@
|
||||
Authors of OpenSlides in chronological order of first contribution:
|
||||
|
||||
Emanuel Schütze <emanuel@intevation.de>
|
||||
Oskar Hahn <mail@oshahn.de>
|
||||
Norman Jäckel <mail@normanjaeckel.de>
|
||||
René Köcher <shirk@bitspin.org>
|
||||
Andy Kittner <andkit@gmx.net>
|
||||
Authors of OpenSlides in chronological order of first contribution:
|
||||
|
||||
Emanuel Schütze <emanuel@intevation.de>
|
||||
Oskar Hahn <mail@oshahn.de>
|
||||
Norman Jäckel <mail@normanjaeckel.de>
|
||||
René Köcher <shirk@bitspin.org>
|
||||
Andy Kittner <andkit@gmx.net>
|
||||
|
114
CHANGELOG
@ -1,57 +1,57 @@
|
||||
CHANGELOG of OpenSlides
|
||||
http://openslides.org
|
||||
|
||||
|
||||
Version 1.2 (unreleased)
|
||||
[http://dev.openslides.org/milestone/1.2]
|
||||
|
||||
|
||||
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] <button> inside <a> tag not working in IE (#57)
|
||||
- [Bugfix] Change default sort for tables of applications, assignments, participants (#27)
|
||||
|
||||
|
||||
Version 1.0 (2011-09-12)
|
||||
[http://dev.openslides.org/milestone/1.0]
|
||||
CHANGELOG of OpenSlides
|
||||
http://openslides.org
|
||||
|
||||
|
||||
Version 1.2 (unreleased)
|
||||
[http://dev.openslides.org/milestone/1.2]
|
||||
|
||||
|
||||
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] <button> inside <a> tag not working in IE (#57)
|
||||
- [Bugfix] Change default sort for tables of applications, assignments, participants (#27)
|
||||
|
||||
|
||||
Version 1.0 (2011-09-12)
|
||||
[http://dev.openslides.org/milestone/1.0]
|
||||
|
20
INSTALL
@ -16,9 +16,14 @@ I. Installation on Windows (32/64bit)
|
||||
1. Install requirements:
|
||||
|
||||
OpenSlides requires following programs, which should be
|
||||
installed first: Python Programming Language 2.7,
|
||||
Setuptools, ReportLab Toolkit, Python Imaging Library (PIL),
|
||||
Django and django-mptt:
|
||||
installed first:
|
||||
+ Python Programming Language 2 (>= 2.5),
|
||||
+ Setuptools
|
||||
+ ReportLab Toolkit
|
||||
+ Python Imaging Library (PIL)
|
||||
+ Django
|
||||
+ django-mptt
|
||||
|
||||
|
||||
a) Download and run 32bit MSI installer from http://www.python.org/:
|
||||
|
||||
@ -80,9 +85,9 @@ II. Installation on GNU/Linux and MacOSX
|
||||
|
||||
OpenSlides requires following programs, which should be
|
||||
installed first:
|
||||
+ Python Programming Language 2 (>= 2.5),
|
||||
+ virtualenv (>= 1.4.1),
|
||||
+ ReportLab Toolkit and
|
||||
+ Python Programming Language 2 (>= 2.5)
|
||||
+ virtualenv (>= 1.4.1)
|
||||
+ ReportLab Toolkit
|
||||
+ Python Imaging Library (PIL)
|
||||
|
||||
E.g. for ubuntu run:
|
||||
@ -114,7 +119,7 @@ II. Installation on GNU/Linux and MacOSX
|
||||
|
||||
4. Activate the virtual environment:
|
||||
|
||||
$ . .venv/bin/activate
|
||||
$ source .venv/bin/activate
|
||||
|
||||
5. Install the required python-packages:
|
||||
|
||||
@ -143,4 +148,3 @@ II. Installation on GNU/Linux and MacOSX
|
||||
|
||||
To restart OpenSlides after closing the terminal activate the
|
||||
virtual environment (see 4.) before starting the server (see 6.).
|
||||
|
||||
|
678
LICENSE
@ -1,339 +1,339 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
|
50
THANKS
@ -1,25 +1,25 @@
|
||||
THANKS file for OpenSlides
|
||||
|
||||
|
||||
OpenSlides uses parts of the following projects:
|
||||
|
||||
* Django
|
||||
<https://www.djangoproject.com/>
|
||||
|
||||
* jQuery
|
||||
<http://www.jquery.com/>
|
||||
|
||||
* jQuery UI
|
||||
<http://jqueryui.com/>
|
||||
|
||||
* ReportLab
|
||||
<http://www.reportlab.com/software/opensource/rl-toolkit/>
|
||||
|
||||
* Drupal (tabledrag function)
|
||||
<http://www.drupal.org/>
|
||||
|
||||
* Oxygen-Icons
|
||||
<http://www.oxygen-icons.org/>
|
||||
|
||||
* Ubuntu TrueType Font
|
||||
<http://font.ubuntu.com/>
|
||||
THANKS file for OpenSlides
|
||||
|
||||
|
||||
OpenSlides uses parts of the following projects:
|
||||
|
||||
* Django
|
||||
<https://www.djangoproject.com/>
|
||||
|
||||
* jQuery
|
||||
<http://www.jquery.com/>
|
||||
|
||||
* jQuery UI
|
||||
<http://jqueryui.com/>
|
||||
|
||||
* ReportLab
|
||||
<http://www.reportlab.com/software/opensource/rl-toolkit/>
|
||||
|
||||
* Drupal (tabledrag function)
|
||||
<http://www.drupal.org/>
|
||||
|
||||
* Oxygen-Icons
|
||||
<http://www.oxygen-icons.org/>
|
||||
|
||||
* Ubuntu TrueType Font
|
||||
<http://font.ubuntu.com/>
|
||||
|
BIN
docs/_static/images/chapter2_01.png
vendored
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
docs/_static/images/tutorial_de_1_01.png
vendored
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
docs/_static/images/tutorial_de_1_02.png
vendored
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
docs/_static/images/tutorial_de_1_03.png
vendored
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
docs/_static/images/tutorial_de_1_04.png
vendored
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
docs/_static/images/tutorial_de_1_05.png
vendored
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
docs/_static/images/tutorial_de_1_06.png
vendored
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
docs/_static/images/tutorial_de_1_07.png
vendored
Normal file
After Width: | Height: | Size: 67 KiB |
BIN
docs/_static/images/tutorial_de_1_08.png
vendored
Normal file
After Width: | Height: | Size: 89 KiB |
BIN
docs/_static/images/tutorial_de_1_09.png
vendored
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
docs/_static/images/tutorial_de_1_10.png
vendored
Normal file
After Width: | Height: | Size: 89 KiB |
BIN
docs/_static/images/tutorial_de_1_11.png
vendored
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
docs/_static/images/tutorial_de_1_12.png
vendored
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
docs/_static/images/tutorial_de_2_01.png
vendored
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
docs/_static/images/tutorial_de_2_02.png
vendored
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
docs/_static/images/tutorial_de_2_03.png
vendored
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
docs/_static/images/tutorial_de_2_04.png
vendored
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
docs/_static/images/tutorial_de_2_05.png
vendored
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
docs/_static/images/tutorial_de_2_06.png
vendored
Normal file
After Width: | Height: | Size: 82 KiB |
BIN
docs/_static/images/tutorial_de_2_07.png
vendored
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
docs/_static/images/tutorial_de_3_01.png
vendored
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
docs/_static/images/tutorial_de_3_02.png
vendored
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
docs/_static/images/tutorial_de_3_03.png
vendored
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
docs/_static/images/tutorial_de_3_04.png
vendored
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
docs/_static/images/tutorial_de_3_05.png
vendored
Normal file
After Width: | Height: | Size: 63 KiB |
3
docs/_static/openslidesdoc.css
vendored
@ -1,3 +1,6 @@
|
||||
@import url('sphinxdoc.css');
|
||||
|
||||
/* Specific stylesheet for OpenSlides Documentation */
|
||||
|
||||
.screenshot {
|
||||
width:100%;}
|
||||
|
@ -8,14 +8,14 @@ OpenSlides wurde vor allem für Mitgliederversammlungen, Delegiertenversammlunge
|
||||
OpenSlides kann in drei Modi betrieben werden:
|
||||
|
||||
Präsentationsmodus:
|
||||
Im Präsentationsmodus steuern ein oder mehrere Veranstalter (z. B. Vorstandsmitglieder eines Vereins oder einer Partei) das Programm allein. Sie bearbeiten diese Inhalte interaktiv und bestimmen, was auf dem Beamer gezeigt wird. Alle Anwesenden können die Veranstaltung auf der Leinwand verfolgen.
|
||||
Im Präsentationsmodus steuern ein oder mehrere Veranstalter (zum Beispiel Vorstandsmitglieder eines Vereins oder einer Partei) das Programm allein. Sie bearbeiten diese Inhalte interaktiv und bestimmen, was auf dem Beamer gezeigt wird. Alle Anwesenden können die Veranstaltung auf der Leinwand verfolgen.
|
||||
|
||||
Präsentationsmodus Single:
|
||||
Der Unterschied zum normalen Präsentationsmodus ist, dass nur eine einzige Person das gesamte System bedient *und* der Beamer auch an ihrem Computer angeschlossen ist.
|
||||
|
||||
Teilnehmermodus:
|
||||
Im Teilnehmermodus können sich zusätzlich zur Versammlungsleitung die anwesenden Teilnehmer mit dem eigenen Laptop oder Smartphone über Netzwerk (z. B. WLAN) anmelden und eigene Inhalte bearbeiten, zum Beispiel einen Antrag stellen oder einen Kandidaten zur Wahl vorschlagen. Eine umfangreiche Rechteverwaltung garantiert die notwendige Sicherheit des Systems. Die Versammlungsleitung hat in der Regel weitgehende, die Versammlungsteilnehmer nur eingeschränkte Zugriffsrechte.
|
||||
Im Teilnehmermodus können sich zusätzlich zur Versammlungsleitung die anwesenden Teilnehmer mit dem eigenen Laptop oder Smartphone über Netzwerk (zum Beispiel WLAN) anmelden und eigene Inhalte bearbeiten, zum Beispiel einen Antrag stellen oder einen Kandidaten zur Wahl vorschlagen. Eine umfangreiche Rechteverwaltung garantiert die notwendige Sicherheit des Systems. Die Versammlungsleitung hat in der Regel weitgehende, die Versammlungsteilnehmer nur eingeschränkte Zugriffsrechte.
|
||||
|
||||
Außer beim Präsentationsmodus Single benötigt man ein Computernetzwerk, z. B. mit mehreren LAN-Anschlüssen oder einem WLAN im Raum. Ein Computer fungiert hier als Server für OpenSlides. Alle anderen Computer müssen auf dessen IP-Adresse zugreifen können. Der Computer, an dem der Beamer angeschlossen ist, kann auch ein eigenständiger Computer sein, der über das Netzwerk auf den Server zugreift.
|
||||
Außer beim Präsentationsmodus Single benötigt man ein Computernetzwerk, zum Beispiel mit mehreren LAN-Anschlüssen oder einem WLAN im Raum. Ein Computer fungiert hier als Server für OpenSlides. Alle anderen Computer müssen auf dessen IP-Adresse zugreifen können. Der Computer, an dem der Beamer angeschlossen ist, kann auch ein eigenständiger Computer sein, der über das Netzwerk auf den Server zugreift.
|
||||
|
||||
OpenSlides ist webbasiert, das heißt, es muss bei den Benutzern und Teilnehmern keine neue Software installiert werden. Das Programm wird ausschließlich über den eigenen Browser bedient. Alle gängigen aktuellen Browser werden untersützt. Lediglich die Veranstaltungsleitung muss auf einem einzigen Computer, dem Server, OpenSlides installieren und starten.
|
||||
|
@ -73,17 +73,17 @@ Falls dies wegen Ihrer Browsereinstellungen nicht gelingt, rufen Sie das OpenSli
|
||||
Erster Login
|
||||
------------
|
||||
|
||||
Der erste Login als Administrator ist mit dem Benutzernamen ``admin`` und dem Passwort ``admin`` möglich. Sie sollten das Passwort nach dem ersten Start ändern, um Unbefugten keinen Zugriff auf Ihre Daten zu gewähren.
|
||||
|
||||
(**TODO Link zum Passwort ändern einfügen**)
|
||||
Der erste Login als Administrator ist mit dem Benutzernamen ``admin`` und dem Passwort ``admin`` möglich. Sie sollten das Passwort nach dem ersten Start ändern__, um Unbefugten keinen Zugriff auf Ihre Daten zu gewähren.
|
||||
|
||||
.. __: chapter5_1.html#
|
||||
|
||||
Arbeiten mit OpenSlides
|
||||
+++++++++++++++++++++++
|
||||
|
||||
Im Webinterface von OpenSlides können Sie über die verschiedenen Tabs alle Inhalte in OpenSlides eingeben und verwalten.
|
||||
|
||||
.. image:: _static/images/index.png
|
||||
.. image:: _static/images/chapter2_01.png
|
||||
:class: screenshot
|
||||
|
||||
Im Tab „Projektor“ steuern Sie, welche Folien auf dem Beamer angezeigt werden. Dazu klicken Sie einfach auf das jeweilige graue Beamersymbol. Im Tab „Tagesordnung“ können Sie die Tagesordnung der Veranstaltung im Vorfeld anlegen und entsprechende Folien vorbereiten. In den Tabs „Anträge“ und „Wahlen“ verwalten Sie die gestellten Anträge und die Wahlämter mit den Kandidaten sowie die dazugehörigen Abstimmungen und Wahlen. Der Tab „Teilnehmer/innen“ ermöglicht einen Zugriff auf die Personenprofile. Im Tab „Konfiguration“ können einige Einstellungen vorgenommen werden.
|
||||
|
||||
|
@ -15,6 +15,8 @@ Inhalt:
|
||||
|
||||
chapter2
|
||||
|
||||
tutorial_de
|
||||
|
||||
chapter3
|
||||
|
||||
chapter4
|
||||
|
26
docs/de/tutorial_de.rst
Normal file
@ -0,0 +1,26 @@
|
||||
Tutorial – Präsentationsmodus
|
||||
=============================
|
||||
|
||||
In diesem Tutorial sehen Sie am Beispiel der Mitgliederversammlung eines Kleingartenvereins, wie Sie OpenSlides im Präsentationsmodus bedienen.
|
||||
|
||||
Zunächst lernen Sie, OpenSlides allgemein einzurichten und Folien auf dem Beamer zu zeigen. Anschließend können Sie die einzelnen Tutorials für Tagesordnung, Teilnehmerverwaltung, Anträge und Wahlen durcharbeiten.
|
||||
|
||||
Alle Tutorials gehen von folgenden Rahmenbedingungen aus:
|
||||
|
||||
Der Verein „Schreberverein Nord e. V.“ hält am 3. März 2012 seine jährliche Mitgliederversammlung ab. Der Vorstand erwartet etwa 40 Teilnehmer. Auf der Versammlung werden verschiedene Berichte gehalten und über eine Satzungsänderung und einen Antrag für ein Gartenfest abgestimmt. Außerdem finden Wahlen zum Vorstand (drei Personen) und zum Beirat (sieben Personen) statt.
|
||||
|
||||
Die einzelen Tutorials:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
tutorial_de_1
|
||||
|
||||
tutorial_de_2
|
||||
|
||||
tutorial_de_3
|
||||
|
||||
tutorial_de_4
|
||||
|
||||
tutorial_de_5
|
||||
|
138
docs/de/tutorial_de_1.rst
Normal file
@ -0,0 +1,138 @@
|
||||
Einrichtung von OpenSlides
|
||||
==========================
|
||||
|
||||
Zunächst müssen Sie OpenSlides auf dem Server installieren, den Server starten und einige Einstellungen für Ihre Veranstaltung vornehmen. Danach können Sie Ihre ersten Folien einrichten und auf dem Beamer zeigen.
|
||||
|
||||
|
||||
Installation und Start des Servers
|
||||
----------------------------------
|
||||
|
||||
Installieren Sie OpenSlides wie hier__ beschrieben. Starten Sie den Server wie hier__ beschrieben. Sie sehen jetzt die Login-Seite von OpenSlides in Ihrem Browser. Loggen Sie sich als Administrator ein, indem Sie als Benutzernamen ``admin`` und als Passwort ``admin`` eingeben und auf ``Anmelden`` klicken.
|
||||
|
||||
.. image:: _static/images/tutorial_de_1_01.png
|
||||
:class: screenshot
|
||||
|
||||
Anschließend sollten Sie sofort das Administrator-Passwort ändern. Geben Sie in die entsprechenden Felder Ihr altes Passwort ``admin`` und als neues Passwort ``geheim`` ein. Wiederholen Sie das neue Passwort im dritten Formularfeld. Bestätigen Sie die Eingabe mit ``Speichern``.
|
||||
|
||||
.. image:: _static/images/tutorial_de_1_02.png
|
||||
:class: screenshot
|
||||
|
||||
.. __: chapter2.html#installation
|
||||
.. __: chapter2.html#start-des-servers-und-offnen-des-browsers
|
||||
|
||||
|
||||
Konfiguration des Systems
|
||||
-------------------------
|
||||
|
||||
Geben Sie die Rahmendaten Ihrer Veranstaltung ins System ein. Wechseln Sie dazu zum Tab „Konfiguration“ und geben Sie die Allgemeinen Einstellungen wie folgt ein:
|
||||
|
||||
Veranstaltungsname:
|
||||
Schreberverein Nord e. V.
|
||||
|
||||
Kurzbeschreibung der Veranstaltung:
|
||||
Mitgliederversammlung des Vereins 2012
|
||||
|
||||
Veranstaltungszeitraum:
|
||||
Sonnabend, 3. März 2012
|
||||
|
||||
Veranstaltungsort:
|
||||
Leipzig
|
||||
|
||||
Veranstalter:
|
||||
Schreberverein Nord e. V.
|
||||
|
||||
Startseite – Titel:
|
||||
Willkommen zur Mitgliederversammlung
|
||||
|
||||
Startseite – Willkommenstext:
|
||||
Herzlich willkommen, liebe Gartenfreunde!
|
||||
|
||||
|
||||
.. image:: _static/images/tutorial_de_1_03.png
|
||||
:class: screenshot
|
||||
|
||||
Klicken Sie anschließend auf ``Speichern``. Auch bei allen folgenden Eingaben dieses Tutorials müssen Sie stets auf ``Speichern`` klicken, um die Eingabe abzuschließen.
|
||||
|
||||
Wenn Sie nun links oben auf das Projektor-Logo klicken, kommen Sie zur Startseite von OpenSlides.
|
||||
|
||||
.. image:: _static/images/tutorial_de_1_04.png
|
||||
:class: screenshot
|
||||
|
||||
|
||||
Einrichtung eigener Folien
|
||||
--------------------------
|
||||
|
||||
Um erste benutzerdefinierte Folien hinzuzufügen, wechseln Sie zum Tab „Projektor“. Klicken Sie in dem Fenster „Benutzerdefinierte Folien“ auf ``Neue Folie``
|
||||
|
||||
.. image:: _static/images/tutorial_de_1_05.png
|
||||
:class: screenshot
|
||||
|
||||
|
||||
und geben Sie eine Folie wie folgt ein:
|
||||
|
||||
Titel:
|
||||
Kaffeepause um 15.30 Uhr
|
||||
|
||||
Text:
|
||||
Bitte kommen Sie pünktlich um 16.00 Uhr zurück in den Saal.
|
||||
|
||||
.. image:: _static/images/tutorial_de_1_06.png
|
||||
:class: screenshot
|
||||
|
||||
Die Ansicht im Tab „Projektor“ müsste nun wie folgt aussehen:
|
||||
|
||||
.. image:: _static/images/tutorial_de_1_07.png
|
||||
:class: screenshot
|
||||
|
||||
|
||||
Technische Einrichtung im Veranstaltungsraum
|
||||
--------------------------------------------
|
||||
|
||||
Richten Sie Ihren Veranstaltungsraum ein. Im Präsentationsmodus Single schließen Sie den Beamer an Ihren Computer an und schieben ein zweites Browserfenster auf den erweiterten Bildschirm. Ansonsten richten Sie ein Netzwerk ein, schließen Sie einen beliebigen Computer an den Beamer an und öffnen im Vollbildmodus die Seite mit der Projektoransicht. Den entsprechend Link finden Sie bei OpenSlides im Tab „Projektor“ auf der linken Seite. Er lautet zum Beispiel ``http://192.168.x.y/projector/`` wobei x und y für je eine bestimmte Zahl mit ein bis drei Ziffern stehen.
|
||||
|
||||
.. image:: _static/images/tutorial_de_1_08.png
|
||||
:class: screenshot
|
||||
|
||||
Das Beamerbild sieht zurzeit wie folgt aus:
|
||||
|
||||
.. image:: _static/images/tutorial_de_1_09.png
|
||||
:class: screenshot
|
||||
|
||||
|
||||
Auswahl der Beamerfolien
|
||||
------------------------
|
||||
|
||||
Testen Sie, ob auf dem Beamer die gewünschten Folien zu sehen sind, wenn Sie bei OpenSlides im Tab „Projektor“ verschiedene Folien auswählen. Sie können eine bestimmte Folien anwählen, indem Sie auf den jeweiligen grauen Haken klicken. Die jeweils aktive Folie zeigt einen blauen Haken.
|
||||
|
||||
.. image:: _static/images/tutorial_de_1_10.png
|
||||
:class: screenshot
|
||||
|
||||
Das volle Potenzial von OpenSlides entfaltet sich, wenn Sie über Tagesordnung, Anträge und Wahlen zahlreiche Folien anlegen, die Sie während der Veranstaltung zeigen und im Hintergrund editieren können.
|
||||
|
||||
Wenn Sie zwischendurch eine kurze Nachricht, zum Beispiel ein Fußballergebnis, einblenden wollen, ohne dass dazu eine extra Folie angelegt werden soll, können Sie die Message-Funktion im Fenster „Einblendungen“ benutzen. Schreiben Sie im Fenster „Einblendungen“ unter „Message“ die Nachricht „Bayern 1 : 1 Dortmund“, klicken auf ``Übernehmen`` und aktivieren die Einblendung, indem Sie auf den davor gestellten grauen Haken klicken.
|
||||
|
||||
.. image:: _static/images/tutorial_de_1_11.png
|
||||
:class: screenshot
|
||||
|
||||
Das Beamerbild sieht dann wie folgt aus:
|
||||
|
||||
.. image:: _static/images/tutorial_de_1_12.png
|
||||
:class: screenshot
|
||||
|
||||
Schalten Sie die Einblendung wieder aus, indem Sie erneut auf den (nunmehr blauen) Haken klicken.
|
||||
|
||||
Weiter geht es mit dem zweiten Teil des Tutorials: `Tagesordnung verwalten`__
|
||||
|
||||
.. __: tutorial_de_2.html
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
76
docs/de/tutorial_de_2.rst
Normal file
@ -0,0 +1,76 @@
|
||||
Tagesordnung verwalten
|
||||
======================
|
||||
|
||||
In diesem Teil lernen Sie, wie Sie Einträge in der Tagesordnung erstellen und verwalten.
|
||||
|
||||
|
||||
Eingabe der Tagesordnung
|
||||
------------------------
|
||||
|
||||
Die Tagesordnung enthält bei Neuinstallation noch keine Einträge. Legen Sie zunächst einige Einträge an.
|
||||
|
||||
Klicken Sie dazu im Tab „Tagesordnung“ auf „Neuer Eintrag“
|
||||
|
||||
.. image:: _static/images/tutorial_de_2_01.png
|
||||
:class: screenshot
|
||||
|
||||
und geben Sie den Eintrag wie folgt ein:
|
||||
|
||||
Titel:
|
||||
Begrüßung
|
||||
|
||||
Text:
|
||||
Es begrüßt Sie der Vereinsvorsitzende Dr. Hans Schulze.
|
||||
|
||||
.. image:: _static/images/tutorial_de_2_02.png
|
||||
:class: screenshot
|
||||
|
||||
Klicken Sie anschließend auf ``Speichern``.
|
||||
|
||||
Erweitern Sie nun die Tagesordnung um folgende Einträge: Bericht des Vorstands, Satzungsänderung, Gartenfest, Sonstiges, Wahlen der Vereinsämter.
|
||||
|
||||
Die Übersicht über die Einträge (links bei „Alle Einträge“) müsste nun so aussehen:
|
||||
|
||||
.. image:: _static/images/tutorial_de_2_03.png
|
||||
:class: screenshot
|
||||
|
||||
Sie können nun nachträglich die Reihenfolge der Einträge verändern und auch Tagesordnungspunkte zu Unterpunkten verschieben. Ziehen Sie zum Beispiel mit der Maus an den gekreuzten Pfeilen des Punktes „Sonstiges“, um seine Position zu verändern und ihn nach unten zu verschieben. Richten Sie die Tagesordnung durch Verschieben der übrigen Einträge so ein, dass sie wie folgt aussieht:
|
||||
|
||||
.. image:: _static/images/tutorial_de_2_04.png
|
||||
:class: screenshot
|
||||
|
||||
Klicken Sie auf ``Ja``, um die geänderte Reihenfolge zu speichern. Solange Sie die veränderte Reihenfolge nicht gespeichert haben, wird die Veränderung nicht in der Datenbank hinterlegt. Dies wird Ihnen durch die kleinen Sternchen hinter den verschobenen Tagesordnungspunkten angezeigt.
|
||||
|
||||
*Zu jedem Antrag und zu jedem Wahlamt können Sie über einen Link im Seitenmenü des betreffenden Antrags oder Wahlamts auch einen eigenen Eintrag in der Tagesordnung erstellen, der direkt mit der Antrags- bzw. Wahlfolie verknüpft ist. Dies empfiehlt sich, wenn ein einzelner Antrag oder eine einzelne Wahl an einer bestimmten Stelle der Tagesordnung behandelt werden soll.*
|
||||
|
||||
|
||||
Ändern von Einträgen in der Tagesordnung
|
||||
----------------------------------------
|
||||
|
||||
Titel und Inhalt der Tagesordnungspunkte (Einträge) können jederzeit, insbesondere während des laufenden Betriebs geändert werden. Solange ein Eintrag keinen Inhalt im Feld „Text“ enthält, wird der Titel auf dem Beamer groß und zentriert dargestellt. Wenn Sie einen zusätzlichen Text eingeben, werden Überschrift und Text linksbündig dargestellt.
|
||||
|
||||
Ändern Sie zum Beispiel den Inhalt des Tagesordnungspunktes „Bericht des Vorstandes“, indem Sie in der Zeile dieses Eintrags auf das Bearbeiten-Symbol |document-edit| klicken und zusätzlich zum Titel einen Text zum Tagesordnungspunkt wie folgt eingeben:
|
||||
Der Vorstand berichtet über seine Arbeit, insbesondere die Entwicklung der Mitgliederzahlen und Finanzen.
|
||||
|
||||
.. image:: _static/images/tutorial_de_2_05.png
|
||||
:class: screenshot
|
||||
|
||||
.. |document-edit| image:: _static/images/document-edit.png
|
||||
|
||||
|
||||
Auswahl der Beamerfolien
|
||||
------------------------
|
||||
|
||||
Wenn Sie in den Tab „Projektor“ wechseln
|
||||
|
||||
.. image:: _static/images/tutorial_de_2_06.png
|
||||
:class: screenshot
|
||||
|
||||
können Sie durch einen Klick auf den jeweiligen grauen Haken eine bestimmte Folie auswählen. Die jeweils aktive Folie zeigt einen blauen Haken. Probieren Sie, verschiedene Tagesordnungspunkte auf dem Beamer anzuzeigen.
|
||||
|
||||
.. image:: _static/images/tutorial_de_2_07.png
|
||||
:class: screenshot
|
||||
|
||||
Weiter geht es mit dem dritten Teil des Tutorials: `Teilnehmer/innen verwalten`__
|
||||
|
||||
.. __: tutorial_de_3.html
|
72
docs/de/tutorial_de_3.rst
Normal file
@ -0,0 +1,72 @@
|
||||
Teilnehmer/innen verwalten
|
||||
==========================
|
||||
|
||||
In diesem Teil lernen Sie, wie Sie die Teilnehmer und Teilnehmerinnen Ihrer Veranstaltungen im System erfassen. Grundsätzlich brauchen Sie nur diejenigen Teilnehmer und Teilnehmerinnen erfassen, die das System verwalten, Anträge stellen oder unterstützen oder bei Wahlen kandidieren.
|
||||
|
||||
Eingabe der Teilnehmer und Teilnehmerinnen
|
||||
------------------------------------------
|
||||
|
||||
Sie können die Teilnehmer und Teilnehmerinnen einzeln eintragen oder wie hier__ beschrieben importieren. Jedoch werden beim Import alle vorher eingetragenen Teilnehmer gelöscht. Eingetragenen Personen, die das System verwalten sollen, müssen die entsprechenden Berechtigungen zugewiesen werden.
|
||||
|
||||
.. __: chapter5_6.html
|
||||
|
||||
Wechseln Sie zum Tab „Teilnehmer/innen“. Klicken Sie links auf „Neue/r Teilnehmer/in“
|
||||
|
||||
.. image:: _static/images/tutorial_de_3_01.png
|
||||
:class: screenshot
|
||||
|
||||
und geben Sie einen neuen Teilnehmer wie folgt ein:
|
||||
|
||||
Vorname:
|
||||
Max
|
||||
|
||||
Nachname:
|
||||
Mustermann
|
||||
|
||||
Benutzerrolle:
|
||||
Delegierter
|
||||
|
||||
Geschlecht:
|
||||
männlich
|
||||
|
||||
Typ:
|
||||
Delegierter
|
||||
|
||||
.. image:: _static/images/tutorial_de_3_02.png
|
||||
:class: screenshot
|
||||
|
||||
Wiederholen Sie diese Schritte und geben Sie folgende weitere Teilnehmer und Teilnehmerinnen ein: Peter Müller, Franziska Meyer, Luise Schmidt und Hans Schulze.
|
||||
|
||||
Wenn Sie anschließend links auf „Alle Teilnehmer/innen“ klicken, sehen Sie die folgende Übersicht:
|
||||
|
||||
.. image:: _static/images/tutorial_de_3_03.png
|
||||
:class: screenshot
|
||||
|
||||
|
||||
Bearbeiten eines Teilnehmers
|
||||
----------------------------
|
||||
|
||||
Sie können die Angaben zu einem Teilnehmer jederzeit bearbeiten. Klicken Sie zum Beispiel beim Teilnehmer „Max Mustermann“ unter der Rubrik „Aktionen“ auf das Bearbeiten-Symbol |document-edit| und weisen Sie der Person die Benutzerrollen „Tagesleitung“ und „Delegierter“ zu. Um mehrere Einträge auszuwählen, halten Sie beim Anklicken die Taste ``Strg`` gedrückt.
|
||||
|
||||
.. image:: _static/images/tutorial_de_3_04.png
|
||||
:class: screenshot
|
||||
|
||||
.. |document-edit| image:: _static/images/document-edit.png
|
||||
|
||||
Passworts eines Teilnehmers
|
||||
---------------------------
|
||||
|
||||
Beim Anlegen eines Teilnehmers wird automatisch ein zufälliges Erst-Passwort gesetzt. Sie können das Erst-Passwort aus einer PDF-Datei ablesen, die Sie durch Klick auf den Link „Erst-Passwörter als PDF“ im linken Seitenmenü erreichen.
|
||||
|
||||
Bitten Sie jeden, dem Sie sein Erst-Passwort aushändigen, dieses nach dem ersten Login zu ändern.
|
||||
|
||||
Um als Administrator das Passwort von zum Beispiel Max Mustermann neu zu setzen, klicken Sie erneut auf das Bearbeiten-Symbol |document-edit| und tragen Sie unten unter „Erst-Passwort“ ein neues, selbstgewähltes Passwort ein. Für dieses Tutorial sei als Passwort ``geheim`` gewählt. Anschließend klicken Sie auf ``Übernehmen``. In einem zweiten Schritt müssen Sie auf den Link „Auf Erst-Passwort zurücksetzen“ klicken, um das im System gespeicherte Passwort mit Ihrem neu eingegebenen zu ersetzen. Bestätigen Sie den oben auf der Seite erscheinenden Dialog mit ``Ja``.
|
||||
|
||||
.. image:: _static/images/tutorial_de_3_05.png
|
||||
:class: screenshot
|
||||
|
||||
.. |document-edit| image:: _static/images/document-edit.png
|
||||
|
||||
Weiter geht es mit dem vierten Teil des Tutorials: `Anträge verwalten und behandeln`__
|
||||
|
||||
.. __: tutorial_de_4.html
|
2
docs/de/tutorial_de_4.rst
Normal file
@ -0,0 +1,2 @@
|
||||
Anträge verwalten und behandeln
|
||||
===============================
|
2
docs/de/tutorial_de_5.rst
Normal file
@ -0,0 +1,2 @@
|
||||
Wahlen durchführen
|
||||
==================
|
@ -1,25 +1,25 @@
|
||||
Benchmark test script für OpenSlides
|
||||
------------------------------------
|
||||
|
||||
usage: bench.py [-h] [-d DELAY] [-j JOBS] [-p PAUSE] [-r REPEAT]
|
||||
[-s {home,projector,agenda,application}]
|
||||
base_url
|
||||
|
||||
|
||||
Optionen:
|
||||
-j JOBS Anzahl der zu startenden Clients
|
||||
|
||||
-d DELAY Pause zwischen dem Start der einzelnen Unterprozesse in ms
|
||||
(negativer Wert: zufällige Wartezeit zwischen 0 und abs($wert)).
|
||||
|
||||
-p PAUSE "Denkpause" zwischen den einzelnen Requests (ms).
|
||||
|
||||
-r REPEAT Anzahl der Wiederholungen der Requests (jeweils pro Unterprozess/Job)
|
||||
|
||||
-s URLSET Angabe der abzufragenden URLs
|
||||
|
||||
Basisurl wird als positional Argument angegeben.
|
||||
|
||||
|
||||
Beispiel:
|
||||
$ python bench.py -j 100 -d 50 -r 100 -s projector http://127.0.0.1:8000
|
||||
Benchmark test script für OpenSlides
|
||||
------------------------------------
|
||||
|
||||
usage: bench.py [-h] [-d DELAY] [-j JOBS] [-p PAUSE] [-r REPEAT]
|
||||
[-s {home,projector,agenda,application}]
|
||||
base_url
|
||||
|
||||
|
||||
Optionen:
|
||||
-j JOBS Anzahl der zu startenden Clients
|
||||
|
||||
-d DELAY Pause zwischen dem Start der einzelnen Unterprozesse in ms
|
||||
(negativer Wert: zufällige Wartezeit zwischen 0 und abs($wert)).
|
||||
|
||||
-p PAUSE "Denkpause" zwischen den einzelnen Requests (ms).
|
||||
|
||||
-r REPEAT Anzahl der Wiederholungen der Requests (jeweils pro Unterprozess/Job)
|
||||
|
||||
-s URLSET Angabe der abzufragenden URLs
|
||||
|
||||
Basisurl wird als positional Argument angegeben.
|
||||
|
||||
|
||||
Beispiel:
|
||||
$ python bench.py -j 100 -d 50 -r 100 -s projector http://127.0.0.1:8000
|
||||
|
@ -18,7 +18,7 @@ except ImportError:
|
||||
|
||||
from django.db import models
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.utils.translation import ugettext_lazy as _, ugettext_noop
|
||||
from django.utils.translation import ugettext_lazy as _, ugettext_noop, ugettext
|
||||
|
||||
from mptt.models import MPTTModel, TreeForeignKey
|
||||
|
||||
@ -67,7 +67,7 @@ class Item(MPTTModel, SlideMixin):
|
||||
For use in Template
|
||||
??Why does {% trans item.print_related_type|capfirst %} not work??
|
||||
"""
|
||||
return _(self.get_related_type().capitalize())
|
||||
return ugettext(self.get_related_type().capitalize())
|
||||
|
||||
def get_title(self):
|
||||
"""
|
||||
@ -77,6 +77,18 @@ class Item(MPTTModel, SlideMixin):
|
||||
return self.title
|
||||
return self.get_related_slide().get_agenda_title()
|
||||
|
||||
|
||||
def get_title_supplement(self):
|
||||
"""
|
||||
return a supplement for the title.
|
||||
"""
|
||||
if self.related_sid is None:
|
||||
return ''
|
||||
try:
|
||||
return self.get_related_slide().get_agenda_title_supplement()
|
||||
except AttributeError:
|
||||
return '(%s)' % self.print_related_type()
|
||||
|
||||
def slide(self):
|
||||
"""
|
||||
Return a map with all Data for the Slide
|
||||
|
@ -21,16 +21,7 @@
|
||||
<div class="dragcell"></div>
|
||||
{% endif %}
|
||||
<a href="{% model_url item 'view' %}">{{ item }}</a>
|
||||
{% if item.get_related_type == 'application' %}
|
||||
({% trans 'Application' %}
|
||||
{% if item.get_related_slide.number %}
|
||||
{{ item.get_related_slide.number }})
|
||||
{% else %}
|
||||
<i>[{% trans "no number" %}]</i>)
|
||||
{% endif %}
|
||||
{% elif item.related_sid %}
|
||||
({{ item.print_related_type }})
|
||||
{% endif %}
|
||||
{{ item.get_title_supplement|safe }}
|
||||
</td>
|
||||
{% if perms.agenda.can_manage_agenda %}
|
||||
<td>
|
||||
|
@ -40,16 +40,7 @@
|
||||
<span class="indentation"> </span>
|
||||
{% endfor %}
|
||||
<a href="{% model_url item 'view' %}">{{ item }}</a>
|
||||
{% if item.get_related_type == 'application' %}
|
||||
({% trans 'Application' %}
|
||||
{% if item.get_related_slide.number %}
|
||||
{{ item.get_related_slide.number }})
|
||||
{% else %}
|
||||
<i>[{% trans "no number" %}]</i>)
|
||||
{% endif %}
|
||||
{% elif item.related_sid %}
|
||||
({{ item.print_related_type }})
|
||||
{% endif %}
|
||||
{{ item.get_title_supplement }}
|
||||
</li>
|
||||
{% empty %}
|
||||
<li>{% trans 'No items available.' %}</li>
|
||||
|
@ -1,38 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
||||
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
{% load tags %}
|
||||
<head>
|
||||
<link type="text/css" rel="stylesheet" href="/static/styles/beamer.css">
|
||||
<link rel="shortcut icon" href="/static/images/favicon.png" type="image/png" />
|
||||
<script type="text/javascript" src="/static/javascript/jquery.js"></script>
|
||||
<script type="text/javascript" src="/static/javascript/beamer.js"></script>
|
||||
<title>{% block title %} {% get_config 'event_name' %} {% endblock %}</title>
|
||||
{% block header %}
|
||||
{% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
<div id="config" style="display:none;">
|
||||
<div id="ajax">{{ ajax }}</div>
|
||||
</div>
|
||||
<div id="ajaxswitcher"></div>
|
||||
|
||||
<div id="header">
|
||||
<div id="logo"><img src="/static/images/logo-beamer.png"></div>
|
||||
<div class="event_name">{% get_config 'event_name' %}</div>
|
||||
<div class="event_description">{% get_config 'event_description' %}</div>
|
||||
</div>
|
||||
|
||||
<div id="currentTime">
|
||||
{% now "H:i" %}
|
||||
</div>
|
||||
|
||||
<div id="countdown">0:00</div>
|
||||
|
||||
<div id="content">
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -18,7 +18,7 @@ from django.db import models
|
||||
from django.db.models import Max
|
||||
from django.dispatch import receiver
|
||||
from django.utils.translation import pgettext
|
||||
from django.utils.translation import ugettext_lazy as _, ugettext_noop
|
||||
from django.utils.translation import ugettext_lazy as _, ugettext_noop, ugettext
|
||||
|
||||
from openslides.utils.utils import _propper_unicode
|
||||
|
||||
@ -436,6 +436,10 @@ class Application(models.Model, SlideMixin):
|
||||
def get_agenda_title(self):
|
||||
return self.public_version.title
|
||||
|
||||
def get_agenda_title_supplement(self):
|
||||
number = self.number or '<i>[%s]</i>' % ugettext('no number')
|
||||
return '(%s %s)' % (ugettext('Application'), number)
|
||||
|
||||
def __getattr__(self, name):
|
||||
"""
|
||||
if name is title, text, reason or time,
|
||||
|
@ -72,7 +72,7 @@ class ConfigForm(forms.Form, CssClassMixin):
|
||||
required=False,
|
||||
label=_("Election method"),
|
||||
choices=(
|
||||
("auto", _("Choose the right method.")),
|
||||
("auto", _("Automatic assign of method.")),
|
||||
("votes", _("Always one option per candidate.")),
|
||||
("yesnoabstain", _("Always Yes-No-Abstain per candidate.")),
|
||||
)
|
||||
|
@ -43,7 +43,7 @@ class Assignment(models.Model, SlideMixin):
|
||||
posts = models.PositiveSmallIntegerField(
|
||||
verbose_name=_("Number of available posts"))
|
||||
polldescription = models.CharField(max_length=100, null=True, blank=True,
|
||||
verbose_name=_("Short description (for ballot paper)"))
|
||||
verbose_name=_("Comment on the ballot paper."))
|
||||
profile = models.ManyToManyField(Profile, null=True, blank=True)
|
||||
elected = models.ManyToManyField(Profile, null=True, blank=True,
|
||||
related_name='elected_set')
|
||||
|
@ -15,7 +15,7 @@ from django.contrib import messages
|
||||
from django.contrib.auth.models import Group, Permission
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.utils.importlib import import_module
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from openslides import get_version
|
||||
|
||||
|
@ -1,25 +1,25 @@
|
||||
Instruction to update translation for OpenSlides:
|
||||
-------------------------------------------------
|
||||
|
||||
1. Go to the openslides directory (which contains the 'locale' directory):
|
||||
$ cd openslides
|
||||
|
||||
2. Update the German po file (locale/de/LC_MESSAGES/django.po):
|
||||
$ django-admin.py makemessages -l de
|
||||
|
||||
3. Edit the German po file: locale/de/LC_MESSAGES/django.po
|
||||
(Search for "fuzzy" and empty msgstr entries.)
|
||||
|
||||
4. Update the German mo file (locale/de/LC_MESSAGES/django.mo):
|
||||
$ django-admin.py compilemessages
|
||||
|
||||
5. Restart server:
|
||||
$ python manage.py runserver
|
||||
|
||||
--
|
||||
Additional hints for internationalization (i18n) in Django:
|
||||
https://docs.djangoproject.com/en/dev/topics/i18n/
|
||||
|
||||
Note: gettext is required to extract message IDs or compile message files.
|
||||
For gettext on Windows read:
|
||||
https://docs.djangoproject.com/en/dev/topics/i18n/translation/#gettext-on-windows
|
||||
Instruction to update translation for OpenSlides:
|
||||
-------------------------------------------------
|
||||
|
||||
1. Go to the openslides directory (which contains the 'locale' directory):
|
||||
$ cd openslides
|
||||
|
||||
2. Update the German po file (locale/de/LC_MESSAGES/django.po):
|
||||
$ django-admin.py makemessages -l de
|
||||
|
||||
3. Edit the German po file: locale/de/LC_MESSAGES/django.po
|
||||
(Search for "fuzzy" and empty msgstr entries.)
|
||||
|
||||
4. Update the German mo file (locale/de/LC_MESSAGES/django.mo):
|
||||
$ django-admin.py compilemessages
|
||||
|
||||
5. Restart server:
|
||||
$ python manage.py runserver
|
||||
|
||||
--
|
||||
Additional hints for internationalization (i18n) in Django:
|
||||
https://docs.djangoproject.com/en/dev/topics/i18n/
|
||||
|
||||
Note: gettext is required to extract message IDs or compile message files.
|
||||
For gettext on Windows read:
|
||||
https://docs.djangoproject.com/en/dev/topics/i18n/translation/#gettext-on-windows
|
||||
|
@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenSlides 1.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2012-07-19 11:04+0200\n"
|
||||
"POT-Creation-Date: 2012-07-20 11:03+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Emanuel Schuetze <emanuel@intevation.de>\n"
|
||||
"Language-Team: German\n"
|
||||
@ -69,8 +69,6 @@ msgstr "Darf die Tagesordung verwalten"
|
||||
#: agenda/templates/agenda/overview.html:77
|
||||
#: agenda/templates/projector/AgendaSummary.html:6
|
||||
#: agenda/templates/projector/AgendaSummary.html:10
|
||||
#: application/templates/projector/overview.html:3
|
||||
#: application/templates/projector/overview.html:10
|
||||
msgid "Agenda"
|
||||
msgstr "Tagesordnung"
|
||||
|
||||
@ -107,9 +105,6 @@ msgstr "Eintrag %s wurde erfolgreich gelöscht."
|
||||
#: application/views.py:487 application/views.py:809 application/views.py:860
|
||||
#: application/templates/application/view.html:82
|
||||
#: application/templates/projector/Application.html:37
|
||||
#: application/templates/projector/ItemApplication.html:30
|
||||
#: application/templates/projector/ItemAssignment.html:67
|
||||
#: application/templates/projector/ItemAssignment.html:71
|
||||
#: assignment/models.py:240 assignment/views.py:557
|
||||
#: assignment/templates/assignment/view.html:158
|
||||
#: assignment/templates/assignment/view.html:162
|
||||
@ -124,8 +119,6 @@ msgstr "Ja"
|
||||
#: application/views.py:487 application/views.py:809 application/views.py:861
|
||||
#: application/templates/application/view.html:83
|
||||
#: application/templates/projector/Application.html:38
|
||||
#: application/templates/projector/ItemApplication.html:31
|
||||
#: application/templates/projector/ItemAssignment.html:68
|
||||
#: assignment/models.py:240 assignment/views.py:558
|
||||
#: assignment/templates/assignment/view.html:159
|
||||
#: assignment/templates/projector/Assignment.html:79 utils/utils.py:53
|
||||
@ -156,22 +149,28 @@ msgstr "Neuer Eintrag"
|
||||
msgid "Agenda as PDF"
|
||||
msgstr "Tagesordnung als PDF"
|
||||
|
||||
#: agenda/templates/agenda/base_agenda.html:26
|
||||
#: agenda/templates/agenda/base_agenda.html:19
|
||||
#: projector/templates/projector/base_projector.html:20
|
||||
#: templates/front_page.html:25
|
||||
msgid "Projector view"
|
||||
msgstr "Projektor-Ansicht"
|
||||
|
||||
#: agenda/templates/agenda/base_agenda.html:31
|
||||
msgid "View item"
|
||||
msgstr "Eintrag anzeigen"
|
||||
|
||||
#: agenda/templates/agenda/base_agenda.html:31
|
||||
#: agenda/templates/agenda/base_agenda.html:36
|
||||
#: agenda/templates/agenda/edit.html:8 agenda/templates/agenda/edit.html:16
|
||||
#: agenda/templates/agenda/item_row.html:49
|
||||
msgid "Edit item"
|
||||
msgstr "Eintrag bearbeiten"
|
||||
|
||||
#: agenda/templates/agenda/base_agenda.html:33
|
||||
#: agenda/templates/agenda/base_agenda.html:38
|
||||
#: agenda/templates/agenda/item_row.html:50
|
||||
msgid "Delete item"
|
||||
msgstr "Eintrag löschen"
|
||||
|
||||
#: agenda/templates/agenda/base_agenda.html:38
|
||||
#: agenda/templates/agenda/base_agenda.html:43
|
||||
msgid "Show item"
|
||||
msgstr "Eintrag projizieren"
|
||||
|
||||
@ -349,7 +348,6 @@ msgstr "Bearbeiten"
|
||||
#: application/templates/application/view.html:232
|
||||
#: application/templates/application/view.html:252
|
||||
#: application/templates/projector/Application.html:77
|
||||
#: application/templates/projector/ItemApplication.html:56
|
||||
msgid "Reason"
|
||||
msgstr "Begründung"
|
||||
|
||||
@ -365,7 +363,6 @@ msgstr "Triviale Änderungen erzeugen keine neue Version."
|
||||
#: application/templates/application/overview.html:41
|
||||
#: application/templates/application/view.html:18
|
||||
#: application/templates/projector/Application.html:55
|
||||
#: application/templates/projector/ItemApplication.html:19
|
||||
msgid "Submitter"
|
||||
msgstr "Antragsteller/in"
|
||||
|
||||
@ -486,7 +483,7 @@ msgstr "Version %d zugelassen"
|
||||
|
||||
#: application/models.py:109
|
||||
#, python-format
|
||||
msgctxt "Rejected meens not permittd"
|
||||
msgctxt "Rejected means not permitted"
|
||||
msgid "Version %d rejected"
|
||||
msgstr "Version %d verworfen"
|
||||
|
||||
@ -735,10 +732,9 @@ msgstr "Soll Version <b>%s</b> wirklich zurückgewiesen werden?"
|
||||
|
||||
#: application/views.py:563 participant/views.py:395
|
||||
msgid ""
|
||||
"The import function is available for the superuser (without user profile) "
|
||||
"only."
|
||||
"The import function is available for the admin (without user profile) only."
|
||||
msgstr ""
|
||||
"Die Importfunktion ist nur für den 'superuser' (ohne Nutzerprofil) verfügbar."
|
||||
"Die Importfunktion ist nur für den superuser (ohne Nutzerprofil) verfügbar."
|
||||
|
||||
#: application/views.py:594 application/views.py:598 application/views.py:604
|
||||
#: application/views.py:607 participant/views.py:464
|
||||
@ -802,7 +798,6 @@ msgstr "Keine Anträge vorhanden."
|
||||
#: application/views.py:738
|
||||
#: application/templates/application/base_application.html:24
|
||||
#: application/templates/projector/Application.html:63
|
||||
#: application/templates/projector/ItemApplication.html:50
|
||||
msgid "Application No."
|
||||
msgstr "Antrag Nr."
|
||||
|
||||
@ -810,8 +805,6 @@ msgstr "Antrag Nr."
|
||||
#: application/templates/application/overview.html:40
|
||||
#: application/templates/application/view.html:37
|
||||
#: application/templates/projector/Application.html:11
|
||||
#: application/templates/projector/ItemApplication.html:8
|
||||
#: application/templates/projector/ItemAssignment.html:13
|
||||
#: assignment/templates/assignment/overview.html:14
|
||||
#: assignment/templates/assignment/overview.html:27
|
||||
#: assignment/templates/assignment/view.html:11
|
||||
@ -821,7 +814,7 @@ msgid "Status"
|
||||
msgstr "Status"
|
||||
|
||||
#: application/views.py:792 application/templates/application/view.html:217
|
||||
#: application/templates/application/view.html:247 config/models.py:133
|
||||
#: application/templates/application/view.html:247 config/models.py:131
|
||||
#: config/templates/config/version.html:5
|
||||
#: config/templates/config/version.html:8
|
||||
#: config/templates/config/version.html:11
|
||||
@ -840,24 +833,19 @@ msgstr "Abstimmungsergebnis"
|
||||
#: application/templates/application/view.html:69
|
||||
#: application/templates/application/view.html:77
|
||||
#: application/templates/projector/Application.html:33
|
||||
#: application/templates/projector/ItemApplication.html:27
|
||||
msgid "Vote"
|
||||
msgstr "Abstimmung"
|
||||
|
||||
#: application/views.py:809 application/views.py:862
|
||||
#: application/templates/application/view.html:84
|
||||
#: application/templates/projector/Application.html:39
|
||||
#: application/templates/projector/ItemApplication.html:32
|
||||
#: application/templates/projector/ItemAssignment.html:69
|
||||
#: assignment/views.py:558 assignment/templates/assignment/view.html:160
|
||||
#: application/templates/projector/Application.html:39 assignment/views.py:558
|
||||
#: assignment/templates/assignment/view.html:160
|
||||
#: assignment/templates/projector/Assignment.html:80
|
||||
msgid "Abstention"
|
||||
msgstr "Enthaltung"
|
||||
|
||||
#: application/views.py:809 application/templates/application/view.html:85
|
||||
#: application/templates/projector/Application.html:40
|
||||
#: application/templates/projector/ItemApplication.html:33
|
||||
#: application/templates/projector/ItemAssignment.html:88
|
||||
#: assignment/templates/assignment/view.html:182
|
||||
#: assignment/templates/projector/Assignment.html:101
|
||||
msgid "Invalid"
|
||||
@ -866,11 +854,8 @@ msgstr "Ungültig"
|
||||
#: application/views.py:809
|
||||
#: application/templates/application/poll_view.html:35
|
||||
#: application/templates/application/view.html:87
|
||||
#: application/templates/projector/Application.html:42
|
||||
#: application/templates/projector/ItemApplication.html:35
|
||||
#: application/templates/projector/ItemAssignment.html:93
|
||||
#: application/templates/projector/ItemAssignment.html:96
|
||||
#: assignment/views.py:442 assignment/templates/assignment/poll_view.html:45
|
||||
#: application/templates/projector/Application.html:42 assignment/views.py:442
|
||||
#: assignment/templates/assignment/poll_view.html:45
|
||||
#: assignment/templates/assignment/view.html:194
|
||||
#: assignment/templates/assignment/view.html:199
|
||||
#: assignment/templates/projector/Assignment.html:111
|
||||
@ -1047,9 +1032,8 @@ msgstr "Wahlmöglichkeit"
|
||||
msgid "Votes"
|
||||
msgstr "Stimmen"
|
||||
|
||||
#: application/templates/application/poll_view.html:31
|
||||
#: application/templates/projector/ItemAssignment.html:85
|
||||
#: assignment/views.py:435 assignment/templates/assignment/poll_view.html:35
|
||||
#: application/templates/application/poll_view.html:31 assignment/views.py:435
|
||||
#: assignment/templates/assignment/poll_view.html:35
|
||||
#: assignment/templates/assignment/view.html:177
|
||||
#: assignment/templates/projector/Assignment.html:97
|
||||
msgid "Invalid votes"
|
||||
@ -1189,83 +1173,19 @@ msgid "Log"
|
||||
msgstr "Log"
|
||||
|
||||
#: application/templates/projector/Application.html:29
|
||||
#: application/templates/projector/ItemApplication.html:23
|
||||
msgid "Poll result"
|
||||
msgstr "Abstimmungsergebnis"
|
||||
|
||||
#: application/templates/projector/Application.html:47
|
||||
#: application/templates/projector/ItemApplication.html:41
|
||||
msgid "No poll results available."
|
||||
msgstr "Keine Abstimmungen vorhanden."
|
||||
|
||||
#: application/templates/projector/ItemAssignment.html:8
|
||||
#: assignment/views.py:501 assignment/views.py:517
|
||||
#: assignment/templates/assignment/overview.html:25
|
||||
#: assignment/templates/assignment/poll_view.html:5
|
||||
#: assignment/templates/assignment/view.html:6
|
||||
#: assignment/templates/projector/Assignment.html:27
|
||||
msgid "Election"
|
||||
msgstr "Wahl"
|
||||
|
||||
#: application/templates/projector/ItemAssignment.html:16
|
||||
#: assignment/forms.py:24 assignment/models.py:44 assignment/views.py:364
|
||||
#: assignment/templates/assignment/view.html:13
|
||||
#: assignment/templates/projector/Assignment.html:21
|
||||
msgid "Number of available posts"
|
||||
msgstr "Anzahl der zur Wahl stehenden Posten"
|
||||
|
||||
#: application/templates/projector/ItemAssignment.html:30
|
||||
#: application/templates/projector/ItemAssignment.html:48
|
||||
#: assignment/views.py:370 assignment/views.py:403
|
||||
#: assignment/templates/assignment/overview.html:26
|
||||
#: assignment/templates/assignment/poll_view.html:18
|
||||
#: assignment/templates/assignment/view.html:36
|
||||
#: assignment/templates/assignment/view.html:110
|
||||
#: assignment/templates/projector/Assignment.html:38
|
||||
#: assignment/templates/projector/Assignment.html:56
|
||||
msgid "Candidates"
|
||||
msgstr "Kandidaten/innen"
|
||||
|
||||
#: application/templates/projector/ItemAssignment.html:36
|
||||
#: assignment/templates/assignment/view.html:47
|
||||
#: assignment/templates/projector/Assignment.html:44
|
||||
msgid "No candidates available."
|
||||
msgstr "Keine Kandidaten/innen vorhanden."
|
||||
|
||||
#: application/templates/projector/ItemAssignment.html:45
|
||||
#: assignment/templates/assignment/view.html:95
|
||||
#: assignment/templates/projector/Assignment.html:52
|
||||
msgid "Election results"
|
||||
msgstr "Wahlergebnisse"
|
||||
|
||||
#: application/templates/projector/ItemAssignment.html:51
|
||||
#: assignment/views.py:395
|
||||
#: assignment/templates/assignment/base_assignment.html:71
|
||||
#: assignment/templates/assignment/poll_view.html:5
|
||||
#: assignment/templates/assignment/poll_view.html:8
|
||||
#: assignment/templates/assignment/view.html:104
|
||||
#: assignment/templates/assignment/view.html:113
|
||||
#: assignment/templates/projector/Assignment.html:59
|
||||
msgid "ballot"
|
||||
msgstr "Wahlgang"
|
||||
|
||||
#: application/templates/projector/ItemAssignment.html:60
|
||||
#: assignment/templates/assignment/view.html:145
|
||||
#: assignment/templates/projector/Assignment.html:69
|
||||
msgid "Candidate is elected"
|
||||
msgstr "Kandidat/in ist gewählt"
|
||||
|
||||
#: application/templates/projector/ItemAssignment.html:81
|
||||
#: assignment/templates/assignment/view.html:213
|
||||
#: assignment/templates/projector/Assignment.html:126
|
||||
msgid "No ballots available."
|
||||
msgstr "Keine Wahlgänge vorhanden."
|
||||
|
||||
#: application/templates/projector/ItemPoll.html:4
|
||||
#, fuzzy
|
||||
msgid "Poll about"
|
||||
msgstr "Abstimmungsergebnis"
|
||||
|
||||
#: assignment/forms.py:35
|
||||
msgid "Nominate a participant"
|
||||
msgstr "Teilnehmer/in vorschlagen"
|
||||
@ -1288,8 +1208,8 @@ msgid "Election method"
|
||||
msgstr "Wahlmethode"
|
||||
|
||||
#: assignment/forms.py:75
|
||||
msgid "Choose the right method."
|
||||
msgstr "Wähle die passende Methode."
|
||||
msgid "Automatic assign of method."
|
||||
msgstr "Automatische Zuordnung der Methode."
|
||||
|
||||
#: assignment/forms.py:76
|
||||
msgid "Always one option per candidate."
|
||||
@ -1467,6 +1387,26 @@ msgstr "Keine Wahlen vorhanden."
|
||||
msgid "Election: %s"
|
||||
msgstr "Wahlen: %s"
|
||||
|
||||
#: assignment/views.py:370 assignment/views.py:403
|
||||
#: assignment/templates/assignment/overview.html:26
|
||||
#: assignment/templates/assignment/poll_view.html:18
|
||||
#: assignment/templates/assignment/view.html:36
|
||||
#: assignment/templates/assignment/view.html:110
|
||||
#: assignment/templates/projector/Assignment.html:38
|
||||
#: assignment/templates/projector/Assignment.html:56
|
||||
msgid "Candidates"
|
||||
msgstr "Kandidaten/innen"
|
||||
|
||||
#: assignment/views.py:395
|
||||
#: assignment/templates/assignment/base_assignment.html:71
|
||||
#: assignment/templates/assignment/poll_view.html:5
|
||||
#: assignment/templates/assignment/poll_view.html:8
|
||||
#: assignment/templates/assignment/view.html:104
|
||||
#: assignment/templates/assignment/view.html:113
|
||||
#: assignment/templates/projector/Assignment.html:59
|
||||
msgid "ballot"
|
||||
msgstr "Wahlgang"
|
||||
|
||||
#: assignment/views.py:398
|
||||
msgid "ballots"
|
||||
msgstr "Wahlgänge"
|
||||
@ -1482,6 +1422,14 @@ msgstr ""
|
||||
"N: %(NO)s\n"
|
||||
"E: %(ABSTAIN)s"
|
||||
|
||||
#: assignment/views.py:501 assignment/views.py:517
|
||||
#: assignment/templates/assignment/overview.html:25
|
||||
#: assignment/templates/assignment/poll_view.html:5
|
||||
#: assignment/templates/assignment/view.html:6
|
||||
#: assignment/templates/projector/Assignment.html:27
|
||||
msgid "Election"
|
||||
msgstr "Wahl"
|
||||
|
||||
#: assignment/views.py:523
|
||||
#, python-format
|
||||
msgid "%d. ballot"
|
||||
@ -1569,6 +1517,11 @@ msgstr "Status ändern"
|
||||
msgid "Remove candidate"
|
||||
msgstr "Kandidate/in entfernen"
|
||||
|
||||
#: assignment/templates/assignment/view.html:47
|
||||
#: assignment/templates/projector/Assignment.html:44
|
||||
msgid "No candidates available."
|
||||
msgstr "Keine Kandidaten/innen vorhanden."
|
||||
|
||||
#: assignment/templates/assignment/view.html:60
|
||||
msgid "Withdraw self candidature"
|
||||
msgstr "Eigene Kandidatur zurückziehen"
|
||||
@ -1581,6 +1534,11 @@ msgstr "Selbst kandidieren"
|
||||
msgid "Add new participant"
|
||||
msgstr "Neue/n Teilnehmer/in hinzufügen"
|
||||
|
||||
#: assignment/templates/assignment/view.html:95
|
||||
#: assignment/templates/projector/Assignment.html:52
|
||||
msgid "Election results"
|
||||
msgstr "Wahlergebnisse"
|
||||
|
||||
#: assignment/templates/assignment/view.html:118
|
||||
msgid "Publish/unpublish results"
|
||||
msgstr "Ergebnisse veröffentlichen/unveröffentlichen"
|
||||
@ -1590,11 +1548,21 @@ msgstr "Ergebnisse veröffentlichen/unveröffentlichen"
|
||||
msgid "New ballot"
|
||||
msgstr "Neuer Wahlgang"
|
||||
|
||||
#: assignment/templates/assignment/view.html:145
|
||||
#: assignment/templates/projector/Assignment.html:69
|
||||
msgid "Candidate is elected"
|
||||
msgstr "Kandidat/in ist gewählt"
|
||||
|
||||
#: assignment/templates/assignment/view.html:164
|
||||
#: assignment/templates/projector/Assignment.html:84
|
||||
msgid "was not a <br> candidate"
|
||||
msgstr "war kein Kandidat"
|
||||
|
||||
#: assignment/templates/assignment/view.html:213
|
||||
#: assignment/templates/projector/Assignment.html:126
|
||||
msgid "No ballots available."
|
||||
msgstr "Keine Wahlgänge vorhanden."
|
||||
|
||||
#: config/forms.py:24
|
||||
msgid "Event name"
|
||||
msgstr "Veranstaltungsname"
|
||||
@ -1756,7 +1724,7 @@ msgstr "Mitarbeiter"
|
||||
msgid "Guest"
|
||||
msgstr "Gast"
|
||||
|
||||
#: participant/models.py:39 participant/views.py:605
|
||||
#: participant/models.py:39 participant/views.py:609
|
||||
#: participant/templates/participant/overview.html:29
|
||||
#: participant/templates/participant/overview.html:67
|
||||
msgid "Group"
|
||||
@ -1778,7 +1746,7 @@ msgstr "Nur zum Filtern der Benutzerliste."
|
||||
msgid "Typ"
|
||||
msgstr "Typ"
|
||||
|
||||
#: participant/models.py:46 participant/views.py:606
|
||||
#: participant/models.py:46 participant/views.py:610
|
||||
#: participant/templates/participant/overview.html:44
|
||||
#: participant/templates/participant/overview.html:69
|
||||
msgid "Committee"
|
||||
@ -1929,13 +1897,20 @@ msgstr "Das Passwort für <b>%s</b> wurde erfolgreich zurückgesetzt."
|
||||
msgid "Do you really want to reset the password for <b>%s</b>?"
|
||||
msgstr "Soll das Passwort für <b>%s</b> wirklich zurückgesetzt werden?"
|
||||
|
||||
#: participant/views.py:571
|
||||
#: participant/views.py:573
|
||||
#, python-format
|
||||
msgid "The password for the user %(user)s is %(password)s. Please change it"
|
||||
msgid ""
|
||||
"Installation was successfully! Use %(user)s (password: %(password)s) for "
|
||||
"first login.<br><strong>Important:</strong> Please change the password after "
|
||||
"first login! Otherwise this message still appears for everyone and could be "
|
||||
"a security risk."
|
||||
msgstr ""
|
||||
"Das Passwort für den Benutzer %(user)s ist %(password)s. Bitte ändere es"
|
||||
"Die Installation war erfolgreich! Verwende %(user)s (passwort: %(password)s) "
|
||||
"für die erste Anmeldung.<br><strong>Wichtig:</strong> Ändere das Passwort "
|
||||
"nach der ersten Anmeldung! Anderenfalls erscheint diese Meldung weiterhin "
|
||||
"für jeden und ist ein sicherheitsrisiko."
|
||||
|
||||
#: participant/views.py:588
|
||||
#: participant/views.py:592
|
||||
#: participant/templates/participant/base_participant.html:12
|
||||
#: participant/templates/participant/overview.html:7
|
||||
#: participant/templates/participant/overview.html:17
|
||||
@ -1943,56 +1918,56 @@ msgstr ""
|
||||
msgid "Participants"
|
||||
msgstr "Teilnehmer/innen"
|
||||
|
||||
#: participant/views.py:601
|
||||
#: participant/views.py:605
|
||||
msgid "Participant-list"
|
||||
msgstr "Teilnehmerliste"
|
||||
|
||||
#: participant/views.py:602
|
||||
#: participant/views.py:606
|
||||
msgid "List of Participants"
|
||||
msgstr "Teilnehmerliste"
|
||||
|
||||
#: participant/views.py:605 participant/templates/participant/overview.html:66
|
||||
#: participant/views.py:609 participant/templates/participant/overview.html:66
|
||||
msgid "Last Name"
|
||||
msgstr "Nachname"
|
||||
|
||||
#: participant/views.py:605 participant/templates/participant/overview.html:65
|
||||
#: participant/views.py:609 participant/templates/participant/overview.html:65
|
||||
msgid "First Name"
|
||||
msgstr "Vorname"
|
||||
|
||||
#: participant/views.py:605 participant/templates/participant/overview.html:36
|
||||
#: participant/views.py:609 participant/templates/participant/overview.html:36
|
||||
#: participant/templates/participant/overview.html:68
|
||||
msgid "Type"
|
||||
msgstr "Typ"
|
||||
|
||||
#: participant/views.py:642
|
||||
#: participant/views.py:646
|
||||
msgid "Participant-passwords"
|
||||
msgstr "Teilnehmer-Passwoerter"
|
||||
|
||||
#: participant/views.py:661
|
||||
#: participant/views.py:665
|
||||
msgid "Account for OpenSlides"
|
||||
msgstr "Zugang für OpenSlides"
|
||||
|
||||
#: participant/views.py:663
|
||||
#: participant/views.py:667
|
||||
#, python-format
|
||||
msgid "for %s"
|
||||
msgstr "für %s"
|
||||
|
||||
#: participant/views.py:666
|
||||
#: participant/views.py:670
|
||||
#, python-format
|
||||
msgid "User: %s"
|
||||
msgstr "Nutzername: %s"
|
||||
|
||||
#: participant/views.py:668
|
||||
#: participant/views.py:672
|
||||
#, python-format
|
||||
msgid "Password: %s"
|
||||
msgstr "Passwort: %s"
|
||||
|
||||
#: participant/views.py:671
|
||||
#: participant/views.py:675
|
||||
#, python-format
|
||||
msgid "URL: %s"
|
||||
msgstr "URL: %s"
|
||||
|
||||
#: participant/views.py:716
|
||||
#: participant/views.py:720
|
||||
msgid "Participants settings successfully saved."
|
||||
msgstr "Teilnehmer/innen-Einstellungen wurden erfolgreich gespeichert."
|
||||
|
||||
@ -2180,11 +2155,6 @@ msgstr "Projektor"
|
||||
msgid "Overview"
|
||||
msgstr "Übersicht"
|
||||
|
||||
#: projector/templates/projector/base_projector.html:20
|
||||
#: templates/front_page.html:25
|
||||
msgid "Projector view"
|
||||
msgstr "Projektor-Ansicht"
|
||||
|
||||
#: projector/templates/projector/control.html:20
|
||||
msgid "Adjust projector view"
|
||||
msgstr "Projektor-Ansicht anpassen"
|
||||
|
@ -34,7 +34,7 @@ from django.contrib.auth.forms import PasswordChangeForm
|
||||
from django.contrib.auth.views import login as django_login
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.shortcuts import redirect
|
||||
from django.utils.translation import ugettext as _, ungettext
|
||||
from django.utils.translation import ugettext as _, ungettext, ugettext_lazy
|
||||
|
||||
from openslides.utils import csv_ext
|
||||
from openslides.utils.pdf import stylesheet
|
||||
@ -94,7 +94,7 @@ def get_overview(request):
|
||||
elif sortfilter['sort'][0] in ['group', 'type', 'committee', 'comment']:
|
||||
query = query.order_by('profile__%s' % sortfilter['sort'][0])
|
||||
else:
|
||||
query = query.order_by('first_name')
|
||||
query = query.order_by('last_name')
|
||||
if 'reverse' in sortfilter:
|
||||
query = query.reverse()
|
||||
|
||||
@ -603,7 +603,7 @@ class ParticipantsListPDF(PDFView):
|
||||
"""
|
||||
permission_required = 'participant.can_see_participant'
|
||||
filename = _("Participant-list")
|
||||
document_title = _('List of Participants')
|
||||
document_title = ugettext_lazy('List of Participants')
|
||||
|
||||
def append_to_pdf(self, story):
|
||||
data= [['#', _('Last Name'), _('First Name'), _('Group'), _('Type'),
|
||||
|
@ -267,7 +267,7 @@ class PDFView(PermissionMixin, View):
|
||||
return self.top_space
|
||||
|
||||
def get_document_title(self):
|
||||
return self.document_title
|
||||
return unicode(self.document_title)
|
||||
|
||||
def get_filename(self):
|
||||
return self.filename
|
||||
|