diff --git a/elections/migrations/0019_electionsarticlepage_show_initial_image.py b/elections/migrations/0019_electionsarticlepage_show_initial_image.py new file mode 100644 index 0000000000000000000000000000000000000000..a6684aecb508c1340246c60e54509e832e25a1ed --- /dev/null +++ b/elections/migrations/0019_electionsarticlepage_show_initial_image.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.10 on 2024-01-19 18:45 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('elections', '0018_alter_electionshomepage_content'), + ] + + operations = [ + migrations.AddField( + model_name='electionsarticlepage', + name='show_initial_image', + field=models.BooleanField(default=True, help_text='Pokud je tato volba zaškrtnutá, obrázek nastavený u tohoto článku se automaticky vloží do prvního odstavce.', verbose_name='Ukázat obrázek v textu'), + ), + ] diff --git a/main/migrations/0072_mainarticlepage_show_initial_image.py b/main/migrations/0072_mainarticlepage_show_initial_image.py new file mode 100644 index 0000000000000000000000000000000000000000..994962fd6fedb0f380ea80c0c9b4ce671d82159e --- /dev/null +++ b/main/migrations/0072_mainarticlepage_show_initial_image.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.10 on 2024-01-19 18:45 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0071_rename_date_mainarticlepage_timestamp'), + ] + + operations = [ + migrations.AddField( + model_name='mainarticlepage', + name='show_initial_image', + field=models.BooleanField(default=True, help_text='Pokud je tato volba zaškrtnutá, obrázek nastavený u tohoto článku se automaticky vloží do prvního odstavce.', verbose_name='Ukázat obrázek v textu'), + ), + ] diff --git a/shared/models/main.py b/shared/models/main.py index 43c0d291fab5713eb0e987cc6be63dbfebb2106a..78f2c2ca08b578dc42e35f8a17b94e8672b6baa1 100644 --- a/shared/models/main.py +++ b/shared/models/main.py @@ -635,6 +635,12 @@ class MainArticlePageMixin( Page, ): ### FIELDS + show_initial_image = models.BooleanField( + verbose_name="Ukázat obrázek v textu", + help_text="Pokud je tato volba zaškrtnutá, obrázek nastavený u tohoto článku se automaticky vloží do prvního odstavce.", + default=True, + ) + content = StreamField( [ ( @@ -670,6 +676,7 @@ class MainArticlePageMixin( content_panels = ArticleMixin.content_panels + [ FieldPanel("author_page"), + FieldPanel("show_initial_image"), FieldPanel("tags"), FieldPanel("shared_tags"), ] diff --git a/shared/templates/styleguide2/article_page.html b/shared/templates/styleguide2/article_page.html index 822c24fd0c34109dcc89f7bbb06a1526f3243ac1..65658ca7ec10eb8df189fab405d906dad7670df8 100644 --- a/shared/templates/styleguide2/article_page.html +++ b/shared/templates/styleguide2/article_page.html @@ -1,5 +1,5 @@ {% extends "styleguide2/base.html" %} -{% load wagtailcore_tags %} +{% load wagtailcore_tags wagtailimages_tags %} {% block content %} @@ -17,6 +17,10 @@ </p> {% endif %} + {% if page.image %} + {% image page.image max-500x500 as initial_image %} + {% endif %} + {% for block in page.content %} {% include_block block %} {% endfor %} diff --git a/shared/templates/styleguide2/includes/atoms/text/prose_richtext.html b/shared/templates/styleguide2/includes/atoms/text/prose_richtext.html index 0ec6ac31209eda214dc6c25d2f509b50a7e7b40f..19dbfb73f01efa73adafdc6fa17786975c054c87 100644 --- a/shared/templates/styleguide2/includes/atoms/text/prose_richtext.html +++ b/shared/templates/styleguide2/includes/atoms/text/prose_richtext.html @@ -1,3 +1,11 @@ <div class="prose [&_p]:leading-7 [&_p]:text-black [&_p]:text-lg" style="max-width:100ch"> + {% if forloop.first and page.show_initial_image and initial_image %} + <img + src="{{ initial_image.url }}" + width="400" + class="float-right ml-4 mb-6 max-w-[400px] mt-0 sm:max-w-full object-contain" + > + {% endif %} + {{ self }} </div>