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)