Skip to content
Snippets Groups Projects
Commit 0a62d76a authored by Nadja Geisler's avatar Nadja Geisler :sunny:
Browse files

Merge branch 'feature-hidden-plan' into 'master'

Introduce hidden plan

Closes #60

See merge request kif/akplanning!41
parents 31fa6e50 c32e4962
No related branches found
No related tags found
No related merge requests found
Showing
with 360 additions and 294 deletions
...@@ -8,7 +8,7 @@ msgid "" ...@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-05-16 20:26+0000\n" "POT-Creation-Date: 2020-05-19 20:46+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
...@@ -75,23 +75,23 @@ msgstr "" ...@@ -75,23 +75,23 @@ msgstr ""
msgid "AK List" msgid "AK List"
msgstr "AK Liste" msgstr "AK Liste"
#: AKDashboard/templates/AKDashboard/dashboard_row.html:23 #: AKDashboard/templates/AKDashboard/dashboard_row.html:24
msgid "Current AKs" msgid "Current AKs"
msgstr "Aktuelle AKs" msgstr "Aktuelle AKs"
#: AKDashboard/templates/AKDashboard/dashboard_row.html:30 #: AKDashboard/templates/AKDashboard/dashboard_row.html:31
msgid "AK Wall" msgid "AK Wall"
msgstr "AK-Wall" msgstr "AK-Wall"
#: AKDashboard/templates/AKDashboard/dashboard_row.html:38 #: AKDashboard/templates/AKDashboard/dashboard_row.html:39
msgid "Schedule" msgid "Schedule"
msgstr "AK-Plan" msgstr "AK-Plan"
#: AKDashboard/templates/AKDashboard/dashboard_row.html:48 #: AKDashboard/templates/AKDashboard/dashboard_row.html:50
msgid "AK Submission" msgid "AK Submission"
msgstr "AK-Submission" msgstr "AK-Submission"
#: AKDashboard/templates/AKDashboard/dashboard_row.html:64 #: AKDashboard/templates/AKDashboard/dashboard_row.html:66
msgid "Write to organizers of this event for questions and comments" msgid "Write to organizers of this event for questions and comments"
msgstr "" msgstr ""
"Kontaktiere die Organisator*innen des Events bei Fragen oder Kommentaren" "Kontaktiere die Organisator*innen des Events bei Fragen oder Kommentaren"
...@@ -15,29 +15,31 @@ ...@@ -15,29 +15,31 @@
</a> </a>
{% endif %} {% endif %}
{% if 'AKPlan'|check_app_installed %} {% if 'AKPlan'|check_app_installed %}
{% if event.active %} {% if not event.plan_hidden or user.is_staff %}
<a class="dashboard-box btn btn-primary" {% if event.active %}
href="{% url 'plan:plan_overview' event_slug=event.slug %}"> <a class="dashboard-box btn btn-primary"
<div class="col-sm-12 col-md-3 col-lg-2 dashboard-button"> href="{% url 'plan:plan_overview' event_slug=event.slug %}">
<span class="fa fa-clock"></span> <div class="col-sm-12 col-md-3 col-lg-2 dashboard-button">
<span class='text'>{% trans 'Current AKs' %}</span> <span class="fa fa-clock"></span>
</div> <span class='text'>{% trans 'Current AKs' %}</span>
</a> </div>
<a class="dashboard-box btn btn-primary" </a>
href="{% url 'plan:plan_wall' event_slug=event.slug %}"> <a class="dashboard-box btn btn-primary"
<div class="col-sm-12 col-md-3 col-lg-2 dashboard-button"> href="{% url 'plan:plan_wall' event_slug=event.slug %}">
<span class="fa fa-calendar"></span> <div class="col-sm-12 col-md-3 col-lg-2 dashboard-button">
<span class='text'>{% trans 'AK Wall' %}</span> <span class="fa fa-calendar"></span>
</div> <span class='text'>{% trans 'AK Wall' %}</span>
</a> </div>
{% else %} </a>
<a class="dashboard-box btn btn-primary" {% else %}
href="{% url 'plan:plan_overview' event_slug=event.slug %}"> <a class="dashboard-box btn btn-primary"
<div class="col-sm-12 col-md-3 col-lg-2 dashboard-button"> href="{% url 'plan:plan_overview' event_slug=event.slug %}">
<span class="fa fa-calendar-alt"></span> <div class="col-sm-12 col-md-3 col-lg-2 dashboard-button">
<span class='text'>{% trans 'Schedule' %}</span> <span class="fa fa-calendar-alt"></span>
</div> <span class='text'>{% trans 'Schedule' %}</span>
</a> </div>
</a>
{% endif %}
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if 'AKSubmission'|check_app_installed and event.active %} {% if 'AKSubmission'|check_app_installed and event.active %}
......
...@@ -2,7 +2,7 @@ msgid "" ...@@ -2,7 +2,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-05-19 18:41+0000\n" "POT-Creation-Date: 2020-05-19 20:46+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
...@@ -56,15 +56,15 @@ msgstr "Die eingegebene Verfügbarkeit enthält ein ungültiges Datum." ...@@ -56,15 +56,15 @@ msgstr "Die eingegebene Verfügbarkeit enthält ein ungültiges Datum."
msgid "Please fill in your availabilities!" msgid "Please fill in your availabilities!"
msgstr "Bitte Verfügbarkeiten eintragen!" msgstr "Bitte Verfügbarkeiten eintragen!"
#: AKModel/availability/models.py:38 AKModel/models.py:39 AKModel/models.py:68 #: AKModel/availability/models.py:38 AKModel/models.py:41 AKModel/models.py:70
#: AKModel/models.py:120 AKModel/models.py:139 AKModel/models.py:171 #: AKModel/models.py:122 AKModel/models.py:141 AKModel/models.py:173
#: AKModel/models.py:224 AKModel/models.py:266 AKModel/models.py:296 #: AKModel/models.py:226 AKModel/models.py:268 AKModel/models.py:298
msgid "Event" msgid "Event"
msgstr "Event" msgstr "Event"
#: AKModel/availability/models.py:39 AKModel/models.py:69 AKModel/models.py:121 #: AKModel/availability/models.py:39 AKModel/models.py:71 AKModel/models.py:123
#: AKModel/models.py:140 AKModel/models.py:172 AKModel/models.py:225 #: AKModel/models.py:142 AKModel/models.py:174 AKModel/models.py:227
#: AKModel/models.py:267 AKModel/models.py:297 #: AKModel/models.py:269 AKModel/models.py:299
msgid "Associated event" msgid "Associated event"
msgstr "Zugehöriges Event" msgstr "Zugehöriges Event"
...@@ -76,8 +76,8 @@ msgstr "Person" ...@@ -76,8 +76,8 @@ msgstr "Person"
msgid "Person whose availability this is" msgid "Person whose availability this is"
msgstr "Person deren Verfügbarkeit hier abgebildet wird" msgstr "Person deren Verfügbarkeit hier abgebildet wird"
#: AKModel/availability/models.py:56 AKModel/models.py:270 #: AKModel/availability/models.py:56 AKModel/models.py:272
#: AKModel/models.py:289 #: AKModel/models.py:291
msgid "Room" msgid "Room"
msgstr "Raum" msgstr "Raum"
...@@ -85,8 +85,8 @@ msgstr "Raum" ...@@ -85,8 +85,8 @@ msgstr "Raum"
msgid "Room whose availability this is" msgid "Room whose availability this is"
msgstr "Raum dessen Verfügbarkeit hier abgebildet wird" msgstr "Raum dessen Verfügbarkeit hier abgebildet wird"
#: AKModel/availability/models.py:65 AKModel/models.py:230 #: AKModel/availability/models.py:65 AKModel/models.py:232
#: AKModel/models.py:288 #: AKModel/models.py:290
msgid "AK" msgid "AK"
msgstr "AK" msgstr "AK"
...@@ -94,7 +94,7 @@ msgstr "AK" ...@@ -94,7 +94,7 @@ msgstr "AK"
msgid "AK whose availability this is" msgid "AK whose availability this is"
msgstr "Verfügbarkeiten" msgstr "Verfügbarkeiten"
#: AKModel/availability/models.py:74 AKModel/models.py:124 #: AKModel/availability/models.py:74 AKModel/models.py:126
msgid "AK Category" msgid "AK Category"
msgstr "AK Kategorie" msgstr "AK Kategorie"
...@@ -106,9 +106,9 @@ msgstr "AK Kategorie dessen Verfügbarkeit hier abgebildet wird" ...@@ -106,9 +106,9 @@ msgstr "AK Kategorie dessen Verfügbarkeit hier abgebildet wird"
msgid "Availabilities" msgid "Availabilities"
msgstr "Verfügbarkeiten" msgstr "Verfügbarkeiten"
#: AKModel/models.py:16 AKModel/models.py:115 AKModel/models.py:136 #: AKModel/models.py:16 AKModel/models.py:117 AKModel/models.py:138
#: AKModel/models.py:155 AKModel/models.py:169 AKModel/models.py:187 #: AKModel/models.py:157 AKModel/models.py:171 AKModel/models.py:189
#: AKModel/models.py:259 #: AKModel/models.py:261
msgid "Name" msgid "Name"
msgstr "Name" msgstr "Name"
...@@ -166,27 +166,35 @@ msgstr "Aktiver Status" ...@@ -166,27 +166,35 @@ msgstr "Aktiver Status"
msgid "Marks currently active events" msgid "Marks currently active events"
msgstr "Markiert aktuell aktive Events" msgstr "Markiert aktuell aktive Events"
#: AKModel/models.py:30 #: AKModel/models.py:29
msgid "Plan Hidden"
msgstr "Plan verborgen"
#: AKModel/models.py:29
msgid "Hides plan for non-staff users"
msgstr "Verbirgt den Plan für Nutzer*innen ohne erweiterte Rechte"
#: AKModel/models.py:32
msgid "Base URL" msgid "Base URL"
msgstr "URL-Prefix" msgstr "URL-Prefix"
#: AKModel/models.py:30 #: AKModel/models.py:32
msgid "Prefix for wiki link construction" msgid "Prefix for wiki link construction"
msgstr "Prefix für die automatische Generierung von Wiki-Links" msgstr "Prefix für die automatische Generierung von Wiki-Links"
#: AKModel/models.py:31 #: AKModel/models.py:33
msgid "Default Slot Length" msgid "Default Slot Length"
msgstr "Standardslotlänge" msgstr "Standardslotlänge"
#: AKModel/models.py:32 #: AKModel/models.py:34
msgid "Default length in hours that is assumed for AKs in this event." msgid "Default length in hours that is assumed for AKs in this event."
msgstr "Standardlänge von Slots (in Stunden) für dieses Event" msgstr "Standardlänge von Slots (in Stunden) für dieses Event"
#: AKModel/models.py:34 #: AKModel/models.py:36
msgid "Contact email address" msgid "Contact email address"
msgstr "E-Mail Kontaktadresse" msgstr "E-Mail Kontaktadresse"
#: AKModel/models.py:36 #: AKModel/models.py:38
msgid "" msgid ""
"An email address that is displayed on every page and can be used for all " "An email address that is displayed on every page and can be used for all "
"kinds of questions" "kinds of questions"
...@@ -194,208 +202,208 @@ msgstr "" ...@@ -194,208 +202,208 @@ msgstr ""
"Eine Mailadresse die auf jeder Seite angezeigt wird und für alle Arten von " "Eine Mailadresse die auf jeder Seite angezeigt wird und für alle Arten von "
"Fragen genutzt werden kann" "Fragen genutzt werden kann"
#: AKModel/models.py:40 #: AKModel/models.py:42
msgid "Events" msgid "Events"
msgstr "Events" msgstr "Events"
#: AKModel/models.py:63 #: AKModel/models.py:65
msgid "Nickname" msgid "Nickname"
msgstr "Spitzname" msgstr "Spitzname"
#: AKModel/models.py:63 #: AKModel/models.py:65
msgid "Name to identify an AK owner by" msgid "Name to identify an AK owner by"
msgstr "Name durch den eine AK Leitung identifiziert wird" msgstr "Name durch den eine AK Leitung identifiziert wird"
#: AKModel/models.py:64 #: AKModel/models.py:66
msgid "Slug" msgid "Slug"
msgstr "Slug" msgstr "Slug"
#: AKModel/models.py:64 #: AKModel/models.py:66
msgid "Slug for URL generation" msgid "Slug for URL generation"
msgstr "Slug für URL-Generierung" msgstr "Slug für URL-Generierung"
#: AKModel/models.py:65 #: AKModel/models.py:67
msgid "Institution" msgid "Institution"
msgstr "Instutution" msgstr "Instutution"
#: AKModel/models.py:65 #: AKModel/models.py:67
msgid "Uni etc." msgid "Uni etc."
msgstr "Universität o.ä." msgstr "Universität o.ä."
#: AKModel/models.py:66 AKModel/models.py:196 #: AKModel/models.py:68 AKModel/models.py:198
msgid "Web Link" msgid "Web Link"
msgstr "Internet Link" msgstr "Internet Link"
#: AKModel/models.py:66 #: AKModel/models.py:68
msgid "Link to Homepage" msgid "Link to Homepage"
msgstr "Link zu Homepage oder Webseite" msgstr "Link zu Homepage oder Webseite"
#: AKModel/models.py:72 #: AKModel/models.py:74
msgid "AK Owner" msgid "AK Owner"
msgstr "AK Leitung" msgstr "AK Leitung"
#: AKModel/models.py:73 #: AKModel/models.py:75
msgid "AK Owners" msgid "AK Owners"
msgstr "AK Leitungen" msgstr "AK Leitungen"
#: AKModel/models.py:115 #: AKModel/models.py:117
msgid "Name of the AK Category" msgid "Name of the AK Category"
msgstr "Name des AK Kategorie" msgstr "Name des AK Kategorie"
#: AKModel/models.py:116 AKModel/models.py:137 #: AKModel/models.py:118 AKModel/models.py:139
msgid "Color" msgid "Color"
msgstr "Farbe" msgstr "Farbe"
#: AKModel/models.py:116 AKModel/models.py:137 #: AKModel/models.py:118 AKModel/models.py:139
msgid "Color for displaying" msgid "Color for displaying"
msgstr "Farbe für die Anzeige" msgstr "Farbe für die Anzeige"
#: AKModel/models.py:117 AKModel/models.py:190 #: AKModel/models.py:119 AKModel/models.py:192
msgid "Description" msgid "Description"
msgstr "Beschreibung" msgstr "Beschreibung"
#: AKModel/models.py:118 #: AKModel/models.py:120
msgid "Short description of this AK Category" msgid "Short description of this AK Category"
msgstr "Beschreibung der AK-Kategorie" msgstr "Beschreibung der AK-Kategorie"
#: AKModel/models.py:125 #: AKModel/models.py:127
msgid "AK Categories" msgid "AK Categories"
msgstr "AK Kategorien" msgstr "AK Kategorien"
#: AKModel/models.py:136 #: AKModel/models.py:138
msgid "Name of the AK Track" msgid "Name of the AK Track"
msgstr "Name des AK Tracks" msgstr "Name des AK Tracks"
#: AKModel/models.py:143 #: AKModel/models.py:145
msgid "AK Track" msgid "AK Track"
msgstr "AK Track" msgstr "AK Track"
#: AKModel/models.py:144 #: AKModel/models.py:146
msgid "AK Tracks" msgid "AK Tracks"
msgstr "AK Tracks" msgstr "AK Tracks"
#: AKModel/models.py:155 #: AKModel/models.py:157
msgid "Name of the AK Tag" msgid "Name of the AK Tag"
msgstr "Name das AK Tags" msgstr "Name das AK Tags"
#: AKModel/models.py:158 #: AKModel/models.py:160
msgid "AK Tag" msgid "AK Tag"
msgstr "AK Tag" msgstr "AK Tag"
#: AKModel/models.py:159 #: AKModel/models.py:161
msgid "AK Tags" msgid "AK Tags"
msgstr "AK Tags" msgstr "AK Tags"
#: AKModel/models.py:169 #: AKModel/models.py:171
msgid "Name of the Requirement" msgid "Name of the Requirement"
msgstr "Name der Anforderung" msgstr "Name der Anforderung"
#: AKModel/models.py:175 #: AKModel/models.py:177
msgid "AK Requirement" msgid "AK Requirement"
msgstr "AK Anforderung" msgstr "AK Anforderung"
#: AKModel/models.py:176 #: AKModel/models.py:178
msgid "AK Requirements" msgid "AK Requirements"
msgstr "AK Anforderungen" msgstr "AK Anforderungen"
#: AKModel/models.py:187 #: AKModel/models.py:189
msgid "Name of the AK" msgid "Name of the AK"
msgstr "Name des AKs" msgstr "Name des AKs"
#: AKModel/models.py:188 #: AKModel/models.py:190
msgid "Short Name" msgid "Short Name"
msgstr "Kurzer Name" msgstr "Kurzer Name"
#: AKModel/models.py:189 #: AKModel/models.py:191
msgid "Name displayed in the schedule" msgid "Name displayed in the schedule"
msgstr "Name zur Anzeige im AK Plan" msgstr "Name zur Anzeige im AK Plan"
#: AKModel/models.py:190 #: AKModel/models.py:192
msgid "Description of the AK" msgid "Description of the AK"
msgstr "Beschreibung des AKs" msgstr "Beschreibung des AKs"
#: AKModel/models.py:192 #: AKModel/models.py:194
msgid "Owners" msgid "Owners"
msgstr "Leitungen" msgstr "Leitungen"
#: AKModel/models.py:193 #: AKModel/models.py:195
msgid "Those organizing the AK" msgid "Those organizing the AK"
msgstr "Menschen, die den AK organisieren und halten" msgstr "Menschen, die den AK organisieren und halten"
#: AKModel/models.py:196 #: AKModel/models.py:198
msgid "Link to wiki page" msgid "Link to wiki page"
msgstr "Link zur Wiki Seite" msgstr "Link zur Wiki Seite"
#: AKModel/models.py:198 #: AKModel/models.py:200
msgid "Category" msgid "Category"
msgstr "Kategorie" msgstr "Kategorie"
#: AKModel/models.py:199 #: AKModel/models.py:201
msgid "Category of the AK" msgid "Category of the AK"
msgstr "Kategorie des AKs" msgstr "Kategorie des AKs"
#: AKModel/models.py:200 #: AKModel/models.py:202
msgid "Tags" msgid "Tags"
msgstr "Tags" msgstr "Tags"
#: AKModel/models.py:200 #: AKModel/models.py:202
msgid "Tags provided by owners" msgid "Tags provided by owners"
msgstr "Tags, die durch die AK Leitung vergeben wurden" msgstr "Tags, die durch die AK Leitung vergeben wurden"
#: AKModel/models.py:201 #: AKModel/models.py:203
msgid "Track" msgid "Track"
msgstr "Track" msgstr "Track"
#: AKModel/models.py:202 #: AKModel/models.py:204
msgid "Track the AK belongs to" msgid "Track the AK belongs to"
msgstr "Track zu dem der AK gehört" msgstr "Track zu dem der AK gehört"
#: AKModel/models.py:204 #: AKModel/models.py:206
msgid "Resolution Intention" msgid "Resolution Intention"
msgstr "Resolutionsabsicht" msgstr "Resolutionsabsicht"
#: AKModel/models.py:205 #: AKModel/models.py:207
msgid "Intends to submit a resolution" msgid "Intends to submit a resolution"
msgstr "Beabsichtigt eine Resolution einzureichen" msgstr "Beabsichtigt eine Resolution einzureichen"
#: AKModel/models.py:206 #: AKModel/models.py:208
msgid "Present this AK" msgid "Present this AK"
msgstr "AK Präsentieren" msgstr "AK Präsentieren"
#: AKModel/models.py:207 #: AKModel/models.py:209
msgid "Present results of this AK" msgid "Present results of this AK"
msgstr "Die Ergebnisse dieses AKs vorstellen" msgstr "Die Ergebnisse dieses AKs vorstellen"
#: AKModel/models.py:209 #: AKModel/models.py:211
msgid "Requirements" msgid "Requirements"
msgstr "Anforderungen" msgstr "Anforderungen"
#: AKModel/models.py:210 #: AKModel/models.py:212
msgid "AK's Requirements" msgid "AK's Requirements"
msgstr "Anforderungen des AKs" msgstr "Anforderungen des AKs"
#: AKModel/models.py:212 #: AKModel/models.py:214
msgid "Conflicting AKs" msgid "Conflicting AKs"
msgstr "AK Konflikte" msgstr "AK Konflikte"
#: AKModel/models.py:213 #: AKModel/models.py:215
msgid "AKs that conflict and thus must not take place at the same time" msgid "AKs that conflict and thus must not take place at the same time"
msgstr "" msgstr ""
"AKs, die Konflikte haben und deshalb nicht gleichzeitig stattfinden dürfen" "AKs, die Konflikte haben und deshalb nicht gleichzeitig stattfinden dürfen"
#: AKModel/models.py:214 #: AKModel/models.py:216
msgid "Prerequisite AKs" msgid "Prerequisite AKs"
msgstr "Vorausgesetzte AKs" msgstr "Vorausgesetzte AKs"
#: AKModel/models.py:215 #: AKModel/models.py:217
msgid "AKs that should precede this AK in the schedule" msgid "AKs that should precede this AK in the schedule"
msgstr "AKS die im AK Plan vor diesem AK stattfinden müssen" msgstr "AKS die im AK Plan vor diesem AK stattfinden müssen"
#: AKModel/models.py:217 #: AKModel/models.py:219
msgid "Organizational Notes" msgid "Organizational Notes"
msgstr "Notizen zur Organisation" msgstr "Notizen zur Organisation"
#: AKModel/models.py:218 #: AKModel/models.py:220
msgid "" msgid ""
"Notes to organizers. These are public. For private notes, please send an e-" "Notes to organizers. These are public. For private notes, please send an e-"
"mail." "mail."
...@@ -403,96 +411,96 @@ msgstr "" ...@@ -403,96 +411,96 @@ msgstr ""
"Notizen an die Organisator*innen. Diese sind öffentlich, für private " "Notizen an die Organisator*innen. Diese sind öffentlich, für private "
"Anmerkungen bitte eine E-Mail schicken." "Anmerkungen bitte eine E-Mail schicken."
#: AKModel/models.py:220 #: AKModel/models.py:222
msgid "Interest" msgid "Interest"
msgstr "Interesse" msgstr "Interesse"
#: AKModel/models.py:220 #: AKModel/models.py:222
msgid "Expected number of people" msgid "Expected number of people"
msgstr "Erwartete Personenzahl" msgstr "Erwartete Personenzahl"
#: AKModel/models.py:221 #: AKModel/models.py:223
msgid "Interest Counter" msgid "Interest Counter"
msgstr "Interessenszähler" msgstr "Interessenszähler"
#: AKModel/models.py:222 #: AKModel/models.py:224
msgid "People who have indicated interest online" msgid "People who have indicated interest online"
msgstr "Anzahl Personen, die online Interesse bekundet haben" msgstr "Anzahl Personen, die online Interesse bekundet haben"
#: AKModel/models.py:231 AKModel/templates/admin/AKModel/status.html:47 #: AKModel/models.py:233 AKModel/templates/admin/AKModel/status.html:47
#: AKModel/templates/admin/AKModel/status.html:54 #: AKModel/templates/admin/AKModel/status.html:54
msgid "AKs" msgid "AKs"
msgstr "AKs" msgstr "AKs"
#: AKModel/models.py:259 #: AKModel/models.py:261
msgid "Name or number of the room" msgid "Name or number of the room"
msgstr "Name oder Nummer des Raums" msgstr "Name oder Nummer des Raums"
#: AKModel/models.py:260 #: AKModel/models.py:262
msgid "Location" msgid "Location"
msgstr "Ort" msgstr "Ort"
#: AKModel/models.py:261 #: AKModel/models.py:263
msgid "Name or number of the location" msgid "Name or number of the location"
msgstr "Name oder Nummer des Ortes" msgstr "Name oder Nummer des Ortes"
#: AKModel/models.py:262 #: AKModel/models.py:264
msgid "Capacity" msgid "Capacity"
msgstr "Kapazität" msgstr "Kapazität"
#: AKModel/models.py:262 #: AKModel/models.py:264
msgid "Maximum number of people" msgid "Maximum number of people"
msgstr "Maximale Personenzahl" msgstr "Maximale Personenzahl"
#: AKModel/models.py:263 #: AKModel/models.py:265
msgid "Properties" msgid "Properties"
msgstr "Eigenschaften" msgstr "Eigenschaften"
#: AKModel/models.py:264 #: AKModel/models.py:266
msgid "AK requirements fulfilled by the room" msgid "AK requirements fulfilled by the room"
msgstr "AK Anforderungen, die dieser Raum erfüllt" msgstr "AK Anforderungen, die dieser Raum erfüllt"
#: AKModel/models.py:271 AKModel/templates/admin/AKModel/status.html:31 #: AKModel/models.py:273 AKModel/templates/admin/AKModel/status.html:31
msgid "Rooms" msgid "Rooms"
msgstr "Räume" msgstr "Räume"
#: AKModel/models.py:288 #: AKModel/models.py:290
msgid "AK being mapped" msgid "AK being mapped"
msgstr "AK, der zugeordnet wird" msgstr "AK, der zugeordnet wird"
#: AKModel/models.py:290 #: AKModel/models.py:292
msgid "Room the AK will take place in" msgid "Room the AK will take place in"
msgstr "Raum in dem der AK stattfindet" msgstr "Raum in dem der AK stattfindet"
#: AKModel/models.py:291 #: AKModel/models.py:293
msgid "Slot Begin" msgid "Slot Begin"
msgstr "Beginn des Slots" msgstr "Beginn des Slots"
#: AKModel/models.py:291 #: AKModel/models.py:293
msgid "Time and date the slot begins" msgid "Time and date the slot begins"
msgstr "Zeit und Datum zu der der AK beginnt" msgstr "Zeit und Datum zu der der AK beginnt"
#: AKModel/models.py:293 #: AKModel/models.py:295
msgid "Duration" msgid "Duration"
msgstr "Dauer" msgstr "Dauer"
#: AKModel/models.py:294 #: AKModel/models.py:296
msgid "Length in hours" msgid "Length in hours"
msgstr "Länge in Stunden" msgstr "Länge in Stunden"
#: AKModel/models.py:299 #: AKModel/models.py:301
msgid "Last update" msgid "Last update"
msgstr "Letzte Aktualisierung" msgstr "Letzte Aktualisierung"
#: AKModel/models.py:302 #: AKModel/models.py:304
msgid "AK Slot" msgid "AK Slot"
msgstr "AK Slot" msgstr "AK Slot"
#: AKModel/models.py:303 #: AKModel/models.py:305
msgid "AK Slots" msgid "AK Slots"
msgstr "AK Slot" msgstr "AK Slot"
#: AKModel/models.py:317 #: AKModel/models.py:319
msgid "Not scheduled yet" msgid "Not scheduled yet"
msgstr "Noch nicht geplant" msgstr "Noch nicht geplant"
......
# Generated by Django 3.0.6 on 2020-05-19 20:08
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('AKModel', '0034_room_rename_field'),
]
operations = [
migrations.AddField(
model_name='event',
name='plan_hidden',
field=models.BooleanField(default=True, help_text='Hides plan for non-staff users', verbose_name='Plan Hidden'),
),
]
...@@ -26,6 +26,8 @@ class Event(models.Model): ...@@ -26,6 +26,8 @@ class Event(models.Model):
end = models.DateTimeField(verbose_name=_('End'), help_text=_('Time the event ends')) end = models.DateTimeField(verbose_name=_('End'), help_text=_('Time the event ends'))
active = models.BooleanField(verbose_name=_('Active State'), help_text=_('Marks currently active events')) active = models.BooleanField(verbose_name=_('Active State'), help_text=_('Marks currently active events'))
plan_hidden = models.BooleanField(verbose_name=_('Plan Hidden'), help_text=_('Hides plan for non-staff users'),
default=True)
base_url = models.URLField(verbose_name=_("Base URL"), help_text=_("Prefix for wiki link construction"), blank=True) base_url = models.URLField(verbose_name=_("Base URL"), help_text=_("Prefix for wiki link construction"), blank=True)
default_slot = models.DecimalField(max_digits=4, decimal_places=2, default=2, verbose_name=_('Default Slot Length'), default_slot = models.DecimalField(max_digits=4, decimal_places=2, default=2, verbose_name=_('Default Slot Length'),
......
...@@ -8,7 +8,7 @@ msgid "" ...@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-05-19 07:23+0000\n" "POT-Creation-Date: 2020-05-19 20:46+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
...@@ -21,64 +21,70 @@ msgstr "" ...@@ -21,64 +21,70 @@ msgstr ""
msgid "Write to organizers of this event for questions and comments" msgid "Write to organizers of this event for questions and comments"
msgstr "Fragen oder Kommentare? Schreib den Orgas dieses Events eine Mail" msgstr "Fragen oder Kommentare? Schreib den Orgas dieses Events eine Mail"
#: AKPlan/templates/AKPlan/plan_index.html:40 #: AKPlan/templates/AKPlan/plan_index.html:41
msgid "Day" msgid "Day"
msgstr "Tag" msgstr "Tag"
#: AKPlan/templates/AKPlan/plan_index.html:50 #: AKPlan/templates/AKPlan/plan_index.html:51
msgid "Event" msgid "Event"
msgstr "Veranstaltung" msgstr "Veranstaltung"
#: AKPlan/templates/AKPlan/plan_index.html:59 #: AKPlan/templates/AKPlan/plan_index.html:60
#: AKPlan/templates/AKPlan/plan_room.html:13 #: AKPlan/templates/AKPlan/plan_room.html:13
#: AKPlan/templates/AKPlan/plan_room.html:48 #: AKPlan/templates/AKPlan/plan_room.html:48
#: AKPlan/templates/AKPlan/plan_wall.html:64 #: AKPlan/templates/AKPlan/plan_wall.html:64
msgid "Room" msgid "Room"
msgstr "Raum" msgstr "Raum"
#: AKPlan/templates/AKPlan/plan_index.html:74 #: AKPlan/templates/AKPlan/plan_index.html:76
#: AKPlan/templates/AKPlan/plan_room.html:11 #: AKPlan/templates/AKPlan/plan_room.html:11
#: AKPlan/templates/AKPlan/plan_track.html:9 #: AKPlan/templates/AKPlan/plan_track.html:9
msgid "AK Plan" msgid "AK Plan"
msgstr "AK-Plan" msgstr "AK-Plan"
#: AKPlan/templates/AKPlan/plan_index.html:86 #: AKPlan/templates/AKPlan/plan_index.html:88
#: AKPlan/templates/AKPlan/plan_room.html:38 #: AKPlan/templates/AKPlan/plan_room.html:38
msgid "Rooms" msgid "Rooms"
msgstr "Räume" msgstr "Räume"
#: AKPlan/templates/AKPlan/plan_index.html:99 #: AKPlan/templates/AKPlan/plan_index.html:101
#: AKPlan/templates/AKPlan/plan_track.html:36 #: AKPlan/templates/AKPlan/plan_track.html:36
msgid "Tracks" msgid "Tracks"
msgstr "Tracks" msgstr "Tracks"
#: AKPlan/templates/AKPlan/plan_index.html:111 #: AKPlan/templates/AKPlan/plan_index.html:113
msgid "AK Wall" msgid "AK Wall"
msgstr "AK-Wall" msgstr "AK-Wall"
#: AKPlan/templates/AKPlan/plan_index.html:123 #: AKPlan/templates/AKPlan/plan_index.html:126
#: AKPlan/templates/AKPlan/plan_wall.html:88 #: AKPlan/templates/AKPlan/plan_wall.html:88
msgid "Current AKs" msgid "Current AKs"
msgstr "Aktuelle AKs" msgstr "Aktuelle AKs"
#: AKPlan/templates/AKPlan/plan_index.html:130 #: AKPlan/templates/AKPlan/plan_index.html:133
#: AKPlan/templates/AKPlan/plan_wall.html:93 #: AKPlan/templates/AKPlan/plan_wall.html:93
msgid "Next AKs" msgid "Next AKs"
msgstr "Nächste AKs" msgstr "Nächste AKs"
#: AKPlan/templates/AKPlan/plan_index.html:138 #: AKPlan/templates/AKPlan/plan_index.html:141
msgid "This event is not active." msgid "This event is not active."
msgstr "Dieses Event ist nicht aktiv." msgstr "Dieses Event ist nicht aktiv."
#: AKPlan/templates/AKPlan/plan_index.html:152
#: AKPlan/templates/AKPlan/plan_room.html:66
#: AKPlan/templates/AKPlan/plan_track.html:58
msgid "Plan is not visible (yet)."
msgstr "Plan ist (noch) nicht sichtbar"
#: AKPlan/templates/AKPlan/plan_room.html:52 #: AKPlan/templates/AKPlan/plan_room.html:52
msgid "Go to virtual room" msgid "Go to virtual room"
msgstr "Zum virtuellen Raum" msgstr "Zum virtuellen Raum"
#: AKPlan/templates/AKPlan/plan_room.html:67 #: AKPlan/templates/AKPlan/plan_room.html:73
msgid "Capacity" msgid "Capacity"
msgstr "Kapazität" msgstr "Kapazität"
#: AKPlan/templates/AKPlan/plan_room.html:71 #: AKPlan/templates/AKPlan/plan_room.html:77
msgid "Properties" msgid "Properties"
msgstr "Eigenschaften" msgstr "Eigenschaften"
......
...@@ -46,16 +46,18 @@ ...@@ -46,16 +46,18 @@
eventColor: '#127ba3', eventColor: '#127ba3',
// Create entries for all scheduled slots // Create entries for all scheduled slots
events: [ events: [
{% for slot in ak.akslot_set.all %} {% if not ak.event.plan_hidden or user.is_staff %}
{% if slot.start %} {% for slot in ak.akslot_set.all %}
{ {% if slot.start %}
'title': '{{ slot.room }}', {
'start': '{{ slot.start | timezone:ak.event.timezone | date:"Y-m-d H:i:s" }}', 'title': '{{ slot.room }}',
'end': '{{ slot.end | timezone:ak.event.timezone | date:"Y-m-d H:i:s" }}', 'start': '{{ slot.start | timezone:ak.event.timezone | date:"Y-m-d H:i:s" }}',
'url' : '{% url "plan:plan_room" event_slug=ak.event.slug pk=slot.room.pk %}' 'end': '{{ slot.end | timezone:ak.event.timezone | date:"Y-m-d H:i:s" }}',
}, 'url' : '{% url "plan:plan_room" event_slug=ak.event.slug pk=slot.room.pk %}'
{% endif %} },
{% endfor %} {% endif %}
{% endfor %}
{% endif %}
{% for a in availabilities %} {% for a in availabilities %}
{ {
title: '{{ Verfuegbarkeit }}', title: '{{ Verfuegbarkeit }}',
......
...@@ -7,47 +7,49 @@ ...@@ -7,47 +7,49 @@
{% block fullcalendar %} {% block fullcalendar %}
{% get_current_language as LANGUAGE_CODE %} {% if not event.plan_hidden or user.is_staff %}
{% get_current_language as LANGUAGE_CODE %}
<link href='{% static 'AKPlan/vendor/fullcalendar/daygrid/main.min.css' %}' rel='stylesheet'/>
<link href='{% static 'AKPlan/vendor/fullcalendar/timegrid/main.min.css' %}' rel='stylesheet'/> <link href='{% static 'AKPlan/vendor/fullcalendar/daygrid/main.min.css' %}' rel='stylesheet'/>
<link href='{% static 'AKPlan/vendor/fullcalendar/timegrid/main.min.css' %}' rel='stylesheet'/>
<script src='{% static 'AKPlan/vendor/fullcalendar/daygrid/main.min.js' %}'></script>
<script src='{% static 'AKPlan/vendor/fullcalendar/timegrid/main.min.js' %}'></script> <script src='{% static 'AKPlan/vendor/fullcalendar/daygrid/main.min.js' %}'></script>
<script src='{% static 'AKPlan/vendor/fullcalendar/timegrid/main.min.js' %}'></script>
<script>
document.addEventListener('DOMContentLoaded', function () { <script>
var calendarEl = document.getElementById('planCalendar'); document.addEventListener('DOMContentLoaded', function () {
var calendarEl = document.getElementById('planCalendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
plugins: ['timeGrid', 'bootstrap'], var calendar = new FullCalendar.Calendar(calendarEl, {
// Adapt to timezone of the connected event plugins: ['timeGrid', 'bootstrap'],
timeZone: '{{ event.timezone }}', // Adapt to timezone of the connected event
defaultView: 'timeGrid', timeZone: '{{ event.timezone }}',
// Adapt to user selected locale defaultView: 'timeGrid',
locale: '{{ LANGUAGE_CODE }}', // Adapt to user selected locale
// No header, not buttons locale: '{{ LANGUAGE_CODE }}',
header: { // No header, not buttons
left: '', header: {
center: '', left: '',
right: '' center: '',
}, right: ''
aspectRatio: 2, },
themeSystem: 'bootstrap', aspectRatio: 2,
// Only show calendar view for the dates of the connected event themeSystem: 'bootstrap',
visibleRange: { // Only show calendar view for the dates of the connected event
start: '{{ event.start | timezone:event.timezone | date:"Y-m-d H:i:s" }}', visibleRange: {
end: '{{ event.end | timezone:event.timezone | date:"Y-m-d H:i:s"}}', start: '{{ event.start | timezone:event.timezone | date:"Y-m-d H:i:s" }}',
}, end: '{{ event.end | timezone:event.timezone | date:"Y-m-d H:i:s"}}',
allDaySlot: false, },
nowIndicator: true, allDaySlot: false,
eventTextColor: '#fff', nowIndicator: true,
eventColor: '#127ba3', eventTextColor: '#fff',
// Create entries for all scheduled slots eventColor: '#127ba3',
events: {% block encode %}{% endblock %} // Create entries for all scheduled slots
events: {% block encode %}{% endblock %}
});
calendar.render();
}); });
</script>
calendar.render(); {% endif %}
});
</script>
{% endblock %} {% endblock %}
...@@ -7,64 +7,66 @@ ...@@ -7,64 +7,66 @@
{% block fullcalendar %} {% block fullcalendar %}
{% get_current_language as LANGUAGE_CODE %} {% if not event.plan_hidden or user.is_staff %}
{% get_current_language as LANGUAGE_CODE %}
<link href='{% static 'AKPlan/vendor/fullcalendar/timeline/main.css' %}' rel='stylesheet'/>
<link href='{% static 'AKPlan/vendor/fullcalendar/resource-timeline/main.css' %}' rel='stylesheet'/> <link href='{% static 'AKPlan/vendor/fullcalendar/timeline/main.css' %}' rel='stylesheet'/>
<link href='{% static 'AKPlan/vendor/fullcalendar/resource-timeline/main.min.css' %}' rel='stylesheet'/> <link href='{% static 'AKPlan/vendor/fullcalendar/resource-timeline/main.css' %}' rel='stylesheet'/>
<link href='{% static 'AKPlan/vendor/fullcalendar/resource-timeline/main.min.css' %}' rel='stylesheet'/>
<script src='{% static 'AKPlan/vendor/fullcalendar/timeline/main.js' %}'></script>
<script src='{% static 'AKPlan/vendor/fullcalendar/resource-common/main.js' %}'></script> <script src='{% static 'AKPlan/vendor/fullcalendar/timeline/main.js' %}'></script>
<script src='{% static 'AKPlan/vendor/fullcalendar/resource-timeline/main.js' %}'></script> <script src='{% static 'AKPlan/vendor/fullcalendar/resource-common/main.js' %}'></script>
<script src='{% static 'AKPlan/vendor/fullcalendar/resource-timeline/main.js' %}'></script>
<script>
document.addEventListener('DOMContentLoaded', function () { <script>
var planEl = document.getElementById('planCalendar'); document.addEventListener('DOMContentLoaded', function () {
var planEl = document.getElementById('planCalendar');
var plan = new FullCalendar.Calendar(planEl, {
plugins: ['resourceTimeline', 'bootstrap'], var plan = new FullCalendar.Calendar(planEl, {
timeZone: '{{ event.timezone }}', plugins: ['resourceTimeline', 'bootstrap'],
header: { timeZone: '{{ event.timezone }}',
left: 'today prev,next', header: {
center: 'title', left: 'today prev,next',
right: 'resourceTimelineDay,resourceTimelineEvent' center: 'title',
}, right: 'resourceTimelineDay,resourceTimelineEvent'
aspectRatio: 2,
themeSystem: 'bootstrap',
// Adapt to user selected locale
locale: '{{ LANGUAGE_CODE }}',
defaultView: 'resourceTimelineEvent',
views: {
resourceTimelineDay: {
type: 'resourceTimeline',
buttonText: '{% trans "Day" %}',
slotDuration: '01:00',
scrollTime: '08:00',
}, },
resourceTimelineEvent: { aspectRatio: 2,
type: 'resourceTimeline', themeSystem: 'bootstrap',
visibleRange: { // Adapt to user selected locale
start: '{{ event.start | timezone:event.timezone | date:"Y-m-d H:i:s" }}', locale: '{{ LANGUAGE_CODE }}',
end: '{{ event.end | timezone:event.timezone | date:"Y-m-d H:i:s"}}', defaultView: 'resourceTimelineEvent',
views: {
resourceTimelineDay: {
type: 'resourceTimeline',
buttonText: '{% trans "Day" %}',
slotDuration: '01:00',
scrollTime: '08:00',
}, },
buttonText: '{% trans "Event" %}', resourceTimelineEvent: {
} type: 'resourceTimeline',
}, visibleRange: {
editable: false, start: '{{ event.start | timezone:event.timezone | date:"Y-m-d H:i:s" }}',
allDaySlot: false, end: '{{ event.end | timezone:event.timezone | date:"Y-m-d H:i:s"}}',
nowIndicator: true, },
eventTextColor: '#fff', buttonText: '{% trans "Event" %}',
eventColor: '#127ba3', }
resourceAreaWidth: '15%', },
resourceLabelText: '{% trans "Room" %}', editable: false,
resources: {% include "AKPlan/encode_rooms.html" %}, allDaySlot: false,
events: {% with akslots as slots %}{% include "AKPlan/encode_events.html" %}{% endwith %}, nowIndicator: true,
schedulerLicenseKey: 'GPL-My-Project-Is-Open-Source', eventTextColor: '#fff',
eventColor: '#127ba3',
resourceAreaWidth: '15%',
resourceLabelText: '{% trans "Room" %}',
resources: {% include "AKPlan/encode_rooms.html" %},
events: {% with akslots as slots %}{% include "AKPlan/encode_events.html" %}{% endwith %},
schedulerLicenseKey: 'GPL-My-Project-Is-Open-Source',
});
plan.render();
}); });
</script>
plan.render(); {% endif %}
});
</script>
{% endblock %} {% endblock %}
...@@ -118,31 +120,39 @@ ...@@ -118,31 +120,39 @@
{% timezone event.timezone %} {% timezone event.timezone %}
<div class="row" style="margin-top:30px;"> <div class="row" style="margin-top:30px;">
{% if event.active %} {% if not event.plan_hidden or user.is_staff %}
<div class="col-md-6"> {% if event.active %}
<h2><a name="currentAKs">{% trans "Current AKs" %}:</a></h2> <div class="col-md-6">
{% with akslots_now as slots %} <h2><a name="currentAKs">{% trans "Current AKs" %}:</a></h2>
{% include "AKPlan/slots_table.html" %} {% with akslots_now as slots %}
{% endwith %} {% include "AKPlan/slots_table.html" %}
</div> {% endwith %}
</div>
<div class="col-md-6"> <div class="col-md-6">
<h2><a name="currentAKs">{% trans "Next AKs" %}:</a></h2> <h2><a name="currentAKs">{% trans "Next AKs" %}:</a></h2>
{% with akslots_next as slots %} {% with akslots_next as slots %}
{% include "AKPlan/slots_table.html" %} {% include "AKPlan/slots_table.html" %}
{% endwith %} {% endwith %}
</div>
{% else %}
<div class="col-md-12">
<div class="alert alert-warning">
<p class="mb-0">{% trans "This event is not active." %}</p>
</div>
</div>
{% endif %}
<div class="col-md-12">
<div id="planCalendar" style="margin-top:30px;"></div>
</div> </div>
{% else %} {% else %}
<div class="col-md-12"> <div class="col-md-12">
<div class="alert alert-warning"> <div class="alert alert-warning">
<p class="mb-0">{% trans "This event is not active." %}</p> <p class="mb-0">{% trans "Plan is not visible (yet)." %}</p>
</div> </div>
</div> </div>
{% endif %} {% endif %}
<div class="col-md-12">
<div id="planCalendar" style="margin-top:30px;"></div>
</div>
</div> </div>
{% endtimezone %} {% endtimezone %}
{% endblock %} {% endblock %}
...@@ -53,13 +53,19 @@ ...@@ -53,13 +53,19 @@
</a> </a>
{% endif %} {% endif %}
{% timezone event.timezone %} {% if not event.plan_hidden or user.is_staff %}
<div class="row" style="margin-top:30px;clear:both;"> {% timezone event.timezone %}
<div class="col-md-12"> <div class="row" style="margin-top:30px;clear:both;">
<div id="planCalendar"></div> <div class="col-md-12">
<div id="planCalendar"></div>
</div>
</div> </div>
{% endtimezone %}
{% else %}
<div class="alert alert-warning mt-3">
<p class="mb-0">{% trans "Plan is not visible (yet)." %}</p>
</div> </div>
{% endtimezone %} {% endif %}
<table class="table table-borderless" style="margin-top: 30px;"> <table class="table table-borderless" style="margin-top: 30px;">
<tbody> <tbody>
......
...@@ -45,11 +45,17 @@ ...@@ -45,11 +45,17 @@
<h1>Plan: {{ event }} ({% trans "Track" %}: {{ track }})</h1> <h1>Plan: {{ event }} ({% trans "Track" %}: {{ track }})</h1>
{% timezone event.timezone %} {% if not event.plan_hidden or user.is_staff %}
<div class="row" style="margin-top:30px;clear: both;"> {% timezone event.timezone %}
<div class="col-md-12"> <div class="row" style="margin-top:30px;clear:both;">
<div id="planCalendar"></div> <div class="col-md-12">
<div id="planCalendar"></div>
</div>
</div> </div>
{% endtimezone %}
{% else %}
<div class="alert alert-warning mt-3">
<p class="mb-0">{% trans "Plan is not visible (yet)." %}</p>
</div> </div>
{% endtimezone %} {% endif %}
{% endblock %} {% endblock %}
...@@ -63,7 +63,7 @@ class PlanScreenView(PlanIndexView): ...@@ -63,7 +63,7 @@ class PlanScreenView(PlanIndexView):
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
s = super().get(request, *args, **kwargs) s = super().get(request, *args, **kwargs)
# Don't show wall when event is not active -> redirect to normal schedule # Don't show wall when event is not active -> redirect to normal schedule
if not self.event.active: if not self.event.active or (self.event.plan_hidden and not request.user.is_staff):
return redirect(reverse_lazy("plan:plan_overview", kwargs={"event_slug": self.event.slug})) return redirect(reverse_lazy("plan:plan_overview", kwargs={"event_slug": self.event.slug}))
return s return s
......
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package. # This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# #
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-05-19 18:41+0000\n" "POT-Creation-Date: 2020-05-19 20:46+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
...@@ -96,7 +96,7 @@ msgid "History" ...@@ -96,7 +96,7 @@ msgid "History"
msgstr "Versionsgeschichte" msgstr "Versionsgeschichte"
#: AKSubmission/templates/AKSubmission/ak_detail.html:48 #: AKSubmission/templates/AKSubmission/ak_detail.html:48
#: AKSubmission/templates/AKSubmission/ak_detail.html:153 #: AKSubmission/templates/AKSubmission/ak_detail.html:157
#: AKSubmission/templates/AKSubmission/ak_edit.html:16 #: AKSubmission/templates/AKSubmission/ak_edit.html:16
#: AKSubmission/templates/AKSubmission/ak_table.html:53 #: AKSubmission/templates/AKSubmission/ak_table.html:53
msgid "Edit" msgid "Edit"
...@@ -149,35 +149,35 @@ msgid "Notes" ...@@ -149,35 +149,35 @@ msgid "Notes"
msgstr "Notizen" msgstr "Notizen"
#: AKSubmission/templates/AKSubmission/ak_detail.html:132 #: AKSubmission/templates/AKSubmission/ak_detail.html:132
msgid "When?"
msgstr "Wann?"
#: AKSubmission/templates/AKSubmission/ak_detail.html:133
#: AKSubmission/templates/AKSubmission/akslot_delete.html:35 #: AKSubmission/templates/AKSubmission/akslot_delete.html:35
msgid "Duration" msgid "Duration"
msgstr "Dauer" msgstr "Dauer"
#: AKSubmission/templates/AKSubmission/ak_detail.html:134 #: AKSubmission/templates/AKSubmission/ak_detail.html:134
msgid "When?"
msgstr "Wann?"
#: AKSubmission/templates/AKSubmission/ak_detail.html:135
msgid "Room" msgid "Room"
msgstr "Raum" msgstr "Raum"
#: AKSubmission/templates/AKSubmission/ak_detail.html:156 #: AKSubmission/templates/AKSubmission/ak_detail.html:160
msgid "Delete" msgid "Delete"
msgstr "Löschen" msgstr "Löschen"
#: AKSubmission/templates/AKSubmission/ak_detail.html:168 #: AKSubmission/templates/AKSubmission/ak_detail.html:172
msgid "Add another slot" msgid "Add another slot"
msgstr "Einen neuen AK-Slot hinzufügen" msgstr "Einen neuen AK-Slot hinzufügen"
#: AKSubmission/templates/AKSubmission/ak_detail.html:172 #: AKSubmission/templates/AKSubmission/ak_detail.html:176
msgid "Possible Times" msgid "Possible Times"
msgstr "Mögliche Zeiten" msgstr "Mögliche Zeiten"
#: AKSubmission/templates/AKSubmission/ak_detail.html:176 #: AKSubmission/templates/AKSubmission/ak_detail.html:180
msgid "Start" msgid "Start"
msgstr "Start" msgstr "Start"
#: AKSubmission/templates/AKSubmission/ak_detail.html:177 #: AKSubmission/templates/AKSubmission/ak_detail.html:181
msgid "End" msgid "End"
msgstr "Ende" msgstr "Ende"
......
...@@ -129,24 +129,28 @@ ...@@ -129,24 +129,28 @@
<table class="table"> <table class="table">
<thead> <thead>
<tr> <tr>
<th>{% trans "When?" %}</th>
<th>{% trans "Duration" %}</th> <th>{% trans "Duration" %}</th>
<th>{% trans "Room" %}</th> {% if not ak.event.plan_hidden or user.is_staff %}
<th>{% trans "When?" %}</th>
<th>{% trans "Room" %}</th>
{% endif %}
<th></th> <th></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for slot in ak.akslot_set.all %} {% for slot in ak.akslot_set.all %}
<tr> <tr>
<td>{{ slot.start_simplified }}</td>
<td>{{ slot.duration }}</td> <td>{{ slot.duration }}</td>
<td> {% if not ak.event.plan_hidden or user.is_staff %}
{% if "AKPlan"|check_app_installed and slot.room %} <td>{{ slot.start_simplified }}</td>
<a href="{% url 'plan:plan_room' event_slug=ak.event.slug pk=slot.room.pk %}">{{ slot.room }}</a> <td>
{% else %} {% if "AKPlan"|check_app_installed and slot.room %}
{{ slot.room }} <a href="{% url 'plan:plan_room' event_slug=ak.event.slug pk=slot.room.pk %}">{{ slot.room }}</a>
{% endif %} {% else %}
</td> {{ slot.room }}
{% endif %}
</td>
{% endif %}
<td> <td>
{% if not slot.start %} {% if not slot.start %}
<a href="{% url 'submit:akslot_edit' event_slug=ak.event.slug pk=slot.pk %}" <a href="{% url 'submit:akslot_edit' event_slug=ak.event.slug pk=slot.pk %}"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment