diff --git a/AKModel/locale/de_DE/LC_MESSAGES/django.po b/AKModel/locale/de_DE/LC_MESSAGES/django.po index 78ed2a07a9d5b8d4d49d146590cebae18859c6c5..6c91a57b5bdd915de26ba250e65642e528afd773 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: 2019-10-18 13:01+0000\n" +"POT-Creation-Date: 2019-10-20 17:51+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" @@ -11,13 +11,13 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: availability.py:38 models.py:20 models.py:40 models.py:104 models.py:152 -#: models.py:183 models.py:208 +#: availability.py:38 models.py:20 models.py:40 models.py:105 models.py:153 +#: models.py:184 models.py:209 msgid "Event" msgstr "Event" -#: availability.py:39 models.py:41 models.py:105 models.py:153 models.py:184 -#: models.py:209 +#: availability.py:39 models.py:41 models.py:106 models.py:154 models.py:185 +#: models.py:210 msgid "Associated event" msgstr "Zugehöriges Event" @@ -29,7 +29,7 @@ msgstr "Person" msgid "Person whose availability this is" msgstr "Person deren Verfügbarkeit hier abgebildet wird" -#: availability.py:56 models.py:187 models.py:202 +#: availability.py:56 models.py:188 models.py:203 msgid "Room" msgstr "Raum" @@ -37,7 +37,7 @@ msgstr "Raum" msgid "Room whose availability this is" msgstr "Raum dessen Verfügbarkeit hier abgebildet wird" -#: availability.py:65 models.py:156 models.py:201 +#: availability.py:65 models.py:157 models.py:202 msgid "AK" msgstr "AK" @@ -47,7 +47,7 @@ msgstr "AK" msgid "AK whose availability this is" msgstr "Verfügbarkeiten" -#: availability.py:74 models.py:62 +#: availability.py:74 models.py:63 msgid "AK Category" msgstr "AK Kategorie" @@ -63,8 +63,8 @@ msgstr "Verfügbarkeit" msgid "Availabilities" msgstr "Verfügbarkeiten" -#: models.py:9 models.py:58 models.py:73 models.py:88 models.py:102 -#: models.py:119 models.py:176 +#: models.py:9 models.py:58 models.py:74 models.py:89 models.py:103 +#: models.py:120 models.py:177 msgid "Name" msgstr "Name" @@ -142,7 +142,7 @@ msgstr "Instutution" msgid "Uni etc." msgstr "Universität o.ä." -#: models.py:38 models.py:128 +#: models.py:38 models.py:129 msgid "Web Link" msgstr "Internet Link" @@ -162,231 +162,235 @@ msgstr "AK Leitungen" msgid "Name of the AK Category" msgstr "Name des AK Kategorie" -#: models.py:59 models.py:74 +#: models.py:59 models.py:75 msgid "Color" msgstr "Farbe" -#: models.py:59 models.py:74 +#: models.py:59 models.py:75 msgid "Color for displaying" msgstr "Farbe für die Anzeige" -#: models.py:63 +#: models.py:60 models.py:123 +msgid "Description" +msgstr "Beschreibung" + +#: models.py:60 +msgid "Short description of this AK Category" +msgstr "Beschreibung der AK-Kategorie" + +#: models.py:64 msgid "AK Categories" msgstr "AK Kategorien" -#: models.py:73 +#: models.py:74 msgid "Name of the AK Track" msgstr "Name des AK Tracks" -#: models.py:77 +#: models.py:78 msgid "AK Track" msgstr "AK Track" -#: models.py:78 +#: models.py:79 msgid "AK Tracks" msgstr "AK Tracks" -#: models.py:88 +#: models.py:89 msgid "Name of the AK Tag" msgstr "Name das AK Tags" -#: models.py:91 +#: models.py:92 msgid "AK Tag" msgstr "AK Tag" -#: models.py:92 +#: models.py:93 msgid "AK Tags" msgstr "AK Tags" -#: models.py:102 +#: models.py:103 msgid "Name of the Requirement" msgstr "Name der Anforderung" -#: models.py:108 +#: models.py:109 msgid "AK Requirement" msgstr "AK Anforderung" -#: models.py:109 +#: models.py:110 msgid "AK Requirements" msgstr "AK Anforderungen" -#: models.py:119 +#: models.py:120 msgid "Name of the AK" msgstr "Name des AKs" -#: models.py:120 +#: models.py:121 msgid "Short Name" msgstr "Kurzer Name" -#: models.py:121 +#: models.py:122 msgid "Name displayed in the schedule" msgstr "Name zur Anzeige im AK Plan" -#: models.py:122 -msgid "Description" -msgstr "Beschreibung" - -#: models.py:122 +#: models.py:123 msgid "Description of the AK" msgstr "Beschreibung des AKs" -#: models.py:124 +#: models.py:125 msgid "Owners" msgstr "Leitungen" -#: models.py:125 +#: models.py:126 msgid "Those organizing the AK" msgstr "Menschen, die den AK organisieren und halten" -#: models.py:128 +#: models.py:129 msgid "Link to wiki page" msgstr "Link zur Wiki Seite" -#: models.py:130 +#: models.py:131 msgid "Category" msgstr "Kategorie" -#: models.py:131 +#: models.py:132 msgid "Category of the AK" msgstr "Kategorie des AKs" -#: models.py:132 +#: models.py:133 msgid "Tags" msgstr "Tags" -#: models.py:132 +#: models.py:133 msgid "Tags provided by owners" msgstr "Tags, die durch die AK Leitung vergeben wurden" -#: models.py:133 +#: models.py:134 msgid "Track" msgstr "Track" -#: models.py:134 +#: models.py:135 msgid "Track the AK belongs to" msgstr "Track zu dem der AK gehört" -#: models.py:136 +#: models.py:137 msgid "Resolution Intention" msgstr "Resolutionsabsicht" -#: models.py:137 +#: models.py:138 msgid "Intends to submit a resolution" msgstr "Beabsichtigt eine Resolution einzureichen" -#: models.py:138 +#: models.py:139 msgid "Present this AK" msgstr "AK Präsentieren" -#: models.py:138 +#: models.py:139 msgid "Present results of this AK" msgstr "Die Ergebnisse dieses AKs vorstellen" -#: models.py:140 +#: models.py:141 msgid "Requirements" msgstr "Anforderungen" -#: models.py:141 +#: models.py:142 msgid "AK's Requirements" msgstr "Anforderungen des AKs" -#: models.py:143 +#: models.py:144 msgid "Conflicting AKs" msgstr "AK Konflikte" -#: models.py:144 +#: models.py:145 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" -#: models.py:145 +#: models.py:146 msgid "Prerequisite AKs" msgstr "Vorausgesetzte AKs" -#: models.py:146 +#: models.py:147 msgid "AKs that should precede this AK in the schedule" msgstr "AKS die im AK Plan vor diesem AK stattfinden müssen" -#: models.py:148 +#: models.py:149 msgid "Internal Notes" msgstr "Interne Notizen" -#: models.py:148 +#: models.py:149 msgid "Notes to organizers" msgstr "Notizen an die Organisator*innen" -#: models.py:150 +#: models.py:151 msgid "Interest" msgstr "Interesse" -#: models.py:150 +#: models.py:151 msgid "Expected number of people" msgstr "Erwartete Personenzahl" -#: models.py:157 +#: models.py:158 msgid "AKs" msgstr "AKs" -#: models.py:176 +#: models.py:177 msgid "Name or number of the room" msgstr "Name oder Nummer des Raums" -#: models.py:177 +#: models.py:178 msgid "Building" msgstr "Gebäude" -#: models.py:178 +#: models.py:179 msgid "Name or number of the building" msgstr "Name oder Nummer des Gebäudes" -#: models.py:179 +#: models.py:180 msgid "Capacity" msgstr "Kapazität" -#: models.py:179 +#: models.py:180 msgid "Maximum number of people" msgstr "Maximale Personenzahl" -#: models.py:180 +#: models.py:181 msgid "Properties" msgstr "Eigenschaften" -#: models.py:181 +#: models.py:182 msgid "AK requirements fulfilled by the room" msgstr "AK Anforderungen, die dieser Raum erfüllt" -#: models.py:188 +#: models.py:189 msgid "Rooms" msgstr "Räume" -#: models.py:201 +#: models.py:202 msgid "AK being mapped" msgstr "AK, der zugeordnet wird" -#: models.py:203 +#: models.py:204 msgid "Room the AK will take place in" msgstr "Raum in dem der AK stattfindet" -#: models.py:204 +#: models.py:205 msgid "Slot Begin" msgstr "Beginn des Slots" -#: models.py:204 +#: models.py:205 msgid "Time and date the slot begins" msgstr "Zeit und Datum zu der der AK beginnt" -#: models.py:205 +#: models.py:206 msgid "Duration" msgstr "Dauer" -#: models.py:206 +#: models.py:207 msgid "Length in hours" msgstr "Länge in Stunden" -#: models.py:212 +#: models.py:213 msgid "AK Slot" msgstr "AK Slot" -#: models.py:213 +#: models.py:214 msgid "AK Slots" msgstr "AK Slot" diff --git a/AKModel/migrations/0016_category_description.py b/AKModel/migrations/0016_category_description.py new file mode 100644 index 0000000000000000000000000000000000000000..7b1ae9882894560bb37c6709d9b41d70957a938d --- /dev/null +++ b/AKModel/migrations/0016_category_description.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.6 on 2019-10-20 17:47 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('AKModel', '0015_ak_present_field'), + ] + + operations = [ + migrations.AddField( + model_name='akcategory', + name='description', + field=models.TextField(blank=True, help_text='Short description of this AK Category', verbose_name='Description'), + ), + ] diff --git a/AKModel/models.py b/AKModel/models.py index 676fe52bf37429064533271322cdab9047ebb688..bb161cf952a95ca333e411787d2bf67d756df403 100644 --- a/AKModel/models.py +++ b/AKModel/models.py @@ -57,6 +57,7 @@ class AKCategory(models.Model): """ name = models.CharField(max_length=64, unique=True, verbose_name=_('Name'), help_text=_('Name of the AK Category')) color = models.CharField(max_length=7, blank=True, verbose_name=_('Color'), help_text=_('Color for displaying')) + description = models.TextField(blank=True, verbose_name=_("Description"), help_text=_("Short description of this AK Category")) class Meta: verbose_name = _('AK Category') diff --git a/AKSubmission/templates/AKSubmission/submission_overview.html b/AKSubmission/templates/AKSubmission/submission_overview.html index 99eb5f83b357a9d595a66cb405ed60769dea646f..608bee948300e6a56cce0725e52c97c9f2310bfa 100644 --- a/AKSubmission/templates/AKSubmission/submission_overview.html +++ b/AKSubmission/templates/AKSubmission/submission_overview.html @@ -25,6 +25,25 @@ <h2>{% trans "Current AKs" %}</h2> - {% include "AKSubmission/ak_list_table.html" %} + <noscript> + {% include "AKSubmission/ak_list_table.html" %} + </noscript> + + <ul class="nav nav-tabs" style="margin-bottom:15px"> + {% for category, _ in categories %} + <li class="nav-item"> + <a class="nav-link {% if forloop.first %}active{% endif %}" data-toggle="tab" href="#category_{{ category.pk }}">{{ category }}</a> + </li> + {% endfor %} + </ul> + + <div id="akListTabbed" class="tab-content"> + {% for category, AKs in categories %} + <div class="tab-pane fade {% if forloop.first %}show active{% endif %}" id="category_{{ category.pk }}"> + <p><b>{{ category }}:</b> {{ category.description }}</p> + {% include "AKSubmission/ak_list_table.html" %} + </div> + {% endfor %} + </div> {% endblock %} diff --git a/AKSubmission/views.py b/AKSubmission/views.py index 66426e55cf6bf489898799fde1b89da680bc4821..a2b994fedc340854eb7a2b4eb5db8d21f57a21ae 100644 --- a/AKSubmission/views.py +++ b/AKSubmission/views.py @@ -12,6 +12,23 @@ class SubmissionOverviewView(FilterByEventSlugMixin, ListView): template_name = "AKSubmission/submission_overview.html" ordering = ['category'] + def get_context_data(self, *, object_list=None, **kwargs): + context = super().get_context_data(object_list=object_list, **kwargs) + + # Sort AKs into different lists (by their category) + categories = [] + aks_for_category = [] + current_category = None + for ak in context["AKs"]: + if ak.category != current_category: + current_category = ak.category + aks_for_category = [] + categories.append((current_category, aks_for_category)) + aks_for_category.append(ak) + context["categories"] = categories + + return context + class AKDetailView(DetailView): model = AK