Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • master
1 result

Target

Select target project
No results found
Select Git revision
  • master
  • jw
2 results
Show changes
1000 files
+ 4448
170591
Compare changes
  • Side-by-side
  • Inline

Files

+1 −0
Original line number Diff line number Diff line
@@ -3,3 +3,4 @@ __pycache__/
institut/static/css/style.css
static/*
media/*
node_modules/
+4 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ help:
	@echo "Application:"
	@echo "  run             Run the application on port ${PORT}"
	@echo "  shell           Access the Django shell"
	@echo "  superuser       Create superuser
	@echo ""
	@echo "Database:"
	@echo "  migrations      Generate migrations"
@@ -57,6 +58,9 @@ run: venv
shell: venv
	${VENV}/bin/python manage.py shell --settings=${SETTINGS}

superuser: venv
	${VENV}/bin/python manage.py createsuperuser --settings=${SETTINGS}

migrations: venv
	${VENV}/bin/python manage.py makemigrations --settings=${SETTINGS}

home/admin.py

0 → 100644
+15 −0
Original line number Diff line number Diff line
from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register

from .models import Tag


class TagAdmin(ModelAdmin):
    model = Tag
    menu_label = "Štítky"
    menu_icon = "tag"
    menu_order = 290
    add_to_settings_menu = False
    exclude_from_explorer = False


modeladmin_register(TagAdmin)
+1 −34
Original line number Diff line number Diff line
from wagtail.blocks import (
    CharBlock,
    DateBlock,
    EmailBlock,
    StructBlock,
    TextBlock,
    URLBlock,
    PageChooserBlock,
)
from wagtail.documents.blocks import DocumentChooserBlock
from wagtail.blocks import CharBlock, EmailBlock, StructBlock, TextBlock


class PersonBlock(StructBlock):
@@ -19,27 +10,3 @@ class PersonBlock(StructBlock):
        label = "Osoba"
        template = "home/blocks/person_block.html"
        icon = "user"


class DocumentBlock(StructBlock):
    name = CharBlock(label="Jméno")
    date_added = DateBlock(label="Datum přidání", required=False)
    page = PageChooserBlock(label="Stránka (místo dokumentu)", required=False)
    file = DocumentChooserBlock(label="Dokument", required=False)

    class Meta:
        label = "Dokument"
        template = "home/blocks/document_block.html"
        icon = "doc-full-inverse"


class EventBlock(StructBlock):
    name = CharBlock(label="Jméno")
    page = PageChooserBlock(label="Stránka")
    date = DateBlock(label="Datum konání", required=False)
    location = CharBlock(label="Lokace", required=False)

    class Meta:
        label = "Událost"
        template = "home/blocks/event_block.html"
        icon = "calendar-alt"

home/feeds.py

0 → 100644
+52 −0
Original line number Diff line number Diff line
import typing
from datetime import datetime

from django.contrib.syndication.views import Feed
from django.template.loader import render_to_string
from django.urls import reverse

from .models import HomeArticlePage, HomeArticlesPage


class LatestArticlesFeed(Feed):
    def get_object(self, request, id: int) -> HomeArticlesPage:
        return HomeArticlesPage.objects.get(id=id)

    def title(self, obj: HomeArticlesPage) -> str:
        return obj.title

    def link(self, obj: HomeArticlesPage) -> str:
        return obj.get_full_url()

    def items(self, obj: HomeArticlesPage) -> list:
        return HomeArticlePage.objects.live().child_of(obj).order_by("-date")[:32]

    def item_title(self, item: HomeArticlePage) -> str:
        return item.title

    def item_description(self, item: HomeArticlePage) -> str:
        return render_to_string(
            "home/feed_item_description.html",
            {"item": item},
        )

    def item_pubdate(self, item: HomeArticlePage) -> datetime:
        return datetime(
            item.date.year,
            item.date.month,
            item.date.day,
            12,
            0,
        )

    def item_author_name(self, item: HomeArticlePage) -> str:
        if item.author:
            return item.author

        return ""

    def item_categories(self, item: HomeArticlePage) -> list:
        return item.tags.all()

    def item_link(self, item: HomeArticlePage) -> str:
        return item.get_full_url()
Original line number Diff line number Diff line
# Generated by Django 4.2.2 on 2023-07-23 12:14

from django.db import migrations, models
import django.db.models.deletion
import wagtail.blocks
import wagtail.documents.blocks
import wagtail.fields
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('wagtailcore', '0083_workflowcontenttype'),
        ("wagtailcore", "0083_workflowcontenttype"),
    ]

    operations = [
        migrations.CreateModel(
            name='HomeArticlesPage',
            name="HomeArticlesPage",
            fields=[
                ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
                ('author', models.CharField(verbose_name='Autor')),
                ('perex', wagtail.fields.RichTextField(verbose_name='Perex')),
                ('content', wagtail.fields.RichTextField(verbose_name='Obsah')),
                (
                    "page_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtailcore.page",
                    ),
                ),
                ("author", models.CharField(verbose_name="Autor")),
                ("perex", wagtail.fields.RichTextField(verbose_name="Perex")),
                ("content", wagtail.fields.RichTextField(verbose_name="Obsah")),
            ],
            options={
                'abstract': False,
                "abstract": False,
            },
            bases=('wagtailcore.page',),
            bases=("wagtailcore.page",),
        ),
        migrations.CreateModel(
            name='HomePage',
            name="HomePage",
            fields=[
                ('page_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wagtailcore.page')),
                ('heading_text', wagtail.fields.RichTextField(verbose_name='Hlavní text stránky')),
                ('events', wagtail.fields.StreamField([('event', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('url', wagtail.blocks.URLBlock(label='URL')), ('date', wagtail.blocks.DateBlock(label='Datum konání', required=False)), ('location', wagtail.blocks.CharBlock(label='Lokace', required=False))]))], blank=True, null=True, use_json_field=True, verbose_name='Události')),
                ('documents', wagtail.fields.StreamField([('document', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('date_added', wagtail.blocks.DateBlock(label='Datum přidání', required=False)), ('url', wagtail.blocks.URLBlock(label='URL (místo dokumentu)', required=False)), ('file', wagtail.documents.blocks.DocumentChooserBlock(label='Dokument', required=False))]))], blank=True, null=True, use_json_field=True, verbose_name='Dokumenty')),
                ('donation_text', wagtail.fields.RichTextField(verbose_name='Text pro dary')),
                ('address', models.CharField(verbose_name='Sídlo')),
                ('branch', models.CharField(verbose_name='Pobočka')),
                ('email', models.EmailField(max_length=254, verbose_name='Email')),
                ('ds_id', models.CharField(verbose_name='Datová schránka')),
                ('director', wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))]))], blank=True, null=True, use_json_field=True, verbose_name='Ředitel')),
                ('controller', wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))]))], blank=True, null=True, use_json_field=True, verbose_name='Kontrolor')),