From f409f8dd593f95298850671893d2164e0a6862c0 Mon Sep 17 00:00:00 2001 From: Grollicus <cccvgitlab.db5c7b60@grollmann.eu> Date: Sat, 26 Dec 2020 14:23:21 +0100 Subject: [PATCH] is_public_fahrplan flag --- src/core/admin.py | 2 +- src/core/locale/de/LC_MESSAGES/django.po | 6 ++++++ src/core/locale/en/LC_MESSAGES/django.po | 6 ++++++ .../migrations/0050_Room_is_public_fahrplan.py | 18 ++++++++++++++++++ src/core/models/rooms.py | 2 ++ src/plainui/views.py | 6 ++++-- 6 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 src/core/migrations/0050_Room_is_public_fahrplan.py diff --git a/src/core/admin.py b/src/core/admin.py index 670b8fd99..819f7fa5a 100644 --- a/src/core/admin.py +++ b/src/core/admin.py @@ -342,7 +342,7 @@ class RoomAdmin(admin.ModelAdmin): fieldsets = ( ('Organisation', { - 'fields': ['id', 'conference', 'assembly', 'blocked', 'reserve_capacity'], + 'fields': ['id', 'conference', 'assembly', 'is_public_fahrplan', 'blocked', 'reserve_capacity'], }), ('Data', { 'fields': ['name', 'room_type', 'capacity', 'occupants'], diff --git a/src/core/locale/de/LC_MESSAGES/django.po b/src/core/locale/de/LC_MESSAGES/django.po index 2ba3b3a1e..936e656c0 100644 --- a/src/core/locale/de/LC_MESSAGES/django.po +++ b/src/core/locale/de/LC_MESSAGES/django.po @@ -810,6 +810,12 @@ msgstr "öffentliche Information (Markdown unterstützt)" msgid "Room__description" msgstr "Beschreibung" +msgid "Room__is_public_fahrplan__help" +msgstr "wird im public fahrplan angezeigt (insbes. ohne Login)" + +msgid "Room__is_public_fahrplan" +msgstr "public_fahrplan" + msgid "Room__type__help" msgstr "Art des Raums" diff --git a/src/core/locale/en/LC_MESSAGES/django.po b/src/core/locale/en/LC_MESSAGES/django.po index 204ae3184..703748746 100644 --- a/src/core/locale/en/LC_MESSAGES/django.po +++ b/src/core/locale/en/LC_MESSAGES/django.po @@ -816,6 +816,12 @@ msgstr "public information" msgid "Room__description" msgstr "description" +msgid "Room__is_public_fahrplan__help" +msgstr "shown in the public fahrplan" + +msgid "Room__is_public_fahrplan" +msgstr "public fahrplan" + msgid "Room__type__help" msgstr "type of room" diff --git a/src/core/migrations/0050_Room_is_public_fahrplan.py b/src/core/migrations/0050_Room_is_public_fahrplan.py new file mode 100644 index 000000000..e81e06bbf --- /dev/null +++ b/src/core/migrations/0050_Room_is_public_fahrplan.py @@ -0,0 +1,18 @@ +# Generated by Django 3.1.4 on 2020-12-26 13:19 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0049_Event_repair_start'), + ] + + operations = [ + migrations.AddField( + model_name='room', + name='is_public_fahrplan', + field=models.BooleanField(default=False, help_text='Room__is_public_fahrplan__help', verbose_name='Room__is_public_fahrplan'), + ), + ] diff --git a/src/core/models/rooms.py b/src/core/models/rooms.py index 3df44acb4..ca6a33d56 100644 --- a/src/core/models/rooms.py +++ b/src/core/models/rooms.py @@ -119,6 +119,8 @@ class Room(models.Model): """Description of the room/project.""" description_html = models.TextField(blank=True, null=True) + is_public_fahrplan = models.BooleanField(default=False, help_text=_('Room__is_public_fahrplan__help'), verbose_name=_('Room__is_public_fahrplan')) + room_type = models.CharField(max_length=20, choices=RoomType.choices, help_text=_('Room__type__help'), verbose_name=_('Room__type')) """Style of the room.""" diff --git a/src/plainui/views.py b/src/plainui/views.py index aca532f9b..8265b33cb 100644 --- a/src/plainui/views.py +++ b/src/plainui/views.py @@ -1030,7 +1030,7 @@ def _organize_events_for_calendar(conf, events): UPCOMING_WINDOW = timedelta(minutes=30) -def _event_filter(user, conf, day=None, curated=None, assembly=None, track=None, room=None, user_schedule_only=False, upcoming=False): +def _event_filter(user, conf, day=None, curated=None, assembly=None, track=None, room=None, user_schedule_only=False, upcoming=False, public_fahrplan=False): min_date, max_date = conf.start, conf.end if min_date is None or max_date is None: return Event.objects.none() @@ -1049,6 +1049,8 @@ def _event_filter(user, conf, day=None, curated=None, assembly=None, track=None, filters['room'] = room if user_schedule_only: filters['in_personal_calendar'] = user + if public_fahrplan: + filters['room__is_public_fahrplan'] = True events = Event.objects.conference_accessible(conf) if upcoming: @@ -1182,7 +1184,7 @@ class PublicFahrplanView(ConferenceRequiredMixin, TemplateView): def get_context_data(self, **kwargs): context = super().get_context_data(conf=self.conf, **kwargs) context['mode'] = 'calendar' - events = _event_filter(self.request.user, self.conf, curated=True) + events = _event_filter(self.request.user, self.conf, curated=True, public_fahrplan=True) context['events'] = _organize_events_for_calendar(self.conf, events) return context -- GitLab