From 81c286956ee74b0d6ff7896d3bab2dcce64c650b Mon Sep 17 00:00:00 2001 From: Luc Knol Date: Wed, 23 Oct 2019 22:16:21 +0200 Subject: [PATCH 1/6] Edited event slide functionality to be able to display slides specific to certain events --- website/events/admin.py | 2 +- website/events/migrations/0038_event_slide.py | 20 +++++++++++++++++ website/events/models.py | 9 ++++++++ website/events/static/events/css/style.scss | 20 +++++++++++++++++ website/events/templates/events/event.html | 16 +++++++++++++- website/events/views.py | 3 +++ website/thaliawebsite/static/css/base.scss | 22 ++++--------------- 7 files changed, 72 insertions(+), 20 deletions(-) create mode 100644 website/events/migrations/0038_event_slide.py diff --git a/website/events/admin.py b/website/events/admin.py index 111302d0..568320af 100644 --- a/website/events/admin.py +++ b/website/events/admin.py @@ -83,7 +83,7 @@ class EventAdmin(DoNextTranslatedModelAdmin): 'registration_start', 'registration_end', 'cancel_deadline', 'send_cancel_email', 'location', 'map_location', 'price', 'fine', 'max_participants', 'no_registration_message', 'published', - 'documents',) + 'slide', 'documents') list_display = ('overview_link', 'event_date', 'registration_date', 'num_participants', 'organiser', 'category', 'published', 'edit_link') diff --git a/website/events/migrations/0038_event_slide.py b/website/events/migrations/0038_event_slide.py new file mode 100644 index 00000000..c1b888f5 --- /dev/null +++ b/website/events/migrations/0038_event_slide.py @@ -0,0 +1,20 @@ +# Generated by Django 2.2.1 on 2019-10-23 17:06 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('announcements', '0005_slide'), + ('events', '0037_auto_20190804_1351'), + ] + + operations = [ + migrations.AddField( + model_name='event', + name='slide', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='announcements.Slide', verbose_name='slide'), + ), + ] diff --git a/website/events/models.py b/website/events/models.py index 6741b208..c2d684c8 100644 --- a/website/events/models.py +++ b/website/events/models.py @@ -14,6 +14,7 @@ from tinymce.models import HTMLField from members.models import Member from pushnotifications.models import ScheduledMessage, Category from utils.translation import ModelTranslateMeta, MultilingualField +from announcements.models import Slide class Event(models.Model, metaclass=ModelTranslateMeta): @@ -170,6 +171,14 @@ class Event(models.Model, metaclass=ModelTranslateMeta): blank=True, ) + slide = models.ForeignKey( + Slide, + verbose_name='slide', + blank=True, + on_delete=models.deletion.SET_NULL, + null=True + ) + def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._price = self.price diff --git a/website/events/static/events/css/style.scss b/website/events/static/events/css/style.scss index 01f67f16..a3d74a44 100644 --- a/website/events/static/events/css/style.scss +++ b/website/events/static/events/css/style.scss @@ -109,3 +109,23 @@ #page-content .page-section#events-registrations { padding-top: 0; } + +.event-slide { + #page-header { + height: 0; + padding-bottom: 21.5%; + position: relative; + + @media(max-width: 991px) { + padding-bottom: 40%; + } + + .image, #announcements-slider { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + } + } +} diff --git a/website/events/templates/events/event.html b/website/events/templates/events/event.html index 0b0ea0a2..06cf4fb3 100644 --- a/website/events/templates/events/event.html +++ b/website/events/templates/events/event.html @@ -1,5 +1,6 @@ {% extends "base.html" %} -{% load i18n static bleach_tags thumbnail member_card google_map_url grid_item alert document_cards %} +{% load i18n static bleach_tags thumbnail member_card google_map_url grid_item alert document_cards slider %} + {% block title %}{{ event.title }} — {% trans "Calendar"|capfirst %} — {{ block.super }}{% endblock %} {% block opengraph_title %}{{ event.title }} — {% trans "Calendar"|capfirst %} — {{ block.super }}{% endblock %} @@ -8,6 +9,19 @@ {% endblock %} + +{% if event.slide %} + {% block body_class %}event-slide{% endblock %} + {% block header_image_container %} + +{% endblock header_image_container %} +{% endif %} + {% block body %}
diff --git a/website/events/views.py b/website/events/views.py index 7d15d6cb..9e1320e3 100644 --- a/website/events/views.py +++ b/website/events/views.py @@ -1,5 +1,6 @@ """Views provided by the events package""" +from django.conf import settings from django.contrib import messages from django.contrib.auth.decorators import login_required from django.shortcuts import get_object_or_404, redirect @@ -66,6 +67,8 @@ class EventDetail(DetailView): context['date_now'] = timezone.now() + context['slide_size'] = settings.THUMBNAIL_SIZES['slide'] + return context diff --git a/website/thaliawebsite/static/css/base.scss b/website/thaliawebsite/static/css/base.scss index 0c5cfe09..69ff7fb9 100644 --- a/website/thaliawebsite/static/css/base.scss +++ b/website/thaliawebsite/static/css/base.scss @@ -158,6 +158,10 @@ body { padding-bottom: 21.5%; position: relative; + @media(max-width: 991px) { + padding-bottom: 40%; + } + .image, #announcements-slider { position: absolute; top: 0; @@ -168,24 +172,6 @@ body { } } -@media(max-width: 991px) { - .home { - #page-header { - height: 0; - padding-bottom: 40%; - position: relative; - - #announcements-slider { - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - } - } - } -} - @media(max-width: 1023px) { #page-header { height: 170px; -- GitLab From 8d715b38f1f574ef82824ff1c04f31a13cd002d0 Mon Sep 17 00:00:00 2001 From: Luc Knol Date: Wed, 13 Nov 2019 21:09:19 +0100 Subject: [PATCH 2/6] Solved the comments --- .../locale/nl/LC_MESSAGES/django.mo | Bin 2610 -> 2889 bytes .../locale/nl/LC_MESSAGES/django.po | 16 ++++++++++----- .../migrations/0006_auto_20191106_2025.py | 19 ++++++++++++++++++ .../migrations/0007_auto_20191106_2031.py | 19 ++++++++++++++++++ .../migrations/0008_auto_20191106_2131.py | 19 ++++++++++++++++++ website/announcements/models.py | 8 ++++++-- .../migrations/0039_auto_20191113_2057.py | 19 ++++++++++++++++++ website/events/models.py | 1 + website/events/templates/events/event.html | 11 ++++++---- 9 files changed, 101 insertions(+), 11 deletions(-) create mode 100644 website/announcements/migrations/0006_auto_20191106_2025.py create mode 100644 website/announcements/migrations/0007_auto_20191106_2031.py create mode 100644 website/announcements/migrations/0008_auto_20191106_2131.py create mode 100644 website/events/migrations/0039_auto_20191113_2057.py diff --git a/website/announcements/locale/nl/LC_MESSAGES/django.mo b/website/announcements/locale/nl/LC_MESSAGES/django.mo index 3e386284e9fd122783cd28dcae30444c22c73bf1..bcc66de624afacc6399356ff2ca9db223da699aa 100644 GIT binary patch delta 731 zcmYk%&ubG=5C`yC+q5-B4UMVbK}I9C&}{4`{vhf_^kBie=NEU9yyWF=$UYO)L;e8| zN}x9duPO*Gc<4b7rGijJ1aH!dCl8*AXZp$^p=SBXNYFu z3;Zp^*DwP=zzW=jOYjf81eeeZ;09cW52xo>a1G}@h>NmwL}xsr9IWA7ohMp_U5FBG z&eMn(H&0PG2H(LW@H4E!?=T&lTbR69ge9DB!?W-{JO`h_BHV#r;7^EMY3ndi0ltSQ z(KmP#?!gnVn8o_(W>>RB7vVj48NP();g6~L#Yv(Yi{mZtR3Y6p{hgdZM^neYysDQ^ zP9NI$Mtr9wmX$FaDknZG8?w_~@f%u97_;gN8)-PM8)Z8sb}ix9=umhV*%g$92Rhbu zBW2!jJk-XNxD^d$ApO#TE=QPR8D;DIo@xr~25VPXiP>n|5loH#J&@#QH@)%KOg>lh zgTN1}9MrBhOr?Aw*_qq*M%&4D(&tb+tlSP`r+a0-Zm_g5lIBr9BV5|^ z2S|f^Bhuui7-Y5lK(}p)b<9XJ$z-)Sl<&4&U8#PVZ|Qd07Zjw=LoxrG9QCfT;45h) h=}u#5t1vz07G6|o-h&Tda3|{Zun9hzJYRU?{RK(`tCj!& delta 452 zcmZ|Kze_?<6u|Lw)BHsySSmP#l0~Gi?tNyOYc5exNJ~p#;9x^VSxbojKv3}NFQ}o` zUJy96N?`v(Q(Kd3L*GZPT`uQy&gCBNx$nv6>6@!=Rz!wA5kDpfNlfE78nm&DaXiFT z?4ZFH)c7^3Q#9qNH_+=pCu}N_OI)Mw2SgT71w}|@F(_ThkQfePSjQ+HU=dHyd-wsp z##b!hC+0935}8LEXK@ebu!GDb_n5#(WXl_&hJ8%oM40it$#P+l67FLeZ*dt1BY)8Q zQ6b{=)J$TE)LZF4WD;Y}w<;=evtvW$KKbv|)~>aF+HAC2$46GJ(QZ~Vwl)>ZXv timezone.now()) and - (self.since is None or self.since <= timezone.now())) + (self.since is None or self.since <= timezone.now()) and not + (self.since is None and self.until is None)) def __str__(self): return self.title diff --git a/website/events/migrations/0039_auto_20191113_2057.py b/website/events/migrations/0039_auto_20191113_2057.py new file mode 100644 index 00000000..aa1e29ba --- /dev/null +++ b/website/events/migrations/0039_auto_20191113_2057.py @@ -0,0 +1,19 @@ +# Generated by Django 2.2.1 on 2019-11-13 19:57 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('events', '0038_event_slide'), + ] + + operations = [ + migrations.AlterField( + model_name='event', + name='slide', + field=models.ForeignKey(blank=True, help_text="Change the header-image on the event's info-page to one specific to this event.", null=True, on_delete=django.db.models.deletion.SET_NULL, to='announcements.Slide', verbose_name='slide'), + ), + ] diff --git a/website/events/models.py b/website/events/models.py index c2d684c8..0a0bca33 100644 --- a/website/events/models.py +++ b/website/events/models.py @@ -174,6 +174,7 @@ class Event(models.Model, metaclass=ModelTranslateMeta): slide = models.ForeignKey( Slide, verbose_name='slide', + help_text=_("Change the header-image on the event's info-page to one specific to this event."), blank=True, on_delete=models.deletion.SET_NULL, null=True diff --git a/website/events/templates/events/event.html b/website/events/templates/events/event.html index 06cf4fb3..03716845 100644 --- a/website/events/templates/events/event.html +++ b/website/events/templates/events/event.html @@ -10,17 +10,20 @@ {% endblock %} -{% if event.slide %} - {% block body_class %}event-slide{% endblock %} - {% block header_image_container %} + +{% block body_class %}event-slide{% endblock %} +{% block header_image_container %} + {% if event.slide %} + {% else %} + {{ block.super }} + {% endif %} {% endblock header_image_container %} -{% endif %} {% block body %}
-- GitLab From 365378e6fbe8fd35cfbf14b40b08161dbc122d13 Mon Sep 17 00:00:00 2001 From: Luc Knol Date: Wed, 13 Nov 2019 21:27:08 +0100 Subject: [PATCH 3/6] solved the comments --- website/announcements/models.py | 6 ++++-- website/events/models.py | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/website/announcements/models.py b/website/announcements/models.py index 02d6c3af..9cc42660 100644 --- a/website/announcements/models.py +++ b/website/announcements/models.py @@ -120,8 +120,10 @@ class Slide(models.Model, metaclass=ModelTranslateMeta): since = models.DateTimeField( verbose_name=_('Display since'), - help_text=_("Hide this slide before this time. When all date- and time-fields are left blank, the slide won't " - "be visible. It will, however, be visible on an event-page if it's linked to an event."), + help_text=_("Hide this slide before this time. When all date- and" + "time-fields are left blank, the slide won't " + "be visible. It will, however, be visible on an event-page" + "if it's linked to an event."), default=timezone.now, blank=True, null=True, diff --git a/website/events/models.py b/website/events/models.py index 0a0bca33..b48f9c4d 100644 --- a/website/events/models.py +++ b/website/events/models.py @@ -174,7 +174,8 @@ class Event(models.Model, metaclass=ModelTranslateMeta): slide = models.ForeignKey( Slide, verbose_name='slide', - help_text=_("Change the header-image on the event's info-page to one specific to this event."), + help_text=_("Change the header-image on the event's info-page to one" + "specific to this event."), blank=True, on_delete=models.deletion.SET_NULL, null=True -- GitLab From b36fc225bb56d8eed049aeb72694a4861164cc10 Mon Sep 17 00:00:00 2001 From: Luc Knol Date: Wed, 13 Nov 2019 22:22:59 +0100 Subject: [PATCH 4/6] solved the comments --- website/announcements/models.py | 2 +- website/events/models.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/website/announcements/models.py b/website/announcements/models.py index 9cc42660..000946a9 100644 --- a/website/announcements/models.py +++ b/website/announcements/models.py @@ -122,7 +122,7 @@ class Slide(models.Model, metaclass=ModelTranslateMeta): verbose_name=_('Display since'), help_text=_("Hide this slide before this time. When all date- and" "time-fields are left blank, the slide won't " - "be visible. It will, however, be visible on an event-page" + "be visible. It will, however, be visible on an event-page" "if it's linked to an event."), default=timezone.now, blank=True, diff --git a/website/events/models.py b/website/events/models.py index b48f9c4d..d2cd91f5 100644 --- a/website/events/models.py +++ b/website/events/models.py @@ -174,7 +174,7 @@ class Event(models.Model, metaclass=ModelTranslateMeta): slide = models.ForeignKey( Slide, verbose_name='slide', - help_text=_("Change the header-image on the event's info-page to one" + help_text=_("Change the header-image on the event's info-page to one" "specific to this event."), blank=True, on_delete=models.deletion.SET_NULL, -- GitLab From 77d7a64a04aa386b2a4db27c1511dfb69576d855 Mon Sep 17 00:00:00 2001 From: Luc Knol Date: Wed, 20 Nov 2019 19:11:11 +0100 Subject: [PATCH 5/6] solved the comments --- .../migrations/0009_auto_20191120_1906.py | 19 +++++++++++++++++++ .../migrations/0040_auto_20191120_1906.py | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 website/announcements/migrations/0009_auto_20191120_1906.py create mode 100644 website/events/migrations/0040_auto_20191120_1906.py diff --git a/website/announcements/migrations/0009_auto_20191120_1906.py b/website/announcements/migrations/0009_auto_20191120_1906.py new file mode 100644 index 00000000..5f063a60 --- /dev/null +++ b/website/announcements/migrations/0009_auto_20191120_1906.py @@ -0,0 +1,19 @@ +# Generated by Django 2.2.1 on 2019-11-20 18:06 + +from django.db import migrations, models +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('announcements', '0008_auto_20191106_2131'), + ] + + operations = [ + migrations.AlterField( + model_name='slide', + name='since', + field=models.DateTimeField(blank=True, default=django.utils.timezone.now, help_text="Hide this slide before this time. When all date- andtime-fields are left blank, the slide won't be visible. It will, however, be visible on an event-pageif it's linked to an event.", null=True, verbose_name='Display since'), + ), + ] diff --git a/website/events/migrations/0040_auto_20191120_1906.py b/website/events/migrations/0040_auto_20191120_1906.py new file mode 100644 index 00000000..c6b61f22 --- /dev/null +++ b/website/events/migrations/0040_auto_20191120_1906.py @@ -0,0 +1,19 @@ +# Generated by Django 2.2.1 on 2019-11-20 18:06 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('events', '0039_auto_20191113_2057'), + ] + + operations = [ + migrations.AlterField( + model_name='event', + name='slide', + field=models.ForeignKey(blank=True, help_text="Change the header-image on the event's info-page to onespecific to this event.", null=True, on_delete=django.db.models.deletion.SET_NULL, to='announcements.Slide', verbose_name='slide'), + ), + ] -- GitLab From d545aa0d976d7a386d7f0f93eddc2eebf074ac56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastiaan=20Versteeg?= Date: Wed, 20 Nov 2019 21:48:36 +0100 Subject: [PATCH 6/6] Fix migrations --- website/events/migrations/0038_event_slide.py | 20 ------------------- .../migrations/0039_auto_20191113_2057.py | 19 ------------------ ...o_20191120_1906.py => 0039_event_slide.py} | 7 ++++--- 3 files changed, 4 insertions(+), 42 deletions(-) delete mode 100644 website/events/migrations/0038_event_slide.py delete mode 100644 website/events/migrations/0039_auto_20191113_2057.py rename website/events/migrations/{0040_auto_20191120_1906.py => 0039_event_slide.py} (73%) diff --git a/website/events/migrations/0038_event_slide.py b/website/events/migrations/0038_event_slide.py deleted file mode 100644 index c1b888f5..00000000 --- a/website/events/migrations/0038_event_slide.py +++ /dev/null @@ -1,20 +0,0 @@ -# Generated by Django 2.2.1 on 2019-10-23 17:06 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('announcements', '0005_slide'), - ('events', '0037_auto_20190804_1351'), - ] - - operations = [ - migrations.AddField( - model_name='event', - name='slide', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='announcements.Slide', verbose_name='slide'), - ), - ] diff --git a/website/events/migrations/0039_auto_20191113_2057.py b/website/events/migrations/0039_auto_20191113_2057.py deleted file mode 100644 index aa1e29ba..00000000 --- a/website/events/migrations/0039_auto_20191113_2057.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 2.2.1 on 2019-11-13 19:57 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('events', '0038_event_slide'), - ] - - operations = [ - migrations.AlterField( - model_name='event', - name='slide', - field=models.ForeignKey(blank=True, help_text="Change the header-image on the event's info-page to one specific to this event.", null=True, on_delete=django.db.models.deletion.SET_NULL, to='announcements.Slide', verbose_name='slide'), - ), - ] diff --git a/website/events/migrations/0040_auto_20191120_1906.py b/website/events/migrations/0039_event_slide.py similarity index 73% rename from website/events/migrations/0040_auto_20191120_1906.py rename to website/events/migrations/0039_event_slide.py index c6b61f22..2b987fb5 100644 --- a/website/events/migrations/0040_auto_20191120_1906.py +++ b/website/events/migrations/0039_event_slide.py @@ -1,4 +1,4 @@ -# Generated by Django 2.2.1 on 2019-11-20 18:06 +# Generated by Django 2.2.6 on 2019-11-20 20:48 from django.db import migrations, models import django.db.models.deletion @@ -7,11 +7,12 @@ import django.db.models.deletion class Migration(migrations.Migration): dependencies = [ - ('events', '0039_auto_20191113_2057'), + ('announcements', '0009_auto_20191120_1906'), + ('events', '0038_auto_20191024_1824'), ] operations = [ - migrations.AlterField( + migrations.AddField( model_name='event', name='slide', field=models.ForeignKey(blank=True, help_text="Change the header-image on the event's info-page to onespecific to this event.", null=True, on_delete=django.db.models.deletion.SET_NULL, to='announcements.Slide', verbose_name='slide'), -- GitLab