class GroupPagePermissionForm(forms.ModelForm): page = forms.ModelChoiceField(queryset=Page.objects.all(), widget=AdminPageChooser(show_edit_link=False, can_choose_root=True)) class Meta: model = GroupPagePermission fields = ('page', 'permission_type')
def __init__(self, *args, **kwargs): super(ExampleForm, self).__init__(*args, **kwargs) self.fields['page_chooser'].widget = AdminPageChooser() self.fields['image_chooser'].widget = AdminImageChooser() self.fields['document_chooser'].widget = AdminDocumentChooser() self.fields['date'].widget = AdminDateInput() self.fields['time'].widget = AdminTimeInput() self.fields['datetime'].widget = AdminDateTimeInput()
def __init__(self, *args, **kwargs): super(ExampleForm, self).__init__(*args, **kwargs) self.fields['page_chooser'].widget = AdminPageChooser() self.fields['image_chooser'].widget = AdminImageChooser() self.fields['document_chooser'].widget = AdminDocumentChooser() self.fields['snippet_chooser'].widget = AdminSnippetChooser(Page) self.fields['date'].widget = AdminDateInput() self.fields['time'].widget = AdminTimeInput() self.fields['datetime'].widget = AdminDateTimeInput() self.fields['auto_height_text'].widget = AdminAutoHeightTextInput() self.fields['default_rich_text'].widget = get_rich_text_editor_widget('default')
def __init__(self, *args, **kwargs): # CopyPage must be passed a 'page' kwarg indicating the page to be copied self.page = kwargs.pop('page') can_publish = kwargs.pop('can_publish') super(CopyForm, self).__init__(*args, **kwargs) self.fields['new_title'] = forms.CharField(initial=self.page.title, label=_("New title")) self.fields['new_slug'] = forms.SlugField(initial=self.page.slug, label=_("New slug")) self.fields['new_parent_page'] = forms.ModelChoiceField( initial=self.page.get_parent(), queryset=Page.objects.all(), widget=AdminPageChooser(), label=_("New parent page"), help_text=_( "This copy will be a child of this given parent page.")) pages_to_copy = self.page.get_descendants(inclusive=True) subpage_count = pages_to_copy.count() - 1 if subpage_count > 0: self.fields['copy_subpages'] = forms.BooleanField( required=False, initial=True, label=_("Copy subpages"), help_text=ungettext("This will copy %(count)s subpage.", "This will copy %(count)s subpages.", subpage_count) % {'count': subpage_count}) if can_publish: pages_to_publish_count = pages_to_copy.live().count() if pages_to_publish_count > 0: # In the specific case that there are no subpages, customise the field label and help text if subpage_count == 0: label = _("Publish copied page") help_text = _( "This page is live. Would you like to publish its copy as well?" ) else: label = _("Publish copies") help_text = ungettext( "%(count)s of the pages being copied is live. Would you like to publish its copy?", "%(count)s of the pages being copied are live. Would you like to publish their copies?", pages_to_publish_count) % { 'count': pages_to_publish_count } self.fields['publish_copies'] = forms.BooleanField( required=False, initial=True, label=label, help_text=help_text)
class PagePermissionsForm(forms.Form): """ Note 'Permissions' (plural). A single instance of this form defines the permissions that are assigned to an entity (i.e. group or user) for a specific page. """ page = forms.ModelChoiceField(queryset=Page.objects.all(), widget=AdminPageChooser( show_edit_link=False, can_choose_root=True)) permission_types = forms.MultipleChoiceField( choices=PAGE_PERMISSION_TYPE_CHOICES, required=False, widget=forms.CheckboxSelectMultiple)
def widget(self): from django.utils.translation import ugettext_lazy as _ from wagtail.wagtailadmin.widgets import AdminPageChooser # Support importing from dotted string in-order to prevent circular-import for certain models(Say Article) self.for_models = [ import_string(model) if isinstance(model, str) else model for model in self.for_models ] if any(not issubclass(each, Page) for each in self.for_models): raise TypeError( "All models passed should be a sub-class of wagtail.wagtailcore.models.Page" ) model_names = ' / '.join(each.__name__.lower() for each in self.for_models) admin_page_chooser = AdminPageChooser(target_models=self.for_models) admin_page_chooser.choose_one_text = _('Choose a %s' % model_names) admin_page_chooser.choose_another_text = _('Choose another %s' % model_names) admin_page_chooser.link_to_chosen_text = _('Edit this %s' % model_names) return admin_page_chooser
class ReminderForm(forms.ModelForm): page = forms.ModelChoiceField(queryset=Page.objects.all(), widget=AdminPageChooser(show_edit_link=False, can_choose_root=True)) class Meta: model = Reminder fields = ['page', 'reminder_interval'] def save(self, commit=True): instance = super(ReminderForm, self).save(commit=False) if commit: instance.due_to_be_sent_at = timezone.now() + timedelta(days=instance.reminder_interval) instance.save() return instance
def __init__(self, *args, **kwargs): super(RedirectForm, self).__init__(*args, **kwargs) self.fields['redirect_page'].widget = AdminPageChooser()
def widget(self): from wagtail.wagtailadmin.widgets import AdminPageChooser return AdminPageChooser(target_models=self.target_models, can_choose_root=self.can_choose_root)
def widget(self): from wagtail.wagtailadmin.widgets import AdminPageChooser return AdminPageChooser(can_choose_root=self.can_choose_root)
def __init__(self, *args, **kwargs): super(EditorsPickForm, self).__init__(*args, **kwargs) self.fields['page'].widget = AdminPageChooser()
def __init__(self, *args, **kwargs): super(GroupPagePermissionForm, self).__init__(*args, **kwargs) self.fields['page'].widget = AdminPageChooser()
def __init__(self, *args, **kwargs): super(SearchPromotionForm, self).__init__(*args, **kwargs) self.fields['page'].widget = AdminPageChooser()
def widget(self): from wagtail.wagtailadmin.widgets import AdminPageChooser return AdminPageChooser( content_type=ContentType.objects.get_for_model(ContributorPage))
def __init__(self, *args, **kwargs): super(SiteForm, self).__init__(*args, **kwargs) self.fields['root_page'].widget = AdminPageChooser( choose_one_text=_('Choose a root page'), choose_another_text=_('Choose a different root page'))
def __init__(self, *args, **kwargs): super(SiteForm, self).__init__(*args, **kwargs) self.fields['root_page'].widget = AdminPageChooser()