From c82becab4e3c8ddf67b95b0aaf68c846d758af73 Mon Sep 17 00:00:00 2001 From: OndraPetrzilka <ondra.petrzilka@gmail.com> Date: Tue, 23 Aug 2022 09:52:44 +0200 Subject: [PATCH] PersonPage twitter_username field added, get_context - for every person get tweets and articles --- ...ainpersonpage_twitter_username_and_more.py | 25 +++++++++++++++++++ main/models.py | 11 +++++++- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 main/migrations/0005_mainpersonpage_twitter_username_and_more.py diff --git a/main/migrations/0005_mainpersonpage_twitter_username_and_more.py b/main/migrations/0005_mainpersonpage_twitter_username_and_more.py new file mode 100644 index 000000000..e515a90e2 --- /dev/null +++ b/main/migrations/0005_mainpersonpage_twitter_username_and_more.py @@ -0,0 +1,25 @@ +# Generated by Django 4.0.7 on 2022-08-23 05:52 + +from django.db import migrations, models +import wagtail.blocks +import wagtail.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0004_alter_maincontactpage_contact_boxes_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='mainpersonpage', + name='twitter_username', + field=models.CharField(blank=True, max_length=32, null=True, verbose_name='Uživatelské jméno twitter'), + ), + migrations.AlterField( + model_name='mainhomepage', + name='twitter_usernames', + field=wagtail.fields.StreamField([('username', wagtail.blocks.CharBlock(label='Twitter uživatelské jméno'))], blank=True, use_json_field=None, verbose_name='Uživatelská jména pro synchronizované twitter účty'), + ), + ] diff --git a/main/models.py b/main/models.py index 714b4f30e..88a6b4953 100644 --- a/main/models.py +++ b/main/models.py @@ -28,6 +28,7 @@ from shared.utils import make_promote_panels, subscribe_to_newsletter from tuning import admin_help from . import blocks +from twitter_utils.models import Tweet class MainHomePage(MenuMixin, ExtendedMetadataHomePageMixin, MetadataPageMixin, Page): @@ -88,7 +89,7 @@ class MainHomePage(MenuMixin, ExtendedMetadataHomePageMixin, MetadataPageMixin, ) twitter_usernames = StreamField( - [("username", CharBlock())], + [("username", CharBlock(label="Twitter uživatelské jméno"))], verbose_name="Uživatelská jména pro synchronizované twitter účty", blank=True, max_num=6, @@ -337,6 +338,7 @@ class MainPersonPage(ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin, perex = models.TextField() text = RichTextField() + twitter_username = models.CharField("Uživatelské jméno twitter", blank=True, null=True, max_length=32) settings_panels = [] @@ -348,9 +350,16 @@ class MainPersonPage(ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin, ### PANELS content_panels = Page.content_panels + [ FieldPanel('perex'), + FieldPanel('twitter_username'), FieldPanel('text') ] + def get_context(self, request): + context = super(MainPersonPage, self).get_context(request) + context['article_page_list'] = MainArticlePage.objects.filter(author_page=self.id) + context['tweet_list'] = Tweet.objects.filter(author_username=self.twitter_username) + return context + ### OTHERS class Meta: -- GitLab