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

Merge branch 'feature-export-flag' into 'main'

Introduce flag to control which AKs are included in wiki export

Closes #178

See merge request !148
parents 0c6399d0 3db7dc17
Branches
No related tags found
No related merge requests found
......@@ -377,6 +377,7 @@
"notes": "",
"interest": -1,
"interest_counter": 0,
"include_in_export": false,
"event": 2,
"owners": [
1
......
......@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-30 01:57+0100\n"
"POT-Creation-Date: 2022-12-27 00:33+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -25,11 +25,11 @@ msgstr "Status"
msgid "Toggle plan visibility"
msgstr "Plansichtbarkeit ändern"
#: AKModel/admin.py:73 AKModel/admin.py:84 AKModel/views.py:485
#: AKModel/admin.py:73 AKModel/admin.py:84 AKModel/views.py:491
msgid "Publish plan"
msgstr "Plan veröffentlichen"
#: AKModel/admin.py:76 AKModel/admin.py:89 AKModel/views.py:495
#: AKModel/admin.py:76 AKModel/admin.py:89 AKModel/views.py:501
msgid "Unpublish plan"
msgstr "Plan verbergen"
......@@ -53,11 +53,11 @@ msgstr "In Wiki-Syntax exportieren"
msgid "Cannot export AKs from more than one event at the same time."
msgstr "Kann nicht AKs von mehreren Events zur selben Zeit exportieren."
#: AKModel/admin.py:236 AKModel/views.py:465
#: AKModel/admin.py:236 AKModel/views.py:471
msgid "Reset interest in AKs"
msgstr "Interesse an AKs zurücksetzen"
#: AKModel/admin.py:241 AKModel/views.py:475
#: AKModel/admin.py:241 AKModel/views.py:481
msgid "Reset AKs' interest counters"
msgstr "Interessenszähler der AKs zurücksetzen"
......@@ -65,15 +65,15 @@ msgstr "Interessenszähler der AKs zurücksetzen"
msgid "AK Details"
msgstr "AK-Details"
#: AKModel/admin.py:384 AKModel/views.py:435
#: AKModel/admin.py:384 AKModel/views.py:441
msgid "Mark Constraint Violations as manually resolved"
msgstr "Markiere Constraintverletzungen als manuell behoben"
#: AKModel/admin.py:389 AKModel/views.py:445
#: AKModel/admin.py:389 AKModel/views.py:451
msgid "Set Constraint Violations to level \"violation\""
msgstr "Constraintverletzungen auf Level \"Violation\" setzen"
#: AKModel/admin.py:394 AKModel/views.py:455
#: AKModel/admin.py:394 AKModel/views.py:461
msgid "Set Constraint Violations to level \"warning\""
msgstr "Constraintverletzungen auf Level \"Warning\" setzen"
......@@ -103,15 +103,15 @@ msgstr "Bitte Verfügbarkeiten eintragen!"
#: AKModel/availability/models.py:38 AKModel/models.py:56 AKModel/models.py:128
#: AKModel/models.py:183 AKModel/models.py:202 AKModel/models.py:234
#: AKModel/models.py:288 AKModel/models.py:354 AKModel/models.py:387
#: AKModel/models.py:458 AKModel/models.py:499 AKModel/models.py:664
#: AKModel/models.py:288 AKModel/models.py:357 AKModel/models.py:390
#: AKModel/models.py:461 AKModel/models.py:502 AKModel/models.py:667
msgid "Event"
msgstr "Event"
#: AKModel/availability/models.py:39 AKModel/models.py:129
#: AKModel/models.py:184 AKModel/models.py:203 AKModel/models.py:235
#: AKModel/models.py:289 AKModel/models.py:355 AKModel/models.py:388
#: AKModel/models.py:459 AKModel/models.py:500 AKModel/models.py:665
#: AKModel/models.py:289 AKModel/models.py:358 AKModel/models.py:391
#: AKModel/models.py:462 AKModel/models.py:503 AKModel/models.py:668
msgid "Associated event"
msgstr "Zugehöriges Event"
......@@ -123,8 +123,8 @@ msgstr "Person"
msgid "Person whose availability this is"
msgstr "Person deren Verfügbarkeit hier abgebildet wird"
#: AKModel/availability/models.py:56 AKModel/models.py:358
#: AKModel/models.py:377 AKModel/models.py:508
#: AKModel/availability/models.py:56 AKModel/models.py:361
#: AKModel/models.py:380 AKModel/models.py:511
msgid "Room"
msgstr "Raum"
......@@ -132,8 +132,8 @@ msgstr "Raum"
msgid "Room whose availability this is"
msgstr "Raum dessen Verfügbarkeit hier abgebildet wird"
#: AKModel/availability/models.py:65 AKModel/models.py:294
#: AKModel/models.py:376 AKModel/models.py:453
#: AKModel/availability/models.py:65 AKModel/models.py:297
#: AKModel/models.py:379 AKModel/models.py:456
msgid "AK"
msgstr "AK"
......@@ -142,7 +142,7 @@ msgid "AK whose availability this is"
msgstr "Verfügbarkeiten"
#: AKModel/availability/models.py:74 AKModel/models.py:187
#: AKModel/models.py:514
#: AKModel/models.py:517
msgid "AK Category"
msgstr "AK-Kategorie"
......@@ -208,7 +208,7 @@ msgstr ""
"fürWünsche markieren, z.B. um während der Präsentation auf einem Touchscreen "
"ausgefüllt zu werden?"
#: AKModel/forms.py:113 AKModel/models.py:658
#: AKModel/forms.py:113 AKModel/models.py:661
msgid "Default Slots"
msgstr "Standardslots"
......@@ -223,8 +223,8 @@ msgid ""
"Delimiter: Semicolon"
msgstr ""
"Raumdetails im CSV-Format eingeben. Benötigte Spalte ist \"name\", optionale "
"Spalten sind \"location\", \"capacity\", und \"url\" for Online-/Hybridräume"
"Trennzeichen: Semikolon"
"Spalten sind \"location\", \"capacity\", und \"url\" for Online-/"
"HybridräumeTrennzeichen: Semikolon"
#: AKModel/forms.py:136
msgid "CSV must contain a name column"
......@@ -232,7 +232,7 @@ msgstr "CSV muss eine name-Spalte enthalten"
#: AKModel/models.py:18 AKModel/models.py:175 AKModel/models.py:199
#: AKModel/models.py:218 AKModel/models.py:232 AKModel/models.py:250
#: AKModel/models.py:346
#: AKModel/models.py:349
msgid "Name"
msgstr "Name"
......@@ -266,7 +266,7 @@ msgstr "Zeitzone"
msgid "Time Zone where this event takes place in"
msgstr "Zeitzone in der das Event stattfindet"
#: AKModel/models.py:27 AKModel/views.py:246
#: AKModel/models.py:27 AKModel/views.py:251
msgid "Start"
msgstr "Start"
......@@ -406,7 +406,7 @@ msgstr "Internet Link"
msgid "Link to Homepage"
msgstr "Link zu Homepage oder Webseite"
#: AKModel/models.py:132 AKModel/models.py:507
#: AKModel/models.py:132 AKModel/models.py:510
msgid "AK Owner"
msgstr "AK-Leitung"
......@@ -478,7 +478,7 @@ msgstr "AK-Tags"
msgid "Name of the Requirement"
msgstr "Name der Anforderung"
#: AKModel/models.py:238 AKModel/models.py:511
#: AKModel/models.py:238 AKModel/models.py:514
msgid "AK Requirement"
msgstr "AK-Anforderung"
......@@ -617,263 +617,271 @@ msgstr "Interessenszähler"
msgid "People who have indicated interest online"
msgstr "Anzahl Personen, die online Interesse bekundet haben"
#: AKModel/models.py:295 AKModel/models.py:502
#: AKModel/models.py:291
msgid "Export?"
msgstr "Export?"
#: AKModel/models.py:292
msgid "Include AK in wiki export?"
msgstr "AK bei Wiki-Export berücksichtigen?"
#: AKModel/models.py:298 AKModel/models.py:505
#: AKModel/templates/admin/AKModel/status.html:57
#: AKModel/templates/admin/AKModel/status.html:64 AKModel/views.py:364
#: AKModel/templates/admin/AKModel/status.html:64 AKModel/views.py:369
msgid "AKs"
msgstr "AKs"
#: AKModel/models.py:346
#: AKModel/models.py:349
msgid "Name or number of the room"
msgstr "Name oder Nummer des Raums"
#: AKModel/models.py:347
#: AKModel/models.py:350
msgid "Location"
msgstr "Ort"
#: AKModel/models.py:348
#: AKModel/models.py:351
msgid "Name or number of the location"
msgstr "Name oder Nummer des Ortes"
#: AKModel/models.py:349
#: AKModel/models.py:352
msgid "Capacity"
msgstr "Kapazität"
#: AKModel/models.py:350
#: AKModel/models.py:353
msgid "Maximum number of people (-1 for unlimited)."
msgstr "Maximale Personenzahl (-1 wenn unbeschränkt)."
#: AKModel/models.py:351
#: AKModel/models.py:354
msgid "Properties"
msgstr "Eigenschaften"
#: AKModel/models.py:352
#: AKModel/models.py:355
msgid "AK requirements fulfilled by the room"
msgstr "AK-Anforderungen, die dieser Raum erfüllt"
#: AKModel/models.py:359 AKModel/templates/admin/AKModel/status.html:40
#: AKModel/models.py:362 AKModel/templates/admin/AKModel/status.html:40
msgid "Rooms"
msgstr "Räume"
#: AKModel/models.py:376
#: AKModel/models.py:379
msgid "AK being mapped"
msgstr "AK, der zugeordnet wird"
#: AKModel/models.py:378
#: AKModel/models.py:381
msgid "Room the AK will take place in"
msgstr "Raum in dem der AK stattfindet"
#: AKModel/models.py:379 AKModel/models.py:661
#: AKModel/models.py:382 AKModel/models.py:664
msgid "Slot Begin"
msgstr "Beginn des Slots"
#: AKModel/models.py:379 AKModel/models.py:661
#: AKModel/models.py:382 AKModel/models.py:664
msgid "Time and date the slot begins"
msgstr "Zeit und Datum zu der der AK beginnt"
#: AKModel/models.py:381
#: AKModel/models.py:384
msgid "Duration"
msgstr "Dauer"
#: AKModel/models.py:382
#: AKModel/models.py:385
msgid "Length in hours"
msgstr "Länge in Stunden"
#: AKModel/models.py:384
#: AKModel/models.py:387
msgid "Scheduling fixed"
msgstr "Planung fix"
#: AKModel/models.py:385
#: AKModel/models.py:388
msgid "Length and time of this AK should not be changed"
msgstr "Dauer und Zeit dieses AKs sollten nicht verändert werden"
#: AKModel/models.py:390
#: AKModel/models.py:393
msgid "Last update"
msgstr "Letzte Aktualisierung"
#: AKModel/models.py:393
#: AKModel/models.py:396
msgid "AK Slot"
msgstr "AK-Slot"
#: AKModel/models.py:394 AKModel/models.py:504
#: AKModel/models.py:397 AKModel/models.py:507
msgid "AK Slots"
msgstr "AK-Slot"
#: AKModel/models.py:416 AKModel/models.py:425
#: AKModel/models.py:419 AKModel/models.py:428
msgid "Not scheduled yet"
msgstr "Noch nicht geplant"
#: AKModel/models.py:454
#: AKModel/models.py:457
msgid "AK this message belongs to"
msgstr "AK zu dem die Nachricht gehört"
#: AKModel/models.py:455
#: AKModel/models.py:458
msgid "Message text"
msgstr "Nachrichtentext"
#: AKModel/models.py:456
#: AKModel/models.py:459
msgid "Message to the organizers. This is not publicly visible."
msgstr ""
"Nachricht an die Organisator*innen. Diese ist nicht öffentlich sichtbar."
#: AKModel/models.py:462
#: AKModel/models.py:465
msgid "AK Orga Message"
msgstr "AK-Organachricht"
#: AKModel/models.py:463
#: AKModel/models.py:466
msgid "AK Orga Messages"
msgstr "AK-Organachrichten"
#: AKModel/models.py:472
#: AKModel/models.py:475
msgid "Constraint Violation"
msgstr "Constraintverletzung"
#: AKModel/models.py:473 AKModel/templates/admin/AKModel/status.html:87
#: AKModel/models.py:476 AKModel/templates/admin/AKModel/status.html:87
msgid "Constraint Violations"
msgstr "Constraintverletzungen"
#: AKModel/models.py:477
#: AKModel/models.py:480
msgid "Owner has two parallel slots"
msgstr "Leitung hat zwei Slots parallel"
#: AKModel/models.py:478
#: AKModel/models.py:481
msgid "AK Slot was scheduled outside the AK's availabilities"
msgstr "AK Slot wurde außerhalb der Verfügbarkeit des AKs platziert"
#: AKModel/models.py:479
#: AKModel/models.py:482
msgid "Room has two AK slots scheduled at the same time"
msgstr "Raum hat zwei AK Slots gleichzeitig"
#: AKModel/models.py:480
#: AKModel/models.py:483
msgid "Room does not satisfy the requirement of the scheduled AK"
msgstr "Room erfüllt die Anforderungen des platzierten AKs nicht"
#: AKModel/models.py:481
#: AKModel/models.py:484
msgid "AK Slot is scheduled at the same time as an AK listed as a conflict"
msgstr ""
"AK Slot wurde wurde zur gleichen Zeit wie ein Konflikt des AKs platziert"
#: AKModel/models.py:482
#: AKModel/models.py:485
msgid "AK Slot is scheduled before an AK listed as a prerequisite"
msgstr "AK Slot wurde vor einem als Voraussetzung gelisteten AK platziert"
#: AKModel/models.py:484
#: AKModel/models.py:487
msgid ""
"AK Slot for AK with intention to submit a resolution is scheduled after "
"resolution deadline"
msgstr ""
"AK Slot eines AKs mit Resoabsicht wurde nach der Resodeadline platziert"
#: AKModel/models.py:485
#: AKModel/models.py:488
msgid "AK Slot in a category is outside that categories availabilities"
msgstr "AK Slot wurde außerhalb der Verfügbarkeiten seiner Kategorie"
#: AKModel/models.py:486
#: AKModel/models.py:489
msgid "Two AK Slots for the same AK scheduled at the same time"
msgstr "Zwei AK Slots eines AKs wurden zur selben Zeit platziert"
#: AKModel/models.py:487
#: AKModel/models.py:490
msgid "Room does not have enough space for interest in scheduled AK Slot"
msgstr "Room hat nicht genug Platz für das Interesse am geplanten AK-Slot"
#: AKModel/models.py:488
#: AKModel/models.py:491
msgid "AK Slot is scheduled outside the event's availabilities"
msgstr "AK Slot wurde außerhalb der Verfügbarkeit des Events platziert"
#: AKModel/models.py:491
#: AKModel/models.py:494
msgid "Warning"
msgstr "Warnung"
#: AKModel/models.py:492
#: AKModel/models.py:495
msgid "Violation"
msgstr "Verletzung"
#: AKModel/models.py:494
#: AKModel/models.py:497
msgid "Type"
msgstr "Art"
#: AKModel/models.py:495
#: AKModel/models.py:498
msgid "Type of violation, i.e. what kind of constraint was violated"
msgstr "Art der Verletzung, gibt an welche Art Constraint verletzt wurde"
#: AKModel/models.py:496
#: AKModel/models.py:499
msgid "Level"
msgstr "Level"
#: AKModel/models.py:497
#: AKModel/models.py:500
msgid "Severity level of the violation"
msgstr "Schweregrad der Verletzung"
#: AKModel/models.py:503
#: AKModel/models.py:506
msgid "AK(s) belonging to this constraint"
msgstr "AK(s), die zu diesem Constraint gehören"
#: AKModel/models.py:505
#: AKModel/models.py:508
msgid "AK Slot(s) belonging to this constraint"
msgstr "AK Slot(s), die zu diesem Constraint gehören"
#: AKModel/models.py:507
#: AKModel/models.py:510
msgid "AK Owner belonging to this constraint"
msgstr "AK Leitung(en), die zu diesem Constraint gehören"
#: AKModel/models.py:509
#: AKModel/models.py:512
msgid "Room belonging to this constraint"
msgstr "Raum, der zu diesem Constraint gehört"
#: AKModel/models.py:512
#: AKModel/models.py:515
msgid "AK Requirement belonging to this constraint"
msgstr "AK Anforderung, die zu diesem Constraint gehört"
#: AKModel/models.py:514
#: AKModel/models.py:517
msgid "AK Category belonging to this constraint"
msgstr "AK Kategorie, di zu diesem Constraint gehört"
#: AKModel/models.py:516
#: AKModel/models.py:519
msgid "Comment"
msgstr "Kommentar"
#: AKModel/models.py:516
#: AKModel/models.py:519
msgid "Comment or further details for this violation"
msgstr "Kommentar oder weitere Details zu dieser Vereletzung"
#: AKModel/models.py:519
#: AKModel/models.py:522
msgid "Timestamp"
msgstr "Timestamp"
#: AKModel/models.py:519
#: AKModel/models.py:522
msgid "Time of creation"
msgstr "Zeitpunkt der ERstellung"
#: AKModel/models.py:520
#: AKModel/models.py:523
msgid "Manually Resolved"
msgstr "Manuell behoben"
#: AKModel/models.py:521
#: AKModel/models.py:524
msgid "Mark this violation manually as resolved"
msgstr "Markiere diese Verletzung manuell als behoben"
#: AKModel/models.py:548
#: AKModel/models.py:551
#: AKModel/templates/admin/AKModel/requirements_overview.html:27
msgid "Details"
msgstr "Details"
#: AKModel/models.py:657
#: AKModel/models.py:660
msgid "Default Slot"
msgstr "Standardslot"
#: AKModel/models.py:662
#: AKModel/models.py:665
msgid "Slot End"
msgstr "Ende des Slots"
#: AKModel/models.py:662
#: AKModel/models.py:665
msgid "Time and date the slot ends"
msgstr "Zeit und Datum zu der der Slot endet"
#: AKModel/models.py:667
#: AKModel/models.py:670
msgid "Primary categories"
msgstr "Primäre Kategorien"
#: AKModel/models.py:668
#: AKModel/models.py:671
msgid "Categories that should be assigned to this slot primarily"
msgstr "Kategorieren, die diesem Slot primär zugewiesen werden sollen"
......@@ -924,7 +932,7 @@ msgid "Successfully imported.<br><br>Do you want to activate your event now?"
msgstr "Erfolgreich importiert.<br><br>Soll das Event jetzt aktiviert werden?"
#: AKModel/templates/admin/AKModel/event_wizard/activate.html:27
#: AKModel/views.py:251
#: AKModel/views.py:256
msgid "Finish"
msgstr "Abschluss"
......@@ -1017,7 +1025,7 @@ msgstr "Bisher keine Räume"
msgid "Add Room"
msgstr "Raum hinzufügen"
#: AKModel/templates/admin/AKModel/status.html:55 AKModel/views.py:582
#: AKModel/templates/admin/AKModel/status.html:55 AKModel/views.py:588
msgid "Import Rooms from CSV"
msgstr "Räume aus CSV importieren"
......@@ -1046,7 +1054,7 @@ msgstr "AKs, die besondere Aufmerksamkeit benötigen"
msgid "Enter Interest"
msgstr "Interesse erfassen"
#: AKModel/templates/admin/AKModel/status.html:94 AKModel/views.py:507
#: AKModel/templates/admin/AKModel/status.html:94 AKModel/views.py:513
msgid "Edit Default Slots"
msgstr "Standardslots bearbeiten"
......@@ -1062,7 +1070,7 @@ msgstr "AKs als CSV exportieren"
msgid "Export AKs for Wiki"
msgstr "AKs im Wiki-Format exportieren"
#: AKModel/templates/admin/AKModel/status.html:102 AKModel/views.py:334
#: AKModel/templates/admin/AKModel/status.html:102 AKModel/views.py:339
msgid "Export AK Slides"
msgstr "AK-Folien exportieren"
......@@ -1115,162 +1123,162 @@ msgstr "Login"
msgid "Register"
msgstr "Registrieren"
#: AKModel/views.py:152
#: AKModel/views.py:154
msgid "Event Status"
msgstr "Eventstatus"
#: AKModel/views.py:165
#: AKModel/views.py:167
msgid "Requirements for Event"
msgstr "Anforderungen für das Event"
#: AKModel/views.py:179
#: AKModel/views.py:181
msgid "AK CSV Export"
msgstr "AK-CSV-Export"
#: AKModel/views.py:193
#: AKModel/views.py:195
msgid "AK Wiki Export"
msgstr "AK-Wiki-Export"
#: AKModel/views.py:201 AKModel/views.py:350
#: AKModel/views.py:206 AKModel/views.py:355
msgid "Wishes"
msgstr "Wünsche"
#: AKModel/views.py:222
#: AKModel/views.py:227
msgid "Delete AK Orga Messages"
msgstr "AK-Organachrichten löschen"
#: AKModel/views.py:237
#: AKModel/views.py:242
msgid "AK Orga Messages successfully deleted"
msgstr "AK-Organachrichten erfolgreich gelöscht"
#: AKModel/views.py:247
#: AKModel/views.py:252
msgid "Settings"
msgstr "Einstellungen"
#: AKModel/views.py:248
#: AKModel/views.py:253
msgid "Event created, Prepare Import"
msgstr "Event angelegt, Import vorbereiten"
#: AKModel/views.py:249
#: AKModel/views.py:254
msgid "Import categories & requirements"
msgstr "Kategorien & Anforderungen kopieren"
#: AKModel/views.py:250
#: AKModel/views.py:255
msgid "Activate?"
msgstr "Aktivieren?"
#: AKModel/views.py:309
#: AKModel/views.py:314
#, python-format
msgid "Copied '%(obj)s'"
msgstr "'%(obj)s' kopiert"
#: AKModel/views.py:312
#: AKModel/views.py:317
#, python-format
msgid "Could not copy '%(obj)s' (%(error)s)"
msgstr "'%(obj)s' konnte nicht kopiert werden (%(error)s)"
#: AKModel/views.py:345
#: AKModel/views.py:350
msgid "Symbols"
msgstr "Symbole"
#: AKModel/views.py:346
#: AKModel/views.py:351
msgid "Who?"
msgstr "Wer?"
#: AKModel/views.py:347
#: AKModel/views.py:352
msgid "Duration(s)"
msgstr "Dauer(n)"
#: AKModel/views.py:348
#: AKModel/views.py:353
msgid "Reso intention?"
msgstr "Resolutionsabsicht?"
#: AKModel/views.py:349
#: AKModel/views.py:354
msgid "Category (for Wishes)"
msgstr "Kategorie (für Wünsche)"
#: AKModel/views.py:437
#: AKModel/views.py:443
msgid "The following Constraint Violations will be marked as manually resolved"
msgstr ""
"Die folgenden Constraintverletzungen werden als manuell behoben markiert."
#: AKModel/views.py:438
#: AKModel/views.py:444
msgid "Constraint Violations marked as resolved"
msgstr "Constraintverletzungen als manuell behoben markiert"
#: AKModel/views.py:447
#: AKModel/views.py:453
msgid "The following Constraint Violations will be set to level 'violation'"
msgstr ""
"Die folgenden Constraintverletzungen werden auf das Level \"Violation\" "
"gesetzt."
#: AKModel/views.py:448
#: AKModel/views.py:454
msgid "Constraint Violations set to level 'violation'"
msgstr "Constraintverletzungen auf Level \"Violation\" gesetzt"
#: AKModel/views.py:457
#: AKModel/views.py:463
msgid "The following Constraint Violations will be set to level 'warning'"
msgstr ""
"Die folgenden Constraintverletzungen werden auf das Level 'warning' gesetzt."
#: AKModel/views.py:458
#: AKModel/views.py:464
msgid "Constraint Violations set to level 'warning'"
msgstr "Constraintverletzungen auf Level \"Warning\" gesetzt"
#: AKModel/views.py:467
#: AKModel/views.py:473
msgid "Interest of the following AKs will be set to not filled (-1):"
msgstr "Interesse an den folgenden AKs wird auf nicht ausgefüllt (-1) gesetzt:"
#: AKModel/views.py:468
#: AKModel/views.py:474
msgid "Reset of interest in AKs successful."
msgstr "Interesse an AKs erfolgreich zurückgesetzt."
#: AKModel/views.py:477
#: AKModel/views.py:483
msgid "Interest counter of the following AKs will be set to 0:"
msgstr "Interessensbekundungszähler der folgenden AKs wird auf 0 gesetzt:"
#: AKModel/views.py:478
#: AKModel/views.py:484
msgid "AKs' interest counters set back to 0."
msgstr "Interessenszähler der AKs zurückgesetzt"
#: AKModel/views.py:487
#: AKModel/views.py:493
msgid "Publish the plan(s) of:"
msgstr "Den Plan/die Pläne veröffentlichen von:"
#: AKModel/views.py:488
#: AKModel/views.py:494
msgid "Plan published"
msgstr "Plan veröffentlicht"
#: AKModel/views.py:497
#: AKModel/views.py:503
msgid "Unpublish the plan(s) of:"
msgstr "Den Plan/die Pläne verbergen von:"
#: AKModel/views.py:498
#: AKModel/views.py:504
msgid "Plan unpublished"
msgstr "Plan verborgen"
#: AKModel/views.py:544
#: AKModel/views.py:550
#, python-brace-format
msgid "Could not update slot {id} since it does not belong to {event}"
msgstr ""
"Konnte Slot {id} nicht bearbeiten, da er nicht zum Event {event} gehört"
#: AKModel/views.py:574
#: AKModel/views.py:580
#, python-brace-format
msgid "Updated {u} slot(s). created {c} new slot(s) and deleted {d} slot(s)"
msgstr ""
"{u} Slot(s) aktualisiert, {c} Slot(s) hinzugefügt und {d} Slot(s) gelöscht"
#: AKModel/views.py:611
#: AKModel/views.py:624
#, python-brace-format
msgid "Could not import room {name}: {e}"
msgstr "Konnte Raum {name} nicht importieren: {e}"
#: AKModel/views.py:615
#: AKModel/views.py:628
#, python-brace-format
msgid "Imported {count} room(s)"
msgstr "{count} Raum/Räume importiert"
#: AKModel/views.py:617
#: AKModel/views.py:630
msgid "No rooms imported"
msgstr "Keine Räume importiert"
# Generated by Django 3.2.16 on 2022-12-26 22:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('AKModel', '0054_default_slots'),
]
operations = [
migrations.AddField(
model_name='ak',
name='include_in_export',
field=models.BooleanField(default=True, help_text='Include AK in wiki export?', verbose_name='Export?'),
),
]
......@@ -92,10 +92,10 @@ class Event(models.Model):
for category in categories:
ak_list = []
for ak in category.ak_set.all():
if ak.wish:
ak_wishes.append(ak)
else:
if filter(ak):
if filter(ak):
if ak.wish:
ak_wishes.append(ak)
else:
ak_list.append(ak)
if not hide_empty_categories or len(ak_list) > 0:
categories_with_aks.append((category, ak_list))
......@@ -288,7 +288,10 @@ class AK(models.Model):
event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name=_('Event'),
help_text=_('Associated event'))
history = HistoricalRecords(excluded_fields=['interest_counter'])
include_in_export = models.BooleanField(default=True, verbose_name=_('Export?'),
help_text=_("Include AK in wiki export?"))
history = HistoricalRecords(excluded_fields=['interest_counter', 'include_in_export'])
class Meta:
verbose_name = _('AK')
......
......@@ -110,3 +110,20 @@ class ModelViewTests(BasicViewTests, TestCase):
view_name_with_prefix, url = self._name_and_url((f'admin:AKModel_{model[1]}_change', {'object_id': m.pk}))
response = self.client.get(url)
self.assertEqual(response.status_code, 200, msg=f"Edit form for model {model[1]} ({url}) broken")
def test_wiki_export(self):
self.client.force_login(self.admin_user)
export_url = reverse_lazy(f"admin:ak_wiki_export", kwargs={'slug': 'kif42'})
response = self.client.get(export_url)
self.assertEqual(response.status_code, 200, "Export not working at all")
export_count = 0
for category, aks in response.context["categories_with_aks"]:
for ak in aks:
self.assertEqual(ak.include_in_export, True, f"AK with export flag set to False (pk={ak.pk}) included in export")
self.assertNotEqual(ak.pk, 1, "AK known to be excluded from export (PK 1) included in export")
export_count += 1
self.assertEqual(export_count, AK.objects.filter(event_id=2, include_in_export=True).count(),
"Wiki export contained the wrong number of AKs")
......@@ -197,7 +197,10 @@ class AKWikiExportView(AdminViewMixin, DetailView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
categories_with_aks, ak_wishes = context["event"].get_categories_with_aks(wishes_seperately=True)
categories_with_aks, ak_wishes = context["event"].get_categories_with_aks(
wishes_seperately=True,
filter=lambda ak: ak.include_in_export
)
context["categories_with_aks"] = [(category.name, ak_list) for category, ak_list in categories_with_aks]
context["categories_with_aks"].append((_("Wishes"), ak_wishes))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment