Skip to content
Snippets Groups Projects
forms.py 1020 B
from django import forms
from wagtail.admin.forms import WagtailAdminPageForm
from wagtail.core.models.collections import Collection
from wagtail.core.models.sites import Site

from .jekyll_import import perform_import


class JekyllImportForm(WagtailAdminPageForm):
    article_root_page_id = (
        forms.IntegerField()
    )  # TODO resolve circular import and make ModelChoiceField
    collection = forms.ModelChoiceField(queryset=Collection.objects.all())
    dry_run = forms.BooleanField(initial=True)
    jekyll_repo_url = forms.URLField()
    site = forms.ModelChoiceField(queryset=Site.objects.all())

    # def clean(self):
    #     cleaned_data = super().clean()
    #     return super().clean()

    def save(self, commit=True):
        perform_import(
            article_root_page_id=self.cleaned_data["article_root_page_id"],
            collection=self.cleaned_data["article_root_page_id"],
            path=self.cleaned_data["jekyll_repo_url"],
        )

        return super().save(commit=commit)