Пример #1
0
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')
Пример #2
0
 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')
Пример #4
0
    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)
Пример #5
0
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)
Пример #6
0
    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
Пример #7
0
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
Пример #8
0
 def __init__(self, *args, **kwargs):
     super(RedirectForm, self).__init__(*args, **kwargs)
     self.fields['redirect_page'].widget = AdminPageChooser()
Пример #9
0
 def widget(self):
     from wagtail.wagtailadmin.widgets import AdminPageChooser
     return AdminPageChooser(target_models=self.target_models,
                             can_choose_root=self.can_choose_root)
Пример #10
0
 def widget(self):
     from wagtail.wagtailadmin.widgets import AdminPageChooser
     return AdminPageChooser(can_choose_root=self.can_choose_root)
Пример #11
0
 def __init__(self, *args, **kwargs):
     super(EditorsPickForm, self).__init__(*args, **kwargs)
     self.fields['page'].widget = AdminPageChooser()
Пример #12
0
 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()
Пример #14
0
 def widget(self):
     from wagtail.wagtailadmin.widgets import AdminPageChooser
     return AdminPageChooser(
         content_type=ContentType.objects.get_for_model(ContributorPage))
Пример #15
0
 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'))
Пример #16
0
 def __init__(self, *args, **kwargs):
     super(SiteForm, self).__init__(*args, **kwargs)
     self.fields['root_page'].widget = AdminPageChooser()