diff --git a/AKDashboard/locale/de_DE/LC_MESSAGES/django.po b/AKDashboard/locale/de_DE/LC_MESSAGES/django.po index 0ba6ef4f81583d6490b5dadaa378bc8727673384..b641a0390f938bff9519e523f82186b554ec586e 100644 --- a/AKDashboard/locale/de_DE/LC_MESSAGES/django.po +++ b/AKDashboard/locale/de_DE/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-12 22:53+0000\n" +"POT-Creation-Date: 2020-05-16 20:26+0000\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" diff --git a/AKModel/admin.py b/AKModel/admin.py index d6925995c6e9c5d8e607d783ecbb6600d96e36e5..219246236c6383161475fac2239cd182c47963b3 100644 --- a/AKModel/admin.py +++ b/AKModel/admin.py @@ -141,10 +141,10 @@ class AKAdmin(SimpleHistoryAdmin): @admin.register(Room) class RoomAdmin(admin.ModelAdmin): model = Room - list_display = ['name', 'building', 'capacity', 'event'] - list_filter = ['building', 'properties', 'event'] + list_display = ['name', 'location', 'capacity', 'event'] + list_filter = ['location', 'properties', 'event'] list_editable = [] - ordering = ['building', 'name'] + ordering = ['location', 'name'] def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == 'event': diff --git a/AKModel/locale/de_DE/LC_MESSAGES/django.po b/AKModel/locale/de_DE/LC_MESSAGES/django.po index 800c4f445d2abb891eaebefd860027fb2007fcf0..a3b9c6b794bce34dc13cb60072acc9e0016e6bef 100644 --- a/AKModel/locale/de_DE/LC_MESSAGES/django.po +++ b/AKModel/locale/de_DE/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-14 22:48+0000\n" +"POT-Creation-Date: 2020-05-17 21:09+0000\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" @@ -33,7 +33,9 @@ msgstr "Verfügbarkeit" #: AKModel/availability/forms.py:22 msgid "Please click and drag to mark the availability during the event." -msgstr "Bitte klicken und ziehen um die Verfügbarkeiten während des Events zu markieren." +msgstr "" +"Bitte klicken und ziehen um die Verfügbarkeiten während des Events zu " +"markieren." #: AKModel/availability/forms.py:86 msgid "The submitted availability does not comply with the required format." @@ -47,15 +49,15 @@ msgstr "Die eingegebene Verfügbarkeit enthält ein ungültiges Datum." msgid "Please fill in your availabilities!" msgstr "Bitte Verfügbarkeiten eintragen!" -#: AKModel/availability/models.py:38 AKModel/models.py:40 AKModel/models.py:69 -#: AKModel/models.py:121 AKModel/models.py:140 AKModel/models.py:172 -#: AKModel/models.py:225 AKModel/models.py:267 AKModel/models.py:297 +#: AKModel/availability/models.py:38 AKModel/models.py:39 AKModel/models.py:68 +#: AKModel/models.py:120 AKModel/models.py:139 AKModel/models.py:171 +#: AKModel/models.py:224 AKModel/models.py:266 AKModel/models.py:296 msgid "Event" msgstr "Event" -#: AKModel/availability/models.py:39 AKModel/models.py:70 AKModel/models.py:122 -#: AKModel/models.py:141 AKModel/models.py:173 AKModel/models.py:226 -#: AKModel/models.py:268 AKModel/models.py:298 +#: AKModel/availability/models.py:39 AKModel/models.py:69 AKModel/models.py:121 +#: AKModel/models.py:140 AKModel/models.py:172 AKModel/models.py:225 +#: AKModel/models.py:267 AKModel/models.py:297 msgid "Associated event" msgstr "Zugehöriges Event" @@ -67,8 +69,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:271 -#: AKModel/models.py:290 +#: AKModel/availability/models.py:56 AKModel/models.py:270 +#: AKModel/models.py:289 msgid "Room" msgstr "Raum" @@ -76,8 +78,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:231 -#: AKModel/models.py:289 +#: AKModel/availability/models.py:65 AKModel/models.py:230 +#: AKModel/models.py:288 msgid "AK" msgstr "AK" @@ -85,7 +87,7 @@ msgstr "AK" msgid "AK whose availability this is" msgstr "Verfügbarkeiten" -#: AKModel/availability/models.py:74 AKModel/models.py:125 +#: AKModel/availability/models.py:74 AKModel/models.py:124 msgid "AK Category" msgstr "AK Kategorie" @@ -97,87 +99,87 @@ msgstr "AK Kategorie dessen Verfügbarkeit hier abgebildet wird" msgid "Availabilities" msgstr "Verfügbarkeiten" -#: AKModel/models.py:17 AKModel/models.py:116 AKModel/models.py:137 -#: AKModel/models.py:156 AKModel/models.py:170 AKModel/models.py:188 -#: AKModel/models.py:260 +#: AKModel/models.py:16 AKModel/models.py:115 AKModel/models.py:136 +#: AKModel/models.py:155 AKModel/models.py:169 AKModel/models.py:187 +#: AKModel/models.py:259 msgid "Name" msgstr "Name" -#: AKModel/models.py:18 +#: AKModel/models.py:17 msgid "Name or iteration of the event" msgstr "Name oder Iteration des Events" -#: AKModel/models.py:19 +#: AKModel/models.py:18 msgid "Short Form" msgstr "Kurzer Name" -#: AKModel/models.py:20 +#: AKModel/models.py:19 msgid "Short name of letters/numbers/dots/dashes/underscores used in URLs." msgstr "" "Kurzname bestehend aus Buchstaben, Nummern, Punkten und Unterstrichen zur " "Nutzung in URLs" -#: AKModel/models.py:22 +#: AKModel/models.py:21 msgid "Place" msgstr "Ort" -#: AKModel/models.py:23 +#: AKModel/models.py:22 msgid "City etc. the event takes place in" msgstr "Stadt o.ä. in der das Event stattfindet" -#: AKModel/models.py:25 +#: AKModel/models.py:24 msgid "Time Zone" msgstr "Zeitzone" -#: AKModel/models.py:25 +#: AKModel/models.py:24 msgid "Time Zone where this event takes place in" msgstr "Zeitzone in der das Event stattfindet" -#: AKModel/models.py:26 +#: AKModel/models.py:25 msgid "Start" msgstr "Start" -#: AKModel/models.py:26 +#: AKModel/models.py:25 msgid "Time the event begins" msgstr "Zeit zu der das Event beginnt" -#: AKModel/models.py:27 +#: AKModel/models.py:26 msgid "End" msgstr "Ende" -#: AKModel/models.py:27 +#: AKModel/models.py:26 msgid "Time the event ends" msgstr "Zeit zu der das Event endet" -#: AKModel/models.py:29 +#: AKModel/models.py:28 msgid "Active State" msgstr "Aktiver Status" -#: AKModel/models.py:29 +#: AKModel/models.py:28 msgid "Marks currently active events" msgstr "Markiert aktuell aktive Events" -#: AKModel/models.py:31 +#: AKModel/models.py:30 msgid "Base URL" msgstr "URL-Prefix" -#: AKModel/models.py:31 +#: AKModel/models.py:30 msgid "Prefix for wiki link construction" msgstr "Prefix für die automatische Generierung von Wiki-Links" -#: AKModel/models.py:32 +#: AKModel/models.py:31 msgid "Default Slot Length" msgstr "Standardslotlänge" -#: AKModel/models.py:33 +#: AKModel/models.py:32 msgid "Default length in hours that is assumed for AKs in this event." msgstr "Standardlänge von Slots (in Stunden) für dieses Event" -#: AKModel/models.py:35 +#: AKModel/models.py:34 msgid "Contact email address" msgstr "E-Mail Kontaktadresse" -#: AKModel/models.py:37 +#: AKModel/models.py:36 msgid "" "An email address that is displayed on every page and can be used for all " "kinds of questions" @@ -185,208 +187,208 @@ msgstr "" "Eine Mailadresse die auf jeder Seite angezeigt wird und für alle Arten von " "Fragen genutzt werden kann" -#: AKModel/models.py:41 +#: AKModel/models.py:40 msgid "Events" msgstr "Events" -#: AKModel/models.py:64 +#: AKModel/models.py:63 msgid "Nickname" msgstr "Spitzname" -#: AKModel/models.py:64 +#: AKModel/models.py:63 msgid "Name to identify an AK owner by" msgstr "Name durch den eine AK Leitung identifiziert wird" -#: AKModel/models.py:65 +#: AKModel/models.py:64 msgid "Slug" msgstr "Slug" -#: AKModel/models.py:65 +#: AKModel/models.py:64 msgid "Slug for URL generation" msgstr "Slug für URL-Generierung" -#: AKModel/models.py:66 +#: AKModel/models.py:65 msgid "Institution" msgstr "Instutution" -#: AKModel/models.py:66 +#: AKModel/models.py:65 msgid "Uni etc." msgstr "Universität o.ä." -#: AKModel/models.py:67 AKModel/models.py:197 +#: AKModel/models.py:66 AKModel/models.py:196 msgid "Web Link" msgstr "Internet Link" -#: AKModel/models.py:67 +#: AKModel/models.py:66 msgid "Link to Homepage" msgstr "Link zu Homepage oder Webseite" -#: AKModel/models.py:73 +#: AKModel/models.py:72 msgid "AK Owner" msgstr "AK Leitung" -#: AKModel/models.py:74 +#: AKModel/models.py:73 msgid "AK Owners" msgstr "AK Leitungen" -#: AKModel/models.py:116 +#: AKModel/models.py:115 msgid "Name of the AK Category" msgstr "Name des AK Kategorie" -#: AKModel/models.py:117 AKModel/models.py:138 +#: AKModel/models.py:116 AKModel/models.py:137 msgid "Color" msgstr "Farbe" -#: AKModel/models.py:117 AKModel/models.py:138 +#: AKModel/models.py:116 AKModel/models.py:137 msgid "Color for displaying" msgstr "Farbe für die Anzeige" -#: AKModel/models.py:118 AKModel/models.py:191 +#: AKModel/models.py:117 AKModel/models.py:190 msgid "Description" msgstr "Beschreibung" -#: AKModel/models.py:119 +#: AKModel/models.py:118 msgid "Short description of this AK Category" msgstr "Beschreibung der AK-Kategorie" -#: AKModel/models.py:126 +#: AKModel/models.py:125 msgid "AK Categories" msgstr "AK Kategorien" -#: AKModel/models.py:137 +#: AKModel/models.py:136 msgid "Name of the AK Track" msgstr "Name des AK Tracks" -#: AKModel/models.py:144 +#: AKModel/models.py:143 msgid "AK Track" msgstr "AK Track" -#: AKModel/models.py:145 +#: AKModel/models.py:144 msgid "AK Tracks" msgstr "AK Tracks" -#: AKModel/models.py:156 +#: AKModel/models.py:155 msgid "Name of the AK Tag" msgstr "Name das AK Tags" -#: AKModel/models.py:159 +#: AKModel/models.py:158 msgid "AK Tag" msgstr "AK Tag" -#: AKModel/models.py:160 +#: AKModel/models.py:159 msgid "AK Tags" msgstr "AK Tags" -#: AKModel/models.py:170 +#: AKModel/models.py:169 msgid "Name of the Requirement" msgstr "Name der Anforderung" -#: AKModel/models.py:176 +#: AKModel/models.py:175 msgid "AK Requirement" msgstr "AK Anforderung" -#: AKModel/models.py:177 +#: AKModel/models.py:176 msgid "AK Requirements" msgstr "AK Anforderungen" -#: AKModel/models.py:188 +#: AKModel/models.py:187 msgid "Name of the AK" msgstr "Name des AKs" -#: AKModel/models.py:189 +#: AKModel/models.py:188 msgid "Short Name" msgstr "Kurzer Name" -#: AKModel/models.py:190 +#: AKModel/models.py:189 msgid "Name displayed in the schedule" msgstr "Name zur Anzeige im AK Plan" -#: AKModel/models.py:191 +#: AKModel/models.py:190 msgid "Description of the AK" msgstr "Beschreibung des AKs" -#: AKModel/models.py:193 +#: AKModel/models.py:192 msgid "Owners" msgstr "Leitungen" -#: AKModel/models.py:194 +#: AKModel/models.py:193 msgid "Those organizing the AK" msgstr "Menschen, die den AK organisieren und halten" -#: AKModel/models.py:197 +#: AKModel/models.py:196 msgid "Link to wiki page" msgstr "Link zur Wiki Seite" -#: AKModel/models.py:199 +#: AKModel/models.py:198 msgid "Category" msgstr "Kategorie" -#: AKModel/models.py:200 +#: AKModel/models.py:199 msgid "Category of the AK" msgstr "Kategorie des AKs" -#: AKModel/models.py:201 +#: AKModel/models.py:200 msgid "Tags" msgstr "Tags" -#: AKModel/models.py:201 +#: AKModel/models.py:200 msgid "Tags provided by owners" msgstr "Tags, die durch die AK Leitung vergeben wurden" -#: AKModel/models.py:202 +#: AKModel/models.py:201 msgid "Track" msgstr "Track" -#: AKModel/models.py:203 +#: AKModel/models.py:202 msgid "Track the AK belongs to" msgstr "Track zu dem der AK gehört" -#: AKModel/models.py:205 +#: AKModel/models.py:204 msgid "Resolution Intention" msgstr "Resolutionsabsicht" -#: AKModel/models.py:206 +#: AKModel/models.py:205 msgid "Intends to submit a resolution" msgstr "Beabsichtigt eine Resolution einzureichen" -#: AKModel/models.py:207 +#: AKModel/models.py:206 msgid "Present this AK" msgstr "AK Präsentieren" -#: AKModel/models.py:208 +#: AKModel/models.py:207 msgid "Present results of this AK" msgstr "Die Ergebnisse dieses AKs vorstellen" -#: AKModel/models.py:210 +#: AKModel/models.py:209 msgid "Requirements" msgstr "Anforderungen" -#: AKModel/models.py:211 +#: AKModel/models.py:210 msgid "AK's Requirements" msgstr "Anforderungen des AKs" -#: AKModel/models.py:213 +#: AKModel/models.py:212 msgid "Conflicting AKs" msgstr "AK Konflikte" -#: AKModel/models.py:214 +#: AKModel/models.py:213 msgid "AKs that conflict and thus must not take place at the same time" msgstr "" "AKs, die Konflikte haben und deshalb nicht gleichzeitig stattfinden dürfen" -#: AKModel/models.py:215 +#: AKModel/models.py:214 msgid "Prerequisite AKs" msgstr "Vorausgesetzte AKs" -#: AKModel/models.py:216 +#: AKModel/models.py:215 msgid "AKs that should precede this AK in the schedule" msgstr "AKS die im AK Plan vor diesem AK stattfinden müssen" -#: AKModel/models.py:218 +#: AKModel/models.py:217 msgid "Organizational Notes" msgstr "Notizen zur Organisation" -#: AKModel/models.py:219 +#: AKModel/models.py:218 msgid "" "Notes to organizers. These are public. For private notes, please send an e-" "mail." @@ -394,100 +396,111 @@ msgstr "" "Notizen an die Organisator*innen. Diese sind öffentlich, für private " "Anmerkungen bitte eine E-Mail schicken." -#: AKModel/models.py:221 +#: AKModel/models.py:220 msgid "Interest" msgstr "Interesse" -#: AKModel/models.py:221 +#: AKModel/models.py:220 msgid "Expected number of people" msgstr "Erwartete Personenzahl" -#: AKModel/models.py:222 +#: AKModel/models.py:221 msgid "Interest Counter" msgstr "Interessenszähler" -#: AKModel/models.py:223 +#: AKModel/models.py:222 msgid "People who have indicated interest online" msgstr "Anzahl Personen, die online Interesse bekundet haben" -#: AKModel/models.py:232 +#: AKModel/models.py:231 msgid "AKs" msgstr "AKs" -#: AKModel/models.py:260 +#: AKModel/models.py:259 msgid "Name or number of the room" msgstr "Name oder Nummer des Raums" +#: AKModel/models.py:260 +msgid "Location" +msgstr "Ort" + #: AKModel/models.py:261 -msgid "Building" -msgstr "Gebäude" +msgid "Name or number of the location" +msgstr "Name oder Nummer des Ortes" #: AKModel/models.py:262 -msgid "Name or number of the building" -msgstr "Name oder Nummer des Gebäudes" - -#: AKModel/models.py:263 msgid "Capacity" msgstr "Kapazität" -#: AKModel/models.py:263 +#: AKModel/models.py:262 msgid "Maximum number of people" msgstr "Maximale Personenzahl" -#: AKModel/models.py:264 +#: AKModel/models.py:263 msgid "Properties" msgstr "Eigenschaften" -#: AKModel/models.py:265 +#: AKModel/models.py:264 msgid "AK requirements fulfilled by the room" msgstr "AK Anforderungen, die dieser Raum erfüllt" -#: AKModel/models.py:272 +#: AKModel/models.py:271 msgid "Rooms" msgstr "Räume" -#: AKModel/models.py:289 +#: AKModel/models.py:288 msgid "AK being mapped" msgstr "AK, der zugeordnet wird" -#: AKModel/models.py:291 +#: AKModel/models.py:290 msgid "Room the AK will take place in" msgstr "Raum in dem der AK stattfindet" -#: AKModel/models.py:292 +#: AKModel/models.py:291 msgid "Slot Begin" msgstr "Beginn des Slots" -#: AKModel/models.py:292 +#: AKModel/models.py:291 msgid "Time and date the slot begins" msgstr "Zeit und Datum zu der der AK beginnt" -#: AKModel/models.py:294 +#: AKModel/models.py:293 msgid "Duration" msgstr "Dauer" -#: AKModel/models.py:295 +#: AKModel/models.py:294 msgid "Length in hours" msgstr "Länge in Stunden" -#: AKModel/models.py:300 +#: AKModel/models.py:299 msgid "Last update" msgstr "Letzte Aktualisierung" -#: AKModel/models.py:303 +#: AKModel/models.py:302 msgid "AK Slot" msgstr "AK Slot" -#: AKModel/models.py:304 +#: AKModel/models.py:303 msgid "AK Slots" msgstr "AK Slot" -#: AKModel/models.py:318 +#: AKModel/models.py:317 msgid "Not scheduled yet" msgstr "Noch nicht geplant" -#~ msgid "Notes to organizers" -#~ msgstr "Notizen an die Organisator*innen" +#: AKModel/templates/AKModel/user.html:31 +msgid "Hello" +msgstr "Hallo" + +#: AKModel/templates/AKModel/user.html:34 +msgid "Go to backend" +msgstr "Zum Backend" + +#: AKModel/templates/AKModel/user.html:37 +msgid "Please wait for an administrator to confirm your account" +msgstr "" +"Bitte warte darauf, dass ein*e Administrator*in deinen Account bestätigt" -#~ msgid "E-Mail Address" -#~ msgstr "E-Mail Adresse" +#: AKModel/templates/AKModel/user.html:40 +msgid "Logout" +msgstr "Ausloggen" diff --git a/AKModel/migrations/0033_AKOnline.py b/AKModel/migrations/0033_AKOnline.py new file mode 100644 index 0000000000000000000000000000000000000000..c3d4e6bcdf239d3a68d84f480dd66a6c088bf1a1 --- /dev/null +++ b/AKModel/migrations/0033_AKOnline.py @@ -0,0 +1,17 @@ +# Generated by Django 3.0.6 on 2020-05-17 20:02 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ('AKModel', '0032_AK_history'), + ] + + operations = [ + migrations.RenameField( + model_name='room', + old_name='building', + new_name='location', + ), + ] diff --git a/AKModel/models.py b/AKModel/models.py index c46c90f9ddd3c9797a7bff58509d9d79b1569406..9d507ea3941474881e3cb1239b9b9a44131e8787 100644 --- a/AKModel/models.py +++ b/AKModel/models.py @@ -1,10 +1,9 @@ -from datetime import timedelta - -from django.utils.datetime_safe import datetime import itertools +from datetime import timedelta from django.db import models from django.utils import timezone +from django.utils.datetime_safe import datetime from django.utils.text import slugify from django.utils.translation import gettext_lazy as _ from simple_history.models import HistoricalRecords @@ -258,8 +257,8 @@ class Room(models.Model): """ A room describes where an AK can be held. """ name = models.CharField(max_length=64, verbose_name=_('Name'), help_text=_('Name or number of the room')) - building = models.CharField(max_length=256, blank=True, verbose_name=_('Building'), - help_text=_('Name or number of the building')) + location = models.CharField(max_length=256, blank=True, verbose_name=_('Location'), + help_text=_('Name or number of the location')) capacity = models.IntegerField(verbose_name=_('Capacity'), help_text=_('Maximum number of people')) properties = models.ManyToManyField(to=AKRequirement, blank=True, verbose_name=_('Properties'), help_text=_('AK requirements fulfilled by the room')) @@ -270,13 +269,13 @@ class Room(models.Model): class Meta: verbose_name = _('Room') verbose_name_plural = _('Rooms') - ordering = ['building', 'name'] - unique_together = ['event', 'name', 'building'] + ordering = ['location', 'name'] + unique_together = ['event', 'name', 'location'] @property def title(self): - if self.building: - return f"{self.building} {self.name}" + if self.location: + return f"{self.location} {self.name}" return self.name def __str__(self): diff --git a/AKOnline/__init__.py b/AKOnline/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/AKOnline/admin.py b/AKOnline/admin.py new file mode 100644 index 0000000000000000000000000000000000000000..bdcd8d4d10358eed188cd06216220026ece2ac3c --- /dev/null +++ b/AKOnline/admin.py @@ -0,0 +1,9 @@ +from django.contrib import admin + +from AKModel.admin import RoomAdmin +from AKOnline.models import VirtualRoom + + +@admin.register(VirtualRoom) +class VirtualRoomAdmin(RoomAdmin): + model = VirtualRoom diff --git a/AKOnline/apps.py b/AKOnline/apps.py new file mode 100644 index 0000000000000000000000000000000000000000..16078585764016d5c291069a30b9f90022a89e16 --- /dev/null +++ b/AKOnline/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class AkonlineConfig(AppConfig): + name = 'AKOnline' diff --git a/AKOnline/migrations/0001_AKOnline.py b/AKOnline/migrations/0001_AKOnline.py new file mode 100644 index 0000000000000000000000000000000000000000..d6040731fac9a3f0ec515a816dc48fcb06f01f42 --- /dev/null +++ b/AKOnline/migrations/0001_AKOnline.py @@ -0,0 +1,29 @@ +# Generated by Django 3.0.6 on 2020-05-17 20:02 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + initial = True + + dependencies = [ + ('AKModel', '0033_AKOnline'), + ] + + operations = [ + migrations.CreateModel( + name='VirtualRoom', + fields=[ + ('room_ptr', + models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, + primary_key=True, serialize=False, to='AKModel.Room')), + ('url', models.URLField(blank=True, help_text='URL to the room or server', verbose_name='URL')), + ], + options={ + 'verbose_name': 'Virtual Room', + 'verbose_name_plural': 'Virtual Rooms', + }, + bases=('AKModel.room',), + ), + ] diff --git a/AKOnline/migrations/__init__.py b/AKOnline/migrations/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/AKOnline/models.py b/AKOnline/models.py new file mode 100644 index 0000000000000000000000000000000000000000..c3496b01a719293920496c7b6432144114c71bf3 --- /dev/null +++ b/AKOnline/models.py @@ -0,0 +1,14 @@ +from django.db import models +from django.utils.translation import gettext_lazy as _ + +from AKModel.models import Event, Room + + +class VirtualRoom(Room): + """ A virtual room where an AK can be held. + """ + url = models.URLField(verbose_name=_("URL"), help_text=_("URL to the room or server"), blank=True) + + class Meta: + verbose_name = _('Virtual Room') + verbose_name_plural = _('Virtual Rooms') diff --git a/AKOnline/tests.py b/AKOnline/tests.py new file mode 100644 index 0000000000000000000000000000000000000000..a39b155ac3ee946fb97efafe6ecbb42f571cd7ad --- /dev/null +++ b/AKOnline/tests.py @@ -0,0 +1 @@ +# Create your tests here. diff --git a/AKOnline/views.py b/AKOnline/views.py new file mode 100644 index 0000000000000000000000000000000000000000..60f00ef0ef347811e7b0c0921b7fda097acd9fcc --- /dev/null +++ b/AKOnline/views.py @@ -0,0 +1 @@ +# Create your views here. diff --git a/AKPlan/locale/de_DE/LC_MESSAGES/django.po b/AKPlan/locale/de_DE/LC_MESSAGES/django.po index 9abe99bdb6a65962a6697eee0caddf1dd3e6d8e3..bbe02474f0b06608332e3c1c6544d045feac7e6a 100644 --- a/AKPlan/locale/de_DE/LC_MESSAGES/django.po +++ b/AKPlan/locale/de_DE/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-14 22:48+0000\n" +"POT-Creation-Date: 2020-05-16 20:26+0000\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" diff --git a/AKPlan/views.py b/AKPlan/views.py index 44aca464f4b177c191657d003b74582ed492f6a1..cf8589128a38eac4b240661110e1598a13424d89 100644 --- a/AKPlan/views.py +++ b/AKPlan/views.py @@ -38,8 +38,8 @@ class PlanIndexView(FilterByEventSlugMixin, ListView): if akslot.room is not None: rooms.add(akslot.room) # Store buildings for hierarchical view - if akslot.room.building != '': - buildings.add(akslot.room.building) + if akslot.room.location != '': + buildings.add(akslot.room.location) # Recent AKs: Started but not ended yet if akslot.start <= current_timestamp <= akslot.end: diff --git a/AKPlanning/locale/de_DE/LC_MESSAGES/django.po b/AKPlanning/locale/de_DE/LC_MESSAGES/django.po index bcd0701f16f00c7279d968ecc3686f51c70a135a..c0edc69e3d52780b8e1b8e692c061197f477fd5a 100644 --- a/AKPlanning/locale/de_DE/LC_MESSAGES/django.po +++ b/AKPlanning/locale/de_DE/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-12 22:53+0000\n" +"POT-Creation-Date: 2020-05-16 20:26+0000\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" @@ -17,10 +17,10 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: AKPlanning/settings.py:129 +#: AKPlanning/settings.py:131 msgid "German" msgstr "Deutsch" -#: AKPlanning/settings.py:130 +#: AKPlanning/settings.py:132 msgid "English" msgstr "Englisch" diff --git a/AKPlanning/settings.py b/AKPlanning/settings.py index 83d1340a243f6db363953824c7fb4343d5653fe4..957b13043413537a9029fcf2f621663c671615da 100644 --- a/AKPlanning/settings.py +++ b/AKPlanning/settings.py @@ -37,6 +37,7 @@ INSTALLED_APPS = [ 'AKSubmission.apps.AksubmissionConfig', 'AKScheduling.apps.AkschedulingConfig', 'AKPlan.apps.AkplanConfig', + 'AKOnline.apps.AkonlineConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', diff --git a/AKSubmission/locale/de_DE/LC_MESSAGES/django.po b/AKSubmission/locale/de_DE/LC_MESSAGES/django.po index e1e55f30bc8257b255cf86fbaf5c4a1865cfc59f..4cb5cb50c540706a611d492cd6c501d92f86e617 100644 --- a/AKSubmission/locale/de_DE/LC_MESSAGES/django.po +++ b/AKSubmission/locale/de_DE/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-14 22:48+0000\n" +"POT-Creation-Date: 2020-05-16 20:26+0000\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" @@ -38,7 +38,7 @@ msgstr "" "Mindestens eine geplante Dauer (in Stunden) angeben. Wenn der AK mehrere " "Slots haben soll, mehrere Zeilen verwenden" -#: AKSubmission/templates/AKSubmission/ak_detail.html:10 +#: AKSubmission/templates/AKSubmission/ak_detail.html:11 #: AKSubmission/templates/AKSubmission/ak_edit.html:8 #: AKSubmission/templates/AKSubmission/ak_history.html:11 #: AKSubmission/templates/AKSubmission/ak_overview.html:8 @@ -46,6 +46,7 @@ msgstr "" #: AKSubmission/templates/AKSubmission/akowner_create_update.html:7 #: AKSubmission/templates/AKSubmission/akslot_add_update.html:7 #: AKSubmission/templates/AKSubmission/akslot_delete.html:7 +#: AKSubmission/templates/AKSubmission/submission_not_configured.html:7 #: AKSubmission/templates/AKSubmission/submission_overview.html:7 #: AKSubmission/templates/AKSubmission/submission_overview.html:38 #: AKSubmission/templates/AKSubmission/submit_new.html:8 @@ -53,19 +54,21 @@ msgstr "" msgid "AKs" msgstr "AKs" -#: AKSubmission/templates/AKSubmission/ak_detail.html:10 +#: AKSubmission/templates/AKSubmission/ak_detail.html:11 #: AKSubmission/templates/AKSubmission/ak_history.html:11 #: AKSubmission/templates/AKSubmission/akslot_delete.html:31 msgid "AK" msgstr "AK" -#: AKSubmission/templates/AKSubmission/ak_detail.html:15 +#: AKSubmission/templates/AKSubmission/ak_detail.html:16 #: AKSubmission/templates/AKSubmission/ak_edit.html:13 #: AKSubmission/templates/AKSubmission/ak_history.html:16 #: AKSubmission/templates/AKSubmission/ak_overview.html:22 #: AKSubmission/templates/AKSubmission/akowner_create_update.html:12 #: AKSubmission/templates/AKSubmission/akslot_add_update.html:12 #: AKSubmission/templates/AKSubmission/akslot_delete.html:12 +#: AKSubmission/templates/AKSubmission/submission_not_configured.html:7 +#: AKSubmission/templates/AKSubmission/submission_not_configured.html:11 #: AKSubmission/templates/AKSubmission/submission_overview.html:7 #: AKSubmission/templates/AKSubmission/submission_overview.html:34 #: AKSubmission/templates/AKSubmission/submit_new.html:25 @@ -73,110 +76,108 @@ msgstr "AK" msgid "AK Submission" msgstr "AK-Eintragung" -#: AKSubmission/templates/AKSubmission/ak_detail.html:30 +#: AKSubmission/templates/AKSubmission/ak_detail.html:31 msgid "Interest" msgstr "Interesse" -#: AKSubmission/templates/AKSubmission/ak_detail.html:33 -#, fuzzy -#| msgid "Interest" +#: AKSubmission/templates/AKSubmission/ak_detail.html:34 msgid "Show Interest" -msgstr "Interesse" +msgstr "Interesse bekunden" -#: AKSubmission/templates/AKSubmission/ak_detail.html:39 +#: AKSubmission/templates/AKSubmission/ak_detail.html:40 #: AKSubmission/templates/AKSubmission/ak_table.html:48 msgid "Open external link" msgstr "Externen Link öffnen" -#: AKSubmission/templates/AKSubmission/ak_detail.html:44 +#: AKSubmission/templates/AKSubmission/ak_detail.html:45 #: AKSubmission/templates/AKSubmission/ak_history.html:19 #: AKSubmission/templates/AKSubmission/ak_history.html:31 msgid "History" msgstr "Versionsgeschichte" -#: AKSubmission/templates/AKSubmission/ak_detail.html:47 -#: AKSubmission/templates/AKSubmission/ak_detail.html:146 +#: AKSubmission/templates/AKSubmission/ak_detail.html:48 +#: AKSubmission/templates/AKSubmission/ak_detail.html:147 #: AKSubmission/templates/AKSubmission/ak_edit.html:16 #: AKSubmission/templates/AKSubmission/ak_table.html:53 msgid "Edit" msgstr "Bearbeiten" -#: AKSubmission/templates/AKSubmission/ak_detail.html:52 +#: AKSubmission/templates/AKSubmission/ak_detail.html:53 #: AKSubmission/templates/AKSubmission/ak_history.html:31 #: AKSubmission/templates/AKSubmission/ak_table.html:35 msgid "AK Wish" msgstr "AK-Wunsch" -#: AKSubmission/templates/AKSubmission/ak_detail.html:56 +#: AKSubmission/templates/AKSubmission/ak_detail.html:57 #: AKSubmission/templates/AKSubmission/ak_table.html:10 msgid "Who?" msgstr "Wer?" -#: AKSubmission/templates/AKSubmission/ak_detail.html:62 +#: AKSubmission/templates/AKSubmission/ak_detail.html:63 #: AKSubmission/templates/AKSubmission/ak_history.html:36 #: AKSubmission/templates/AKSubmission/ak_table.html:11 msgid "Category" msgstr "Kategorie" -#: AKSubmission/templates/AKSubmission/ak_detail.html:68 +#: AKSubmission/templates/AKSubmission/ak_detail.html:69 msgid "Present this AK" msgstr "Diesen AK vorstellen" -#: AKSubmission/templates/AKSubmission/ak_detail.html:72 +#: AKSubmission/templates/AKSubmission/ak_detail.html:73 #: AKSubmission/templates/AKSubmission/ak_table.html:12 msgid "Tags" msgstr "Tags" -#: AKSubmission/templates/AKSubmission/ak_detail.html:78 +#: AKSubmission/templates/AKSubmission/ak_detail.html:79 msgid "Reso?" msgstr "Reso?" -#: AKSubmission/templates/AKSubmission/ak_detail.html:85 +#: AKSubmission/templates/AKSubmission/ak_detail.html:86 msgid "Requirements" msgstr "Anforderungen" -#: AKSubmission/templates/AKSubmission/ak_detail.html:98 +#: AKSubmission/templates/AKSubmission/ak_detail.html:99 msgid "Conflicting AKs" msgstr "AK Konflikte" -#: AKSubmission/templates/AKSubmission/ak_detail.html:106 +#: AKSubmission/templates/AKSubmission/ak_detail.html:107 msgid "Prerequisite AKs" msgstr "AK Voraussetzungen" -#: AKSubmission/templates/AKSubmission/ak_detail.html:114 +#: AKSubmission/templates/AKSubmission/ak_detail.html:115 msgid "Notes" msgstr "Notizen" -#: AKSubmission/templates/AKSubmission/ak_detail.html:131 +#: AKSubmission/templates/AKSubmission/ak_detail.html:132 msgid "When?" msgstr "Wann?" -#: AKSubmission/templates/AKSubmission/ak_detail.html:132 +#: AKSubmission/templates/AKSubmission/ak_detail.html:133 #: AKSubmission/templates/AKSubmission/akslot_delete.html:35 msgid "Duration" msgstr "Dauer" -#: AKSubmission/templates/AKSubmission/ak_detail.html:133 +#: AKSubmission/templates/AKSubmission/ak_detail.html:134 msgid "Room" msgstr "Raum" -#: AKSubmission/templates/AKSubmission/ak_detail.html:149 +#: AKSubmission/templates/AKSubmission/ak_detail.html:150 msgid "Delete" msgstr "Löschen" -#: AKSubmission/templates/AKSubmission/ak_detail.html:161 +#: AKSubmission/templates/AKSubmission/ak_detail.html:162 msgid "Add another slot" msgstr "Einen neuen AK-Slot hinzufügen" -#: AKSubmission/templates/AKSubmission/ak_detail.html:165 +#: AKSubmission/templates/AKSubmission/ak_detail.html:166 msgid "Possible Times" msgstr "Mögliche Zeiten" -#: AKSubmission/templates/AKSubmission/ak_detail.html:169 +#: AKSubmission/templates/AKSubmission/ak_detail.html:170 msgid "Start" msgstr "Start" -#: AKSubmission/templates/AKSubmission/ak_detail.html:170 +#: AKSubmission/templates/AKSubmission/ak_detail.html:171 msgid "End" msgstr "Ende" @@ -212,7 +213,7 @@ msgstr "Diesen AK vorstellen" msgid "Reso" msgstr "Reso" -#: AKSubmission/templates/AKSubmission/ak_list.html:6 AKSubmission/views.py:30 +#: AKSubmission/templates/AKSubmission/ak_list.html:6 AKSubmission/views.py:34 msgid "All AKs" msgstr "Alle AKs" @@ -277,6 +278,14 @@ msgstr "Bestätigen" msgid "Write to organizers of this event for questions and comments" msgstr "Fragen oder Kommentare? Schreib den Orgas dieses Events eine Mail" +#: AKSubmission/templates/AKSubmission/submission_not_configured.html:20 +msgid "" +"System is not yet configured for AK submission and listing. Please try again " +"later." +msgstr "" +"Das System ist noch nicht fertig eingerichtet. Bitte versuch es später noch " +"einmal." + #: AKSubmission/templates/AKSubmission/submission_overview.html:42 msgid "" "On this page you can see a list of current AKs, change them and add new ones." @@ -320,59 +329,56 @@ msgstr "" msgid "Submit" msgstr "Eintragen" -#: AKSubmission/views.py:50 +#: AKSubmission/views.py:65 msgid "Wishes" msgstr "Wünsche" -#: AKSubmission/views.py:50 +#: AKSubmission/views.py:65 msgid "AKs one would like to have" msgstr "" "AKs die sich gewünscht wurden, aber bei denen noch nicht klar ist, wer sie " "macht. Falls du dir das vorstellen kannst, trag dich einfach ein" -#: AKSubmission/views.py:66 +#: AKSubmission/views.py:81 msgid "Currently planned AKs" msgstr "Aktuell geplante AKs" -#: AKSubmission/views.py:141 +#: AKSubmission/views.py:157 msgid "Event inactive. Cannot create or update." msgstr "Event inaktiv. Hinzufügen/Bearbeiten nicht möglich." -#: AKSubmission/views.py:157 +#: AKSubmission/views.py:173 msgid "AK successfully created" msgstr "AK erfolgreich angelegt" -#: AKSubmission/views.py:215 +#: AKSubmission/views.py:231 msgid "AK successfully updated" msgstr "AK erfolgreich aktualisiert" -#: AKSubmission/views.py:293 +#: AKSubmission/views.py:309 msgid "Person Info successfully updated" msgstr "Personen-Info erfolgreich aktualisiert" -#: AKSubmission/views.py:313 +#: AKSubmission/views.py:329 msgid "No user selected" msgstr "Keine Person ausgewählt" -#: AKSubmission/views.py:339 +#: AKSubmission/views.py:355 msgid "AK Slot successfully added" msgstr "AK-Slot erfolgreich angelegt" -#: AKSubmission/views.py:353 +#: AKSubmission/views.py:369 msgid "You cannot edit a slot that has already been scheduled" msgstr "Bereits geplante AK-Slots können nicht mehr bearbeitet werden" -#: AKSubmission/views.py:363 +#: AKSubmission/views.py:379 msgid "AK Slot successfully updated" msgstr "AK-Slot erfolgreich aktualisiert" -#: AKSubmission/views.py:376 +#: AKSubmission/views.py:392 msgid "You cannot delete a slot that has already been scheduled" msgstr "Bereits geplante AK-Slots können nicht mehr gelöscht werden" -#: AKSubmission/views.py:386 +#: AKSubmission/views.py:402 msgid "AK Slot successfully deleted" msgstr "AK-Slot erfolgreich angelegt" - -#~ msgid "Categories" -#~ msgstr "Kategorie" diff --git a/locale/de_DE/LC_MESSAGES/django.po b/locale/de_DE/LC_MESSAGES/django.po index 5c7e702e3b6da3ac143d31f4d584c857210513eb..cff6314d53a95eeeaa80c95f6de6f0dfea58dc0d 100644 --- a/locale/de_DE/LC_MESSAGES/django.po +++ b/locale/de_DE/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-05-10 16:22+0000\n" +"POT-Creation-Date: 2020-05-17 21:09+0000\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" @@ -18,10 +18,26 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: templates/base.html:76 +#: AKOnline/models.py:10 +msgid "URL" +msgstr "URL" + +#: AKOnline/models.py:10 +msgid "URL to the room or server" +msgstr "URL zum Raum/Server" + +#: AKOnline/models.py:13 +msgid "Virtual Room" +msgstr "Virtueller Raum" + +#: AKOnline/models.py:14 +msgid "Virtual Rooms" +msgstr "Virtuelle Räume" + +#: templates/base.html:78 msgid "Impress" msgstr "Impressum" -#: templates/base.html:79 +#: templates/base.html:81 msgid "This software is open source" msgstr "Diese Software ist Open Source"