diff --git a/main/forms.py b/main/forms.py new file mode 100644 index 0000000000000000000000000000000000000000..b5386a493b7436a3483db8adc1873e3bcb74215b --- /dev/null +++ b/main/forms.py @@ -0,0 +1,79 @@ +from django import forms +from wagtail.admin.forms import WagtailAdminPageForm +from wagtail.core.models.collections import Collection + +from .tasks import import_jekyll_articles + + +class JekyllImportForm(WagtailAdminPageForm): + do_import = forms.BooleanField( + initial=False, required=False, label="Provést import z Jekyllu" + ) + collection = forms.ModelChoiceField( + queryset=Collection.objects.all(), required=False, label="Kolekce obrázků" + ) + dry_run = forms.BooleanField( + initial=True, + required=False, + label="Jenom na zkoušku", + help_text="Žádné články se neuloží, vypíše případné problémy či " + "již existující články - 'ostrému' importu existující " + "články nevadí, přeskočí je", + ) + jekyll_repo_url = forms.URLField( + max_length=512, + required=False, + help_text="V GitHubu tlačítko Code -> a odkaz z Download zip" + "např. 'https://github.com/pirati-web/cb.pirati.cz/archive/refs/heads/gh-pages.zip'," + "pokud máte nainstalovaný Git, zvolte Použít Git a vložte" + "jednoduše URL repozitáře " + "např. 'https://github.com/pirati-web/cb.pirati.cz'", + ) + readonly_log = forms.CharField( + disabled=True, + label="Log z posledního importu", + required=False, + widget=forms.Textarea, + ) + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.fields["readonly_log"].initial = self.instance.last_import_log + + def clean(self): + cleaned_data = super().clean() + + if not cleaned_data.get("do_import"): + return cleaned_data + + if cleaned_data.get("do_import") and not self.instance.id: + self.add_error( + "do_import", "Import proveďte prosím až po vytvoření stránky" + ) + + if not cleaned_data.get("collection"): + self.add_error("collection", "Pro import je toto pole povinné") + if not cleaned_data.get("jekyll_repo_url"): + self.add_error("jekyll_repo_url", "Pro import je toto pole povinné") + + if cleaned_data.get("jekyll_repo_url", "").endswith(".zip"): + self.add_error( + "jekyll_repo_url", "Vložte odkaz pouze na repozitář, ne na zip" + ) + + return cleaned_data + + def handle_import(self): + import_jekyll_articles.delay( + article_parent_page_id=self.instance.id, + collection_id=self.cleaned_data["collection"].id, + url=self.cleaned_data["jekyll_repo_url"], + dry_run=self.cleaned_data["dry_run"], + use_git=True, + ) + + def save(self, commit=True): + if self.cleaned_data.get("do_import"): + self.handle_import() + + return super().save(commit=commit) diff --git a/main/migrations/0015_mainarticlespage_last_import_log.py b/main/migrations/0015_mainarticlespage_last_import_log.py new file mode 100644 index 0000000000000000000000000000000000000000..d4542a92fbf3194b11e68ba832ca6a023eb1b5a3 --- /dev/null +++ b/main/migrations/0015_mainarticlespage_last_import_log.py @@ -0,0 +1,20 @@ +# Generated by Django 4.0.7 on 2022-08-24 14:10 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("main", "0014_alter_mainarticlespage_options_and_more"), + ] + + operations = [ + migrations.AddField( + model_name="mainarticlespage", + name="last_import_log", + field=models.TextField( + blank=True, null=True, verbose_name="Výstup z posledního importu" + ), + ), + ] diff --git a/main/models.py b/main/models.py index caadb41a08ac165cc3ac0d6e5a9efeceaf358cf4..f69b6831ad5707e405f7736b194d905f9e148dfb 100644 --- a/main/models.py +++ b/main/models.py @@ -9,8 +9,14 @@ from django.utils import timezone from modelcluster.contrib.taggit import ClusterTaggableManager from modelcluster.fields import ParentalKey from taggit.models import TaggedItemBase -from wagtail.admin.edit_handlers import FieldPanel, ObjectList, TabbedInterface -from wagtail.contrib.routable_page.models import RoutablePageMixin, route +from wagtail.admin.edit_handlers import ( + FieldPanel, + HelpPanel, + MultiFieldPanel, + ObjectList, + TabbedInterface, +) +from wagtail.contrib.routable_page.models import route from wagtail.core.blocks import CharBlock, PageChooserBlock, RichTextBlock from wagtail.core.fields import RichTextField, StreamField from wagtail.core.models import Page @@ -30,6 +36,7 @@ from tuning import admin_help from twitter_utils.models import Tweet from . import blocks +from .forms import JekyllImportForm from .menu import MenuMixin @@ -200,17 +207,54 @@ class MainArticlesPage( verbose_name="Timeline", blank=True, ) + last_import_log = models.TextField( + "Výstup z posledního importu", null=True, blank=True + ) + + import_panels = [ + MultiFieldPanel( + [ + FieldPanel("do_import"), + FieldPanel("collection"), + FieldPanel("dry_run"), + FieldPanel("jekyll_repo_url"), + FieldPanel("readonly_log"), + HelpPanel( + "Import provádějte vždy až po vytvoření stránky aktualit. " + 'Pro uložení logu je nutné volit možnost "Publikovat", nikoliv' + 'pouze "Uložit koncept". ' + "Import proběhne na pozadí a může trvat až několik minut. " + "Dejte si po spuštění importu kávu a potom obnovte stránku pro " + "zobrazení výsledku importu." + ), + ], + "import z Jekyll repozitáře", + ), + ] ### RELATIONS parent_page_types = ["main.MainHomePage"] - subpage_types = [] + subpage_types = ["main.MainArticlePage"] ### PANELS content_panels = Page.content_panels + [FieldPanel("perex"), FieldPanel("timeline")] + promote_panels = make_promote_panels() + + ### EDIT HANDLERS + + edit_handler = TabbedInterface( + [ + ObjectList(content_panels, heading="Obsah"), + ObjectList(promote_panels, heading="Propagovat"), + ObjectList(import_panels, heading="Import"), + ] + ) ### OTHERS + base_form_class = JekyllImportForm + class Meta: verbose_name = "Rozcestník článků" diff --git a/main/styleguide/source/css/molecules/map.pcss b/main/styleguide/source/css/molecules/map.pcss new file mode 100644 index 0000000000000000000000000000000000000000..d1441737397d74932cb61f056227b0e1830bf512 --- /dev/null +++ b/main/styleguide/source/css/molecules/map.pcss @@ -0,0 +1,12 @@ + +.map-polygon { + z-index: 1; + transition: all 300ms ease-out; + transition-delay: 100ms; + + &:hover { + fill: #25A5B9; + transform: scale(1,1.05); + z-index: 10; + } +} diff --git a/main/styleguide/source/css/style.pcss b/main/styleguide/source/css/style.pcss index b8b61fd777c8de5cfc58e29760bb15c2746ec46d..0662bfcf8450b96fd28105c90bbecb2eca3a3b50 100644 --- a/main/styleguide/source/css/style.pcss +++ b/main/styleguide/source/css/style.pcss @@ -27,6 +27,7 @@ @import "./molecules/carousels.pcss"; @import "./molecules/contact_box.pcss"; +@import "./molecules/map.pcss"; @import "./molecules/sliding_button.pcss"; @import "./molecules/switch.pcss"; diff --git a/main/styleguide/source/js/components/RegionMap.vue b/main/styleguide/source/js/components/RegionMap.vue index 53fb1228204375cb80a63105afdad13716cce28f..31c20e892d47fba7378f853040ea25abfb443c57 100644 --- a/main/styleguide/source/js/components/RegionMap.vue +++ b/main/styleguide/source/js/components/RegionMap.vue @@ -11,6 +11,7 @@ <g> <a xlink:href="#" v-for="region in regions" :key="region.id" @mouseover="current = region" @mouseout="current = null" @click="selectRegion(region)"> <path + class="map-polygon" :class="{'region-map__region': true, 'region-map__region--current': current === region}" :d="region.polygon" ></path> @@ -58,16 +59,6 @@ export default { return { current: null, regions: [ - { - id: "praha", - name: "Hlavní město Praha", - polygon: "M256.167,247.61L263.167,244.11L265.83399999999995,245.61C265.83399999999995,245.61,270.00299999999993,246.41500000000002,270.5009999999999,245.943S269.33399999999995,241.61,269.33399999999995,241.61L272.33399999999995,239.77700000000002L276.5009999999999,240.61L281.1679999999999,238.11L283.6679999999999,234.77700000000002L289.1679999999999,234.94400000000002L290.5009999999999,237.27700000000002L293.6679999999999,238.27700000000002L294.6679999999999,239.77700000000002L298.33499999999987,238.94400000000002L297.33499999999987,242.61100000000002L302.1679999999999,243.77800000000002L304.33499999999987,247.27800000000002H307.50199999999984L310.50199999999984,251.11100000000002L310.00199999999984,254.11100000000002L305.1689999999998,254.61100000000002L301.8359999999998,256.944L304.1689999999998,258.944L304.6689999999998,264.111L301.1689999999998,267.27799999999996L297.1689999999998,264.611L292,263.944L289.5,266.444L284.833,267.611L282.16600000000005,271.444L278.4990000000001,271.611L274.9990000000001,273.27799999999996L273.9990000000001,275.94499999999994L269.4990000000001,276.94499999999994L266.16600000000005,273.27799999999996L267.833,267.94499999999994L263.16600000000005,265.6119999999999L264.4990000000001,262.6119999999999L260.66600000000005,260.1119999999999L257.66600000000005,255.7789999999999L259.9990000000001,252.2789999999999L256.167,247.61Z", - }, - { - id: "stredocesky", - name: "Středočeský kraj", - polygon: "M404.167,273.11L397.33399999999995,269.777L397.167,265.11L391.667,263.277L386,259.944L386.833,255.27700000000002L390.24800000000005,250.347L392.32000000000005,243.566L384.22100000000006,239.234L388.1770000000001,232.26500000000001L386.1050000000001,227.74400000000003L387.23500000000007,222.09400000000002L385.9170000000001,216.06600000000003L382.9030000000001,213.05200000000002L377.4410000000001,216.63100000000003L368.5880000000001,215.50100000000003V210.22700000000003L363.7850000000001,205.42400000000004L357.4750000000001,204.20000000000005L356.1570000000001,199.49100000000004L360.9600000000001,194.68800000000005L358.0410000000001,186.68300000000005L359.7360000000001,181.97400000000005L356.9110000000001,177.45300000000006L359.35700000000014,173.68500000000006L354.27200000000016,171.42500000000007V167.65800000000007L347.1610000000002,164.03200000000007L343.91200000000015,160.78300000000007H338.35500000000013L334.11700000000013,156.54500000000007L329.9730000000001,163.70200000000008L323.3800000000001,171.0480000000001L321.1200000000001,168.7880000000001L315.47000000000014,169.7290000000001V174.4380000000001L307.55900000000014,180.8420000000001L298.14100000000013,183.1020000000001L295.88100000000014,176.32100000000008L284.95300000000015,176.88600000000008L282.69300000000015,179.90100000000007L283.63500000000016,187.05900000000005H278.92600000000016L277.41900000000015,191.58000000000004H272.52200000000016L274.21700000000016,200.05600000000004L270.63800000000015,203.63500000000005L262.53900000000016,202.88200000000006L258.20600000000013,207.21500000000006H241.81900000000013L233.90800000000013,203.63600000000005L227.50400000000013,207.02600000000004V211.54700000000003L222.32400000000013,216.72700000000003H216.39100000000013L214.36600000000013,218.75100000000003L214.50800000000012,222.66000000000003L208.8570000000001,219.26900000000003L202.6420000000001,225.48400000000004L193.97700000000012,225.29600000000005L185.6890000000001,230.38200000000006L178.3430000000001,230.75800000000007L172.6920000000001,236.03200000000007L171.5620000000001,242.62400000000008L165.3460000000001,245.26100000000008L161.9560000000001,250.72300000000007L164.2510000000001,253.60700000000006L161.5010000000001,257.1070000000001L165.0010000000001,260.3570000000001L169.0010000000001,257.8570000000001L175.7510000000001,258.3570000000001L176.5010000000001,262.6070000000001L180.5010000000001,264.8570000000001L185.0010000000001,267.1070000000001L189.5010000000001,265.3570000000001L194.7510000000001,272.1070000000001L199.7510000000001,271.1070000000001L200.0010000000001,275.1070000000001L205.0010000000001,276.1070000000001L209.2510000000001,278.8570000000001L208.7510000000001,285.3570000000001L210.0010000000001,289.1070000000001L205.2510000000001,293.8570000000001L207.5010000000001,299.8570000000001L205.0010000000001,304.1070000000001L207.2510000000001,308.6070000000001L202.5010000000001,314.3570000000001H197L191.75,318.1070000000001L195.75,322.3570000000001L194,327.3570000000001L197.5,331.8570000000001L200.75,334.3570000000001L199.5,338.8570000000001L199.25,344.8570000000001L202.5,350.3570000000001L216.25,350.8570000000001L220.75,353.1070000000001L227.75,349.6070000000001L230.5,344.8570000000001H235.25L239,348.8570000000001L252.5,347.3570000000001L255.5,343.6070000000001H261.5L265.5,348.6070000000001L269.75,348.8570000000001L276,345.1070000000001L282.5,348.1070000000001L287,347.3570000000001L295,349.3570000000001L302.25,352.3570000000001L305.75,348.3570000000001L312.25,344.8570000000001L310.75,337.1070000000001L316,333.3570000000001L323.75,339.8570000000001L328,339.3570000000001L330.25,344.8570000000001L333.5,349.6070000000001L336.25,346.8570000000001L336.5,341.6070000000001L342,336.1070000000001L350.25,337.3570000000001L356.75,337.1070000000001L361.25,337.8570000000001L363.5,333.8570000000001L367.25,335.6070000000001L372,332.3570000000001L371.75,327.1070000000001L364,323.3570000000001L364.25,317.6070000000001L368,314.1070000000001L368.75,310.1070000000001L371.75,308.3570000000001L375.75,309.3570000000001L379,306.3570000000001H384.75L386.75,302.1070000000001L392.5,302.3570000000001L392,296.3570000000001L396,293.1070000000001L402,292.6070000000001L400,284.4410000000001L403.667,280.7740000000001L404.167,273.11ZM310,254.11L305.167,254.61L301.83399999999995,256.94300000000004L304.167,258.94300000000004L304.667,264.11L301.167,267.277L297.167,264.61L292,263.944L289.5,266.444L284.833,267.611L282.16600000000005,271.444L278.4990000000001,271.611L274.9990000000001,273.27799999999996L273.9990000000001,275.94499999999994L269.4990000000001,276.94499999999994L266.16600000000005,273.27799999999996L267.833,267.94499999999994L263.16600000000005,265.6119999999999L264.4990000000001,262.6119999999999L260.66600000000005,260.1119999999999L257.66600000000005,255.7789999999999L259.9990000000001,252.2789999999999L256.16600000000005,247.6119999999999L263.16600000000005,244.1119999999999L265.833,245.6119999999999L270.5,245.9449999999999L269.333,241.6119999999999L272.333,239.7789999999999L276.5,240.6119999999999L281.167,238.1119999999999L283.667,234.7789999999999L289.167,234.9459999999999L290.5,237.2789999999999L293.667,238.2789999999999L294.667,239.7789999999999L298.33399999999995,238.9459999999999L297.33399999999995,242.61299999999991L302.167,243.77999999999992L304.33399999999995,247.27999999999992H307.5009999999999L310.5009999999999,251.11299999999991L310,254.11Z", - }, { id: "jihocesky", name: "Jihočeský kraj", @@ -128,6 +119,16 @@ export default { name: "Zlínský kraj", polygon: "M737.5,365.046L731.75,362.36L730.5,356.61L723.5,352.11L723,347.61L717.5,349.86H712.25L706.25,345.61L698.25,343.86L690.25,347.11L685.25,342.86H679.5L675.375,346.985L671.25,345.61L664.5,350.11V357.11C664.5,357.11,660.164,361.736,659.125,362.485S653.25,355.86,653.25,355.86L645.5,358.61L647.75,365.36L641,367.36L636,365.86L631.875,369.985L629,375.11L625.125,371.235L618.5,371.61L616.5,366.86L612.5,370.36L614.75,378.11L611,381.86L608.75,385.36L599.25,386.86L593.375,392.735L589.75,397.61L592.75,402.86L591.25,408.11L598,408.86L597.25,413.86L592.75,416.86L587.75,422.11L591.5,426.86L599.75,423.61L602.75,426.86L602,432.61L608.25,436.11L616.5,437.11L616.25,442.86L621.5,442.61L627,447.61L633.5,445.11L639.25,448.61L639.5,452.61L645.75,454.11L649.5,459.61L651.646,462.31H656.5369999999999L663.6009999999999,457.963L668.4909999999999,449.54L678.5439999999999,448.997L680.3099999999998,435.548L684.2489999999998,431.609L697.2899999999998,430.522L704.0829999999999,420.742V409.06L707.6139999999998,399.007V391.944L713.0479999999998,383.522L720.3839999999998,381.62L727.1759999999998,378.088L733.1539999999998,375.915L737.5,365.046Z", }, + { + id: "stredocesky", + name: "Středočeský kraj", + polygon: "M404.167,273.11L397.33399999999995,269.777L397.167,265.11L391.667,263.277L386,259.944L386.833,255.27700000000002L390.24800000000005,250.347L392.32000000000005,243.566L384.22100000000006,239.234L388.1770000000001,232.26500000000001L386.1050000000001,227.74400000000003L387.23500000000007,222.09400000000002L385.9170000000001,216.06600000000003L382.9030000000001,213.05200000000002L377.4410000000001,216.63100000000003L368.5880000000001,215.50100000000003V210.22700000000003L363.7850000000001,205.42400000000004L357.4750000000001,204.20000000000005L356.1570000000001,199.49100000000004L360.9600000000001,194.68800000000005L358.0410000000001,186.68300000000005L359.7360000000001,181.97400000000005L356.9110000000001,177.45300000000006L359.35700000000014,173.68500000000006L354.27200000000016,171.42500000000007V167.65800000000007L347.1610000000002,164.03200000000007L343.91200000000015,160.78300000000007H338.35500000000013L334.11700000000013,156.54500000000007L329.9730000000001,163.70200000000008L323.3800000000001,171.0480000000001L321.1200000000001,168.7880000000001L315.47000000000014,169.7290000000001V174.4380000000001L307.55900000000014,180.8420000000001L298.14100000000013,183.1020000000001L295.88100000000014,176.32100000000008L284.95300000000015,176.88600000000008L282.69300000000015,179.90100000000007L283.63500000000016,187.05900000000005H278.92600000000016L277.41900000000015,191.58000000000004H272.52200000000016L274.21700000000016,200.05600000000004L270.63800000000015,203.63500000000005L262.53900000000016,202.88200000000006L258.20600000000013,207.21500000000006H241.81900000000013L233.90800000000013,203.63600000000005L227.50400000000013,207.02600000000004V211.54700000000003L222.32400000000013,216.72700000000003H216.39100000000013L214.36600000000013,218.75100000000003L214.50800000000012,222.66000000000003L208.8570000000001,219.26900000000003L202.6420000000001,225.48400000000004L193.97700000000012,225.29600000000005L185.6890000000001,230.38200000000006L178.3430000000001,230.75800000000007L172.6920000000001,236.03200000000007L171.5620000000001,242.62400000000008L165.3460000000001,245.26100000000008L161.9560000000001,250.72300000000007L164.2510000000001,253.60700000000006L161.5010000000001,257.1070000000001L165.0010000000001,260.3570000000001L169.0010000000001,257.8570000000001L175.7510000000001,258.3570000000001L176.5010000000001,262.6070000000001L180.5010000000001,264.8570000000001L185.0010000000001,267.1070000000001L189.5010000000001,265.3570000000001L194.7510000000001,272.1070000000001L199.7510000000001,271.1070000000001L200.0010000000001,275.1070000000001L205.0010000000001,276.1070000000001L209.2510000000001,278.8570000000001L208.7510000000001,285.3570000000001L210.0010000000001,289.1070000000001L205.2510000000001,293.8570000000001L207.5010000000001,299.8570000000001L205.0010000000001,304.1070000000001L207.2510000000001,308.6070000000001L202.5010000000001,314.3570000000001H197L191.75,318.1070000000001L195.75,322.3570000000001L194,327.3570000000001L197.5,331.8570000000001L200.75,334.3570000000001L199.5,338.8570000000001L199.25,344.8570000000001L202.5,350.3570000000001L216.25,350.8570000000001L220.75,353.1070000000001L227.75,349.6070000000001L230.5,344.8570000000001H235.25L239,348.8570000000001L252.5,347.3570000000001L255.5,343.6070000000001H261.5L265.5,348.6070000000001L269.75,348.8570000000001L276,345.1070000000001L282.5,348.1070000000001L287,347.3570000000001L295,349.3570000000001L302.25,352.3570000000001L305.75,348.3570000000001L312.25,344.8570000000001L310.75,337.1070000000001L316,333.3570000000001L323.75,339.8570000000001L328,339.3570000000001L330.25,344.8570000000001L333.5,349.6070000000001L336.25,346.8570000000001L336.5,341.6070000000001L342,336.1070000000001L350.25,337.3570000000001L356.75,337.1070000000001L361.25,337.8570000000001L363.5,333.8570000000001L367.25,335.6070000000001L372,332.3570000000001L371.75,327.1070000000001L364,323.3570000000001L364.25,317.6070000000001L368,314.1070000000001L368.75,310.1070000000001L371.75,308.3570000000001L375.75,309.3570000000001L379,306.3570000000001H384.75L386.75,302.1070000000001L392.5,302.3570000000001L392,296.3570000000001L396,293.1070000000001L402,292.6070000000001L400,284.4410000000001L403.667,280.7740000000001L404.167,273.11ZM310,254.11L305.167,254.61L301.83399999999995,256.94300000000004L304.167,258.94300000000004L304.667,264.11L301.167,267.277L297.167,264.61L292,263.944L289.5,266.444L284.833,267.611L282.16600000000005,271.444L278.4990000000001,271.611L274.9990000000001,273.27799999999996L273.9990000000001,275.94499999999994L269.4990000000001,276.94499999999994L266.16600000000005,273.27799999999996L267.833,267.94499999999994L263.16600000000005,265.6119999999999L264.4990000000001,262.6119999999999L260.66600000000005,260.1119999999999L257.66600000000005,255.7789999999999L259.9990000000001,252.2789999999999L256.16600000000005,247.6119999999999L263.16600000000005,244.1119999999999L265.833,245.6119999999999L270.5,245.9449999999999L269.333,241.6119999999999L272.333,239.7789999999999L276.5,240.6119999999999L281.167,238.1119999999999L283.667,234.7789999999999L289.167,234.9459999999999L290.5,237.2789999999999L293.667,238.2789999999999L294.667,239.7789999999999L298.33399999999995,238.9459999999999L297.33399999999995,242.61299999999991L302.167,243.77999999999992L304.33399999999995,247.27999999999992H307.5009999999999L310.5009999999999,251.11299999999991L310,254.11Z", + }, + { + id: "praha", + name: "Hlavní město Praha", + polygon: "M256.167,247.61L263.167,244.11L265.83399999999995,245.61C265.83399999999995,245.61,270.00299999999993,246.41500000000002,270.5009999999999,245.943S269.33399999999995,241.61,269.33399999999995,241.61L272.33399999999995,239.77700000000002L276.5009999999999,240.61L281.1679999999999,238.11L283.6679999999999,234.77700000000002L289.1679999999999,234.94400000000002L290.5009999999999,237.27700000000002L293.6679999999999,238.27700000000002L294.6679999999999,239.77700000000002L298.33499999999987,238.94400000000002L297.33499999999987,242.61100000000002L302.1679999999999,243.77800000000002L304.33499999999987,247.27800000000002H307.50199999999984L310.50199999999984,251.11100000000002L310.00199999999984,254.11100000000002L305.1689999999998,254.61100000000002L301.8359999999998,256.944L304.1689999999998,258.944L304.6689999999998,264.111L301.1689999999998,267.27799999999996L297.1689999999998,264.611L292,263.944L289.5,266.444L284.833,267.611L282.16600000000005,271.444L278.4990000000001,271.611L274.9990000000001,273.27799999999996L273.9990000000001,275.94499999999994L269.4990000000001,276.94499999999994L266.16600000000005,273.27799999999996L267.833,267.94499999999994L263.16600000000005,265.6119999999999L264.4990000000001,262.6119999999999L260.66600000000005,260.1119999999999L257.66600000000005,255.7789999999999L259.9990000000001,252.2789999999999L256.167,247.61Z", + }, ] }; }, diff --git a/main/tasks.py b/main/tasks.py new file mode 100644 index 0000000000000000000000000000000000000000..03f20935d0b4781478c45652a429db1e02b31184 --- /dev/null +++ b/main/tasks.py @@ -0,0 +1,27 @@ +import logging + +from majak.celery import app +from shared.jekyll_import import JekyllArticleImporter + +logger = logging.getLogger(__name__) + + +@app.task +def import_jekyll_articles( + article_parent_page_id: int, + collection_id: int, + url: str, + dry_run: bool, + use_git: bool, +): + from .models import MainArticlePage, MainArticlesPage + + return JekyllArticleImporter( + article_parent_page_id=article_parent_page_id, + collection_id=collection_id, + url=url, + dry_run=dry_run, + use_git=use_git, + parent_page_model=MainArticlesPage, + page_model=MainArticlePage, + ).perform_import() diff --git a/main/templates/main/main_articles_page.html b/main/templates/main/main_articles_page.html index 436e75c78093cfec8f36a5cb5929c425007794b0..d57689731a43f899e2cdbc7dcd108a110cf67484 100644 --- a/main/templates/main/main_articles_page.html +++ b/main/templates/main/main_articles_page.html @@ -6,9 +6,6 @@ <main role="main"> <div class="grid-container mb-2 xl:mb-12"> - <div class="grid-left-side"> - TODO menu - </div> <div class="grid-content leading-6"> <h2 class="head-xl mb-2"> {{ page.perex }}