From b4a4d15a7f3f886ba6e9553eca41130cc748fd76 Mon Sep 17 00:00:00 2001 From: Andy Kittner Date: Sun, 18 Nov 2012 14:21:11 +0100 Subject: [PATCH 01/11] Revert "Treat openslides the same way as other packages" This reverts commit 14ba868df4ca9b62bb99499532271109c2e4c998. --- extras/win32-portable/prepare_portable.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/extras/win32-portable/prepare_portable.py b/extras/win32-portable/prepare_portable.py index 04c1e0cc7..574a4cfba 100644 --- a/extras/win32-portable/prepare_portable.py +++ b/extras/win32-portable/prepare_portable.py @@ -45,6 +45,10 @@ LIBEXCLUDE = [ r"^unittest/", ] +OPENSLIDES_EXCLUDE = [ + r"^openslides/settings.py" +] + SITE_PACKAGES = { "django": { @@ -80,10 +84,7 @@ SITE_PACKAGES = { "pil": { # NOTE: PIL is a special case, see copy_pil "copy": [], - }, - "openslides": { - "copy" : ["openslides"], - }, + } } PY_DLLS = [ @@ -301,6 +302,9 @@ def main(): collect_lib(libdir, odir) collect_site_packages(sitedir, os.path.join(odir, "site-packages")) + exclude = get_pkg_exclude("openslides", OPENSLIDES_EXCLUDE) + copy_dir_exclude(exclude, ".", "openslides", odir) + if not compile_openslides_launcher(): sys.stdout.write("Using prebuild openslides.exe\n") From 720a993259acf6f82c4722bd59636c154d8687e0 Mon Sep 17 00:00:00 2001 From: Andy Kittner Date: Sun, 18 Nov 2012 14:38:22 +0100 Subject: [PATCH 02/11] Copy openslides from local checkout to site-packages We reverted to using the checkout instead of an installed openslides version when building the portable, but we still want openlides to be placed together with all the other packages --- extras/win32-portable/prepare_portable.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/extras/win32-portable/prepare_portable.py b/extras/win32-portable/prepare_portable.py index 574a4cfba..9418b8e10 100644 --- a/extras/win32-portable/prepare_portable.py +++ b/extras/win32-portable/prepare_portable.py @@ -18,8 +18,6 @@ import zipfile import distutils.ccompiler import distutils.sysconfig -from contextlib import nested - import pkg_resources sys.path.insert(0, os.getcwd()) @@ -45,10 +43,6 @@ LIBEXCLUDE = [ r"^unittest/", ] -OPENSLIDES_EXCLUDE = [ - r"^openslides/settings.py" -] - SITE_PACKAGES = { "django": { @@ -298,12 +292,13 @@ def main(): raise os.makedirs(odir) + out_site_packages = os.path.join(odir, "site-packages") collect_lib(libdir, odir) - collect_site_packages(sitedir, os.path.join(odir, "site-packages")) + collect_site_packages(sitedir, out_site_packages) - exclude = get_pkg_exclude("openslides", OPENSLIDES_EXCLUDE) - copy_dir_exclude(exclude, ".", "openslides", odir) + exclude = get_pkg_exclude("openslides") + copy_dir_exclude(exclude, ".", "openslides", out_site_packages) if not compile_openslides_launcher(): sys.stdout.write("Using prebuild openslides.exe\n") From ec1a15a8357a1f17c5e03bad2831c8d3ff9ea0f5 Mon Sep 17 00:00:00 2001 From: Emanuel Schuetze Date: Wed, 21 Nov 2012 21:45:19 +0100 Subject: [PATCH 03/11] #175: Adjusted group slide; analog to user slide. --- .../templates/projector/GroupSlide.html | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/openslides/participant/templates/projector/GroupSlide.html b/openslides/participant/templates/projector/GroupSlide.html index 26d420bef..90f738743 100644 --- a/openslides/participant/templates/projector/GroupSlide.html +++ b/openslides/participant/templates/projector/GroupSlide.html @@ -6,20 +6,19 @@ {% block title %}{{ block.super }} - {{ title }}{% endblock %} {% block content %} - -

{{ group }}

-

{{ group.description }}

- -

{% trans "Members" %}

+
{{ group }} + +

{{ group.user_set.all.count }} {% trans "participants" %}:

+

+ {% if group.user_set.all %} + {{ group.user_set.all|join:", " }} + {% endif %} +

+
+
{% endblock %} {% block scrollcontent %} - {% for member in group.user_set.all %} -

{{ member }}

- {% empty %} -

{% trans "No members available." %}

- {% endfor %} - {% endblock %} From 4877eed46c454ae8a9977e7f587898e9364baf18 Mon Sep 17 00:00:00 2001 From: Emanuel Schuetze Date: Wed, 21 Nov 2012 21:45:27 +0100 Subject: [PATCH 04/11] Updated translation. --- openslides/locale/de/LC_MESSAGES/django.mo | Bin 35641 -> 35687 bytes openslides/locale/de/LC_MESSAGES/django.po | 109 ++++++++++----------- 2 files changed, 54 insertions(+), 55 deletions(-) diff --git a/openslides/locale/de/LC_MESSAGES/django.mo b/openslides/locale/de/LC_MESSAGES/django.mo index e7684f7a10f08fe2740c3700eb8c1d8527308b60..0bb777f7253f35f5b48711f29e05c6be02cec970 100644 GIT binary patch delta 7819 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 bO?PLcw`rbPu{ZC}7Ny@!4l3O-|Hc0UQAf#3 delta 7799 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 QtG!?5{n@(syQM|{2i!`;kpKVy diff --git a/openslides/locale/de/LC_MESSAGES/django.po b/openslides/locale/de/LC_MESSAGES/django.po index 4dfa4ce39..6129f1525 100644 --- a/openslides/locale/de/LC_MESSAGES/django.po +++ b/openslides/locale/de/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: OpenSlides 1.x\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-11-20 12:34+0100\n" +"POT-Creation-Date: 2012-11-21 21:43+0100\n" "PO-Revision-Date: 2012-07-28 11:07+0200\n" "Last-Translator: Emanuel Schuetze \n" "Language-Team: support@openslides.de\n" @@ -226,8 +226,8 @@ msgstr "Zusammenfassung für diesen Eintrag projizieren" msgid "Do you want to save the changed order of agenda items?" msgstr "Möchten Sie die geänderte Reihenfolge der Einträge speichern?" -#: agenda/templates/agenda/overview.html:46 assignment/models.py:302 -#: assignment/views.py:577 assignment/templates/assignment/view.html:168 +#: agenda/templates/agenda/overview.html:46 assignment/models.py:301 +#: assignment/views.py:579 assignment/templates/assignment/view.html:168 #: assignment/templates/assignment/view.html:172 #: assignment/templates/projector/Assignment.html:78 #: assignment/templates/projector/Assignment.html:82 motion/models.py:574 @@ -238,8 +238,8 @@ msgstr "Möchten Sie die geänderte Reihenfolge der Einträge speichern?" msgid "Yes" msgstr "Ja" -#: agenda/templates/agenda/overview.html:47 assignment/models.py:302 -#: assignment/views.py:578 assignment/templates/assignment/view.html:169 +#: agenda/templates/agenda/overview.html:47 assignment/models.py:301 +#: assignment/views.py:580 assignment/templates/assignment/view.html:169 #: assignment/templates/projector/Assignment.html:79 motion/models.py:574 #: motion/views.py:804 motion/views.py:856 #: motion/templates/motion/view.html:80 @@ -318,7 +318,7 @@ msgstr "Löschen" msgid "Edit" msgstr "Bearbeiten" -#: assignment/forms.py:24 assignment/models.py:57 assignment/views.py:383 +#: assignment/forms.py:24 assignment/models.py:57 assignment/views.py:385 #: assignment/templates/assignment/view.html:13 #: assignment/templates/projector/Assignment.html:21 msgid "Number of available posts" @@ -396,7 +396,7 @@ msgstr "Abgeschlossen" msgid "Name" msgstr "Name" -#: assignment/models.py:55 participant/models.py:133 +#: assignment/models.py:55 participant/models.py:134 msgid "Description" msgstr "Beschreibung" @@ -419,7 +419,7 @@ msgstr "Der Wahlstatus ist bereits %s." msgid "%s is already a candidate." msgstr "%s ist bereits ein/e Kandidat/in." -#: assignment/models.py:87 assignment/views.py:200 +#: assignment/models.py:87 assignment/views.py:202 msgid "The candidate list is already closed." msgstr "Die Kandidatenliste ist bereits geschlossen." @@ -428,42 +428,42 @@ msgstr "Die Kandidatenliste ist bereits geschlossen." msgid "%s does not want to be a candidate." msgstr "%s möchte nicht kandidieren." -#: assignment/models.py:109 +#: assignment/models.py:108 #, python-format msgid "%s is no candidate" msgstr "%s ist kein/e Kandidat/in" -#: assignment/models.py:255 +#: assignment/models.py:254 msgid "Can see assignment" msgstr "Darf Wahlen sehen" -#: assignment/models.py:257 +#: assignment/models.py:256 msgid "Can nominate another person" msgstr "Darf andere Personen für Wahlen vorschlagen" -#: assignment/models.py:258 +#: assignment/models.py:257 msgid "Can nominate themselves" msgstr "Darf selbst für Wahlen kandidieren" -#: assignment/models.py:259 +#: assignment/models.py:258 msgid "Can manage assignment" msgstr "Darf Wahlen verwalten" -#: assignment/models.py:303 motion/models.py:575 +#: assignment/models.py:302 motion/models.py:575 msgid "Abstain" msgstr "Enthaltung" -#: assignment/models.py:305 motion/templates/motion/poll_view.html:22 +#: assignment/models.py:304 motion/templates/motion/poll_view.html:22 msgid "Votes" msgstr "Stimmen" -#: assignment/models.py:322 +#: assignment/models.py:321 #, python-format msgid "Ballot %d" msgstr "Wahlgang %d" -#: assignment/models.py:331 assignment/views.py:340 assignment/views.py:664 -#: assignment/views.py:678 +#: assignment/models.py:330 assignment/views.py:342 assignment/views.py:666 +#: assignment/views.py:680 #: assignment/templates/assignment/base_assignment.html:14 #: assignment/templates/assignment/overview.html:6 #: assignment/templates/assignment/overview.html:9 @@ -499,11 +499,11 @@ msgstr "Wahl %s wurde erfolgreich gelöscht." msgid "Election status was set to: %s." msgstr "Wahlstatus wurde gesetzt auf: %s." -#: assignment/views.py:181 +#: assignment/views.py:183 msgid "You have set your candidature successfully." msgstr "Sie haben Ihre Kandidatur erfolgreich gesetzt." -#: assignment/views.py:197 +#: assignment/views.py:199 msgid "" "You have withdrawn your candidature successfully. You can not be nominated " "by other participants anymore." @@ -511,71 +511,71 @@ msgstr "" "Sie haben Ihre Kandidatur erfolgreich zurückgezogen. Sie können nun von " "anderen Teilnehmer/innen nicht mehr vorgeschlagen werden." -#: assignment/views.py:218 +#: assignment/views.py:220 #, python-format msgid "Candidate %s was withdrawn successfully." msgstr "Die Kandidatur von %s wurde erfolgreich zurückgezogen." -#: assignment/views.py:220 +#: assignment/views.py:222 #, python-format msgid "%s was unblocked successfully." msgstr "%s wurde erfolgreich freigegeben." -#: assignment/views.py:224 +#: assignment/views.py:226 #, python-format msgid "Do you really want to withdraw %s from the election?" msgstr "Soll %s wirklich von der Wahl zurückgezogen werden?" -#: assignment/views.py:226 +#: assignment/views.py:228 #, python-format msgid "Do you really want to unblock %s for the election?" msgstr "Soll %s wirklich für die Wahl freigegeben werden?" -#: assignment/views.py:241 +#: assignment/views.py:243 msgid "New ballot was successfully created." msgstr "Neuer Wahlgang erfolgreich angelegt." -#: assignment/views.py:273 +#: assignment/views.py:275 #, python-format msgid "Ballot ID %d does not exist." msgstr "Wahlgang-ID %d existiert nicht." -#: assignment/views.py:280 +#: assignment/views.py:282 msgid "Ballot successfully published." msgstr "Wahlgang wurde erfolgreich veröffentlicht." -#: assignment/views.py:282 +#: assignment/views.py:284 msgid "Ballot successfully unpublished." msgstr "Wahlgang wurde erfolgreich unveröffentlicht." -#: assignment/views.py:295 +#: assignment/views.py:297 msgid "not elected" msgstr "nicht gewählt" -#: assignment/views.py:298 assignment/views.py:481 +#: assignment/views.py:300 assignment/views.py:483 #: assignment/templates/assignment/view.html:48 msgid "elected" msgstr "gewählt" -#: assignment/views.py:326 +#: assignment/views.py:328 msgid "Ballot was successfully deleted." msgstr "Abstimmung wurde erfolgreich gelöscht." -#: assignment/views.py:337 +#: assignment/views.py:339 msgid "Assignment" msgstr "Wahl" -#: assignment/views.py:358 assignment/templates/assignment/overview.html:59 +#: assignment/views.py:360 assignment/templates/assignment/overview.html:59 #: assignment/templates/assignment/widget.html:23 msgid "No assignments available." msgstr "Keine Wahlen vorhanden." -#: assignment/views.py:377 +#: assignment/views.py:379 #, python-format msgid "Election: %s" msgstr "Wahlen: %s" -#: assignment/views.py:389 assignment/views.py:422 +#: assignment/views.py:391 assignment/views.py:424 #: assignment/templates/assignment/overview.html:26 #: assignment/templates/assignment/poll_view.html:18 #: assignment/templates/assignment/view.html:37 @@ -585,12 +585,12 @@ msgstr "Wahlen: %s" msgid "Candidates" msgstr "Kandidaten/innen" -#: assignment/views.py:410 motion/views.py:797 +#: assignment/views.py:412 motion/views.py:797 #: motion/templates/motion/view.html:44 msgid "Vote results" msgstr "Abstimmungsergebnis" -#: assignment/views.py:414 +#: assignment/views.py:416 #: assignment/templates/assignment/base_assignment.html:71 #: assignment/templates/assignment/poll_view.html:5 #: assignment/templates/assignment/poll_view.html:8 @@ -599,11 +599,11 @@ msgstr "Abstimmungsergebnis" msgid "ballot" msgstr "Wahlgang" -#: assignment/views.py:417 +#: assignment/views.py:419 msgid "ballots" msgstr "Wahlgänge" -#: assignment/views.py:443 +#: assignment/views.py:445 #, python-format msgid "" "Y: %(YES)s\n" @@ -614,14 +614,14 @@ msgstr "" "N: %(NO)s\n" "E: %(ABSTAIN)s" -#: assignment/views.py:454 assignment/templates/assignment/poll_view.html:35 +#: assignment/views.py:456 assignment/templates/assignment/poll_view.html:35 #: assignment/templates/assignment/view.html:186 #: assignment/templates/projector/Assignment.html:96 #: motion/templates/motion/poll_view.html:31 msgid "Invalid votes" msgstr "Ungültige Stimmen" -#: assignment/views.py:461 assignment/templates/assignment/poll_view.html:45 +#: assignment/views.py:463 assignment/templates/assignment/poll_view.html:45 #: assignment/templates/assignment/view.html:202 #: assignment/templates/assignment/view.html:207 #: assignment/templates/projector/Assignment.html:109 @@ -632,7 +632,7 @@ msgstr "Ungültige Stimmen" msgid "Votes cast" msgstr "Abgegebene Stimmen" -#: assignment/views.py:520 assignment/views.py:536 +#: assignment/views.py:522 assignment/views.py:538 #: assignment/templates/assignment/overview.html:25 #: assignment/templates/assignment/poll_view.html:5 #: assignment/templates/assignment/view.html:6 @@ -640,33 +640,33 @@ msgstr "Abgegebene Stimmen" msgid "Election" msgstr "Wahl" -#: assignment/views.py:542 +#: assignment/views.py:544 #, python-format msgid "%d. ballot" msgstr "%d. Wahlgang" -#: assignment/views.py:543 +#: assignment/views.py:545 #, python-format msgid "%d candidate" msgid_plural "%d candidates" msgstr[0] "%d Kandidat/in" msgstr[1] "%d Kandidaten/innen" -#: assignment/views.py:545 +#: assignment/views.py:547 #, python-format msgid "%d available post" msgid_plural "%d available posts" msgstr[0] "%d verfügbare Posten" msgstr[1] "%d verfügbare Posten" -#: assignment/views.py:578 assignment/templates/assignment/view.html:170 +#: assignment/views.py:580 assignment/templates/assignment/view.html:170 #: assignment/templates/projector/Assignment.html:80 motion/views.py:804 #: motion/views.py:857 motion/templates/motion/view.html:81 #: motion/templates/projector/Motion.html:39 msgid "Abstention" msgstr "Enthaltung" -#: assignment/views.py:657 +#: assignment/views.py:659 msgid "Election settings successfully saved." msgstr "Wahl-Einstellungen wurden erfolgreich gespeichert." @@ -1701,7 +1701,6 @@ msgstr "Teilnehmer" #: participant/templates/participant/group_overview.html:7 #: participant/templates/participant/group_overview.html:10 #: participant/templates/participant/user_detail.html:14 -#: participant/templates/projector/UserSlide.html:12 msgid "Groups" msgstr "Gruppen" @@ -1777,7 +1776,6 @@ msgstr "Wird nach dem Namen angezeigt." #: participant/models.py:48 participant/templates/participant/overview.html:24 #: participant/templates/participant/user_detail.html:24 -#: participant/templates/projector/UserSlide.html:20 msgid "Gender" msgstr "Geschlecht" @@ -1793,7 +1791,6 @@ msgstr "Typ" #: participant/templates/participant/overview.html:45 #: participant/templates/participant/overview.html:70 #: participant/templates/participant/user_detail.html:34 -#: participant/templates/projector/UserSlide.html:28 msgid "Committee" msgstr "Amt" @@ -1822,15 +1819,15 @@ msgstr "Darf die Teilnehmer/inen sehen" msgid "Can manage participant" msgstr "Darf die Teilnehmer/inen verwalten" -#: participant/models.py:132 +#: participant/models.py:133 msgid "Use this group as participant" msgstr "Verwende diese Gruppe als Teilnehmer/in" -#: participant/models.py:132 +#: participant/models.py:133 msgid "For example as submitter of a motion." msgstr "Zum Beispiel als Antragsteller." -#: participant/models.py:214 +#: participant/models.py:225 msgid "Welcome to OpenSlides!" msgstr "Willkommen bei OpenSlides!" @@ -1874,7 +1871,6 @@ msgstr "Gruppe" #: participant/views.py:258 participant/templates/participant/overview.html:37 #: participant/templates/participant/overview.html:69 #: participant/templates/participant/user_detail.html:29 -#: participant/templates/projector/UserSlide.html:24 msgid "Type" msgstr "Typ" @@ -2150,7 +2146,6 @@ msgid "I am candidate for the following elections:" msgstr "Ich bin Kandidat/in bei folgenden Wahlen:" #: participant/templates/participant/user_detail.html:19 -#: participant/templates/projector/UserSlide.html:16 msgid "The participant is not member of any group." msgstr "Teilnehmer/in ist kein Mitglied einer Gruppe." @@ -2158,6 +2153,10 @@ msgstr "Teilnehmer/in ist kein Mitglied einer Gruppe." msgid "The participant has not logged in yet." msgstr "Teilnehmer/in hat sich noch nicht angemeldet." +#: participant/templates/projector/GroupSlide.html:11 +msgid "participants" +msgstr "Teilnehmer/innen" + #: poll/models.py:95 msgid "Votes invalid" msgstr "Ungültige Stimmen" From bcfc4531d463a535a943e77aa91651a7f6ff688d Mon Sep 17 00:00:00 2001 From: Emanuel Schuetze Date: Wed, 21 Nov 2012 22:05:33 +0100 Subject: [PATCH 05/11] Gender German default group names --- initial_data.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/initial_data.json b/initial_data.json index a0d786baf..b662beff6 100644 --- a/initial_data.json +++ b/initial_data.json @@ -3,7 +3,7 @@ "pk": 1, "model": "auth.group", "fields": { - "name": "Beobachter", + "name": "Beobachter/in", "permissions": [ [ "can_see_agenda", @@ -57,7 +57,7 @@ "pk": 2, "model": "auth.group", "fields": { - "name": "Delegierter", + "name": "Delegierte/r", "permissions": [ [ "can_see_agenda", From d5ee6d69b61482dc1753c01e06e0536a9813c585 Mon Sep 17 00:00:00 2001 From: Emanuel Schuetze Date: Wed, 21 Nov 2012 22:06:22 +0100 Subject: [PATCH 06/11] Enlarged users select box in new/edit group form. --- openslides/static/styles/base.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openslides/static/styles/base.css b/openslides/static/styles/base.css index 088171aae..1c55ebc61 100644 --- a/openslides/static/styles/base.css +++ b/openslides/static/styles/base.css @@ -316,7 +316,7 @@ input[type="submit"], input[type="button"] { padding:4px 10px !important; margin: 2px 0 2px 0; } -#id_permissions { +#id_permissions, #id_users { height: 310px; } .button { From 9da7055fc2fbc5d168fbc5ee5460009c0bfcb324 Mon Sep 17 00:00:00 2001 From: Emanuel Schuetze Date: Wed, 21 Nov 2012 22:12:00 +0100 Subject: [PATCH 07/11] Updated INSTALL section: use git instead of hg repository. --- INSTALL.txt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/INSTALL.txt b/INSTALL.txt index b1a15f014..68ef8416a 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -98,13 +98,12 @@ II. Installation on GNU/Linux and MacOSX OR - b) Clone development version from mercurial repository - http://hg.openslides.org. This requires Mercurial source control - management (hg): + b) Clone development version from OpenSlides' github repository + https://github.com/OpenSlides/OpenSlides. + This requires Git, see http://git-scm.com/. + Open command line (cmd) and run: - E.g. for Ubuntu run: - $ sudo apt-get install mercurial - $ hg clone http://hg.openslides.org OpenSlides + git clone git://github.com/OpenSlides/OpenSlides.git 3. Setup your virtual environment with virtualenv: From 830f85109dd863caa04ccc177372c26d64cac740 Mon Sep 17 00:00:00 2001 From: Emanuel Schuetze Date: Wed, 21 Nov 2012 23:03:14 +0100 Subject: [PATCH 08/11] Minor formatting work. --- .../templates/participant/personal_info_widget.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openslides/participant/templates/participant/personal_info_widget.html b/openslides/participant/templates/participant/personal_info_widget.html index 260469b59..c9e405552 100644 --- a/openslides/participant/templates/participant/personal_info_widget.html +++ b/openslides/participant/templates/participant/personal_info_widget.html @@ -14,7 +14,7 @@ {% endif %} {% empty %} -
  • {% trans "None" %}
  • +
  • {% trans "None" %}
  • {% endfor %} @@ -33,7 +33,7 @@ {% endif %} {% empty %} -
  • {% trans "None" %}
  • +
  • {% trans "None" %}
  • {% endfor %} {% endif %} @@ -44,6 +44,6 @@ {% for assignment in assignments %}
  • {{ assignment }}
  • {% empty %} -
  • {% trans "None" %}
  • +
  • {% trans "None" %}
  • {% endfor %} From 8aec9473035f63cff9f8004d889513897cc13cdb Mon Sep 17 00:00:00 2001 From: Emanuel Schuetze Date: Wed, 21 Nov 2012 23:05:38 +0100 Subject: [PATCH 09/11] Removed unused widget file (duplicate of welcome_widget.html). --- openslides/projector/templates/projector/static_info_widget.html | 1 - 1 file changed, 1 deletion(-) delete mode 100644 openslides/projector/templates/projector/static_info_widget.html diff --git a/openslides/projector/templates/projector/static_info_widget.html b/openslides/projector/templates/projector/static_info_widget.html deleted file mode 100644 index b99a5cbd9..000000000 --- a/openslides/projector/templates/projector/static_info_widget.html +++ /dev/null @@ -1 +0,0 @@ -{{ welcometext|safe|linebreaks }} From cbd04327bb445b0b16ccb68e1e3c44b1f4f93a34 Mon Sep 17 00:00:00 2001 From: Emanuel Schuetze Date: Wed, 21 Nov 2012 23:26:54 +0100 Subject: [PATCH 10/11] Reverted: Administrator can be deleted by other manager. (partly reverted 533c65562d6ad96e77d2281868065a8f73e44e77 after discus it with oskar because import also possible as non-admin) --- openslides/participant/templates/participant/overview.html | 4 +++- openslides/participant/views.py | 2 -- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/openslides/participant/templates/participant/overview.html b/openslides/participant/templates/participant/overview.html index f61afe04f..310cbf04c 100644 --- a/openslides/participant/templates/participant/overview.html +++ b/openslides/participant/templates/participant/overview.html @@ -93,10 +93,12 @@ - {% if user != request_user and not user.is_superuser %} + {% if user != request_user %} + {% endif %} + {% if user != request_user and not user.is_superuser %} diff --git a/openslides/participant/views.py b/openslides/participant/views.py index a055beefb..5b1097295 100644 --- a/openslides/participant/views.py +++ b/openslides/participant/views.py @@ -208,8 +208,6 @@ class UserDeleteView(DeleteView): def pre_redirect(self, request, *args, **kwargs): if self.get_object() == self.request.user: messages.error(request, _("You can not delete yourself.")) - elif self.get_object().is_superuser: - messages.error(request, _("You can not delete the administrator.")) else: super(DeleteView, self).pre_redirect(request, *args, **kwargs) From 073c98d6b1bf4255073e194e4546fd528cef777f Mon Sep 17 00:00:00 2001 From: Andy Kittner Date: Thu, 22 Nov 2012 00:29:20 +0100 Subject: [PATCH 11/11] Remove note about installing openslides before building the portable --- extras/win32-portable/create_portable.txt | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/extras/win32-portable/create_portable.txt b/extras/win32-portable/create_portable.txt index 6213aafd6..5c5fa2c41 100644 --- a/extras/win32-portable/create_portable.txt +++ b/extras/win32-portable/create_portable.txt @@ -6,17 +6,11 @@ How to create a new portable Windows distribution of OpenSlides: easy_install -Z django django-mptt reportlab pil -2.) Install OpenSlides by running in the top directory: - - python setup.py install - - NOTE: This step must be repeated whenever you make changes to OpenSlides. - -3.) Run in the main directory of the OpenSlides checkout: +2.) Run in the main directory of the OpenSlides checkout: python extras\win32-portable\prepare_portable.py -4.) The portable OpenSlides distribution is now ready as a zip archive +3.) The portable OpenSlides distribution is now ready as a zip archive in the 'dist' directory