diff --git a/src/backoffice/locale/de/LC_MESSAGES/django.po b/src/backoffice/locale/de/LC_MESSAGES/django.po index 3b9480ea0c28c750d8f9c249a184eae6e0ab6dcf..0fe2f38b5d6c7a05ecbc144d237abef8d55999ce 100644 --- a/src/backoffice/locale/de/LC_MESSAGES/django.po +++ b/src/backoffice/locale/de/LC_MESSAGES/django.po @@ -934,7 +934,7 @@ msgstr "offiziell" msgid "Event__last_update" msgstr "letzte Änderung" -msgid "myassemblies" +msgid "AssemblyList__title__my_assemblies" msgstr "Meine Assemblies" msgid "assembly_name" @@ -943,10 +943,10 @@ msgstr "Name" msgid "assembly_state" msgstr "Status" -msgid "assemblycreate" +msgid "AssemblyList__button__create_assembly" msgstr "Neue Assembly anmelden" -msgid "assemblycreate_deadlineexceeded" +msgid "AssemblyList__button__create_deadline_exceeded" msgstr "Registrierung nicht mehr möglich" msgid "welcome_text" diff --git a/src/backoffice/locale/en/LC_MESSAGES/django.po b/src/backoffice/locale/en/LC_MESSAGES/django.po index dc9d28f62e0a727c1454c1ef4b935e49b1b08ef9..5d000258f59f6e6f039863189dc3f7c11e32ce91 100644 --- a/src/backoffice/locale/en/LC_MESSAGES/django.po +++ b/src/backoffice/locale/en/LC_MESSAGES/django.po @@ -934,7 +934,7 @@ msgstr "official" msgid "Event__last_update" msgstr "last update" -msgid "myassemblies" +msgid "AssemblyList__title__my_assemblies" msgstr "my assemblies" msgid "assembly_name" @@ -943,10 +943,10 @@ msgstr "Name" msgid "assembly_state" msgstr "Status" -msgid "assemblycreate" +msgid "AssemblyList__button__create_assembly" msgstr "create new assembly" -msgid "assemblycreate_deadlineexceeded" +msgid "AssemblyList__button__create_deadline_exceeded" msgstr "registration deadline exceeded" msgid "welcome_text" diff --git a/src/backoffice/templates/backoffice/index.html b/src/backoffice/templates/backoffice/index.html index 693606dc0fba264f8774e59ba73410eaf3a5dd79..d4ba6322ae299f29d1684b185f60b461d8be2592 100644 --- a/src/backoffice/templates/backoffice/index.html +++ b/src/backoffice/templates/backoffice/index.html @@ -10,7 +10,7 @@ {% if user.is_authenticated %} <div class="card"> - <div class="card-header">{% trans "myassemblies" %}</div> + <div class="card-header">{% trans "AssemblyList__title__my_assemblies" %}</div> <div class="card-body"> <table class="table table-sm"> <thead> @@ -20,7 +20,7 @@ </tr> </thead> <tbody> - {% for assembly in myassemblies %} + {% for assembly in assembly_list %} <tr> <td> <a href="{% url 'backoffice:assembly' pk=assembly.id %}">{{ assembly.name }}</a> @@ -45,16 +45,16 @@ {% if conference.is_open %} <a class="btn btn-success" href="{% url 'backoffice:assembly-create' %}" - style="float: right">{% trans "assemblycreate" %}</a> + style="float: right">{% trans "AssemblyList__button__create_assembly" %}</a> {% elif has_assemblies %} <a class="btn btn-warning" href="{% url 'backoffice:assembly-create' %}" style="float: right" - title="{% trans "assemblycreate_deadlineexceeded" %}">{% trans "assemblycreate" %}</a> + title="{% trans "AssemblyList__button__create_deadline_exceeded" %}">{% trans "AssemblyList__button__create_assembly" %}</a> {% else %} <button class="btn btn-success disabled" - title="{% trans "assemblycreate_deadlineexceeded" %}" - style="float: right">{% trans "assemblycreate" %}</button> + title="{% trans "AssemblyList__button__create_deadline_exceeded" %}" + style="float: right">{% trans "AssemblyList__button__create_assembly" %}</button> {% endif %} </div> </div> diff --git a/src/backoffice/views/assemblies/assemblies.py b/src/backoffice/views/assemblies/assemblies.py index 38c39e601d3f96c5fbca74efa22278601d4f3ab5..1fdd977af4860530d4cc9b4140ee485af3b7c17b 100644 --- a/src/backoffice/views/assemblies/assemblies.py +++ b/src/backoffice/views/assemblies/assemblies.py @@ -12,7 +12,7 @@ from django.utils.html import format_html from django.utils.safestring import mark_safe from django.utils.translation import get_language, gettext from django.utils.translation import gettext_lazy as _ -from django.views.generic import TemplateView, View +from django.views.generic import ListView, TemplateView, View from django.views.generic.edit import CreateView, UpdateView from core.models import ActivityLogChange, ActivityLogEntry @@ -29,27 +29,23 @@ from backoffice.views.mixins import AssemblyMixin, ConferenceLoginRequiredMixin logger = logging.getLogger(__name__) -class AssemblyListView(ConferenceLoginRequiredMixin, View): +class AssemblyListView(ConferenceLoginRequiredMixin, ListView): + template_name = 'backoffice/index.html' require_conference = True + model = Assembly + + def get_queryset(self): + return Assembly.objects.associated_with_user(conference=self.conference, user=self.request.user, staff_can_see=False) + + def get_context_data(self, *args, **kwargs): + return {**super().get_context_data(*args, **kwargs), 'active_page': 'home'} def get(self, *args, **kwargs): if self.request.user.is_authenticated: - myassemblies = list(Assembly.objects.associated_with_user(conference=self.conference, user=self.request.user)) - # remove stored backlink for assembly pages from the session if it is set, so the backlink will go to the overview, which is the default self.request.session.pop('assembly_back', None) - else: - myassemblies = None - - ctx = self.get_context_data() - ctx.update( - { - 'active_page': 'home', - 'myassemblies': myassemblies, - } - ) - return render(self.request, 'backoffice/index.html', ctx) + return super().get(self.request, *args, **kwargs) class AssemblyCreateView(ConferenceLoginRequiredMixin, CreateView): diff --git a/src/backoffice/views/assemblyteam.py b/src/backoffice/views/assemblyteam.py index 9d387e63da18c79e709a413ef75aa36d6e726ade..50cab1e451c8cb35e33b0879415e8ed5c53f8033 100644 --- a/src/backoffice/views/assemblyteam.py +++ b/src/backoffice/views/assemblyteam.py @@ -123,7 +123,7 @@ class AssembliesListMixin(AssemblyTeamMixin): # get the mode mode = (self.request.POST if self.request.method == 'POST' else self.request.GET).get('mode', self.default_assemblies_mode) - qs = Assembly.objects.associated_with_user(conference=self.conference, user=self.request.user, staff_can_see=True) + qs = Assembly.objects.associated_with_user(conference=self.conference, user=self.request.user, staff_can_see=True).order_by('slug') if mode == 'not_selected': pass elif self.active_page == 'assemblies': diff --git a/src/backoffice/views/mixins.py b/src/backoffice/views/mixins.py index 0b5e6867b95cc05e5165ec11ad1b00bb2cd416bf..9d2504930ed29426c6b97842dd8c535dee45f8d8 100644 --- a/src/backoffice/views/mixins.py +++ b/src/backoffice/views/mixins.py @@ -262,7 +262,7 @@ class AssemblyMixin(ConferenceLoginRequiredMixin): sidebar = [] context['sidebar'] = { - 'back_link': {'link': reverse('backoffice:index'), 'caption': _('myassemblies')}, + 'back_link': {'link': reverse('backoffice:index'), 'caption': _('AssemblyList__title__my_assemblies')}, 'title': assembly.slug, 'title_link': reverse('backoffice:assembly', kwargs={'pk': assembly.id}), 'items': sidebar,