def register_collection_model_permissions_panel(): return collection_member_permission_formset_factory( modeladmin_class.model, [ ('add_%s' % modeladmin_class.model._meta.model_name, _("Add"), _("Add/edit %s you own" % modeladmin_class.model._meta.verbose_name)), ('change_%s' % modeladmin_class.model._meta.model_name, _("Edit"), _("Edit any %s" % modeladmin_class.model._meta.verbose_name)), ], "collectionmodeladmin/permissions/includes/collectionmodel_permissions_formset.html" )
fields = list(fields) + ['collection'] return modelform_factory(model, form=BaseDocumentForm, fields=fields, widgets={ 'tags': widgets.AdminTagWidget, 'file': forms.FileInput() }) def get_document_multi_form(model): fields = [field for field in model.admin_form_fields if field != 'file'] if 'collection' not in fields: fields.append('collection') return modelform_factory(model, form=BaseDocumentForm, fields=fields, widgets={ 'tags': widgets.AdminTagWidget, 'file': forms.FileInput() }) GroupDocumentPermissionFormSet = collection_member_permission_formset_factory( Document, [ ('add_document', _("Add"), _("Add/edit documents you own")), ('change_document', _("Edit"), _("Edit any document")), ], 'wagtaildocs/permissions/includes/document_permissions_formset.html')
fields=fields, formfield_callback=formfield_for_dbfield, ) def get_document_multi_form(model): # edit form for use within the multiple uploader; consists of all fields from # model.admin_form_fields except file fields = [field for field in model.admin_form_fields if field != "file"] if "collection" not in fields: fields.append("collection") return modelform_factory( model, form=get_document_base_form(), fields=fields, formfield_callback=formfield_for_dbfield, ) GroupDocumentPermissionFormSet = collection_member_permission_formset_factory( Document, [ ("add_document", _("Add"), _("Add/edit documents you own")), ("change_document", _("Edit"), _("Edit any document")), ("choose_document", _("Choose"), _("Select documents in choosers")), ], "wagtaildocs/permissions/includes/document_permissions_formset.html", )
format = forms.ChoiceField(choices=[(format.name, format.label) for format in get_image_formats()], widget=forms.RadioSelect) alt_text = forms.CharField() class URLGeneratorForm(forms.Form): filter_method = forms.ChoiceField( label=_("Filter"), choices=( ('original', _("Original size")), ('width', _("Resize to width")), ('height', _("Resize to height")), ('min', _("Resize to min")), ('max', _("Resize to max")), ('fill', _("Resize to fill")), ), ) width = forms.IntegerField(label=_("Width"), min_value=0) height = forms.IntegerField(label=_("Height"), min_value=0) closeness = forms.IntegerField(label=_("Closeness"), min_value=0, initial=0) GroupImagePermissionFormSet = collection_member_permission_formset_factory( Image, [ ('add_image', _("Add"), _("Add/edit images you own")), ('change_image', _("Edit"), _("Edit any image")), ], 'wagtailimages/permissions/includes/image_permissions_formset.html')
formfield_callback=formfield_for_dbfield, # set the 'file' widget to a FileInput rather than the default ClearableFileInput # so that when editing, we don't get the 'currently: ...' banner which is # a bit pointless here widgets={ 'tags': widgets.AdminTagWidget, 'file': forms.FileInput(), 'thumbnail': forms.FileInput(), }) class VideoTranscodeAdminForm(forms.Form): media_format = EnumField(MediaFormats) quality = EnumField(VideoQuality) def __init__(self, video, data=None, **kwargs): super(VideoTranscodeAdminForm, self).__init__(data=data, **kwargs) self.video = video def save(self): media_format = self.cleaned_data['media_format'] quality = self.cleaned_data['quality'] self.video.do_transcode(media_format, quality) GroupVideoPermissionFormSet = collection_member_permission_formset_factory( Video, [ ('add_video', _("Add"), _("Add/edit images you own")), ('change_video', _("Edit"), _("Edit any video")), ], 'wagtailvideos/permissions/includes/video_permissions_formset.html')
class URLGeneratorForm(forms.Form): filter_method = forms.ChoiceField( label=_("Filter"), choices=( ("original", _("Original size")), ("width", _("Resize to width")), ("height", _("Resize to height")), ("min", _("Resize to min")), ("max", _("Resize to max")), ("fill", _("Resize to fill")), ), ) width = forms.IntegerField(label=_("Width"), min_value=0) height = forms.IntegerField(label=_("Height"), min_value=0) closeness = forms.IntegerField(label=_("Closeness"), min_value=0, initial=0) GroupImagePermissionFormSet = collection_member_permission_formset_factory( Image, [ ("add_image", _("Add"), _("Add/edit images you own")), ("change_image", _("Edit"), _("Edit any image")), ("choose_image", _("Choose"), _("Select images in choosers")), ], "wagtailimages/permissions/includes/image_permissions_formset.html", )
widget=forms.RadioSelect ) alt_text = forms.CharField() class URLGeneratorForm(forms.Form): filter_method = forms.ChoiceField( label=_("Filter"), choices=( ('original', _("Original size")), ('width', _("Resize to width")), ('height', _("Resize to height")), ('min', _("Resize to min")), ('max', _("Resize to max")), ('fill', _("Resize to fill")), ), ) width = forms.IntegerField(label=_("Width"), min_value=0) height = forms.IntegerField(label=_("Height"), min_value=0) closeness = forms.IntegerField(label=_("Closeness"), min_value=0, initial=0) GroupImagePermissionFormSet = collection_member_permission_formset_factory( Image, [ ('add_image', _("Add"), _("Add/edit images you own")), ('change_image', _("Edit"), _("Edit any image")), ], 'wagtailimages/permissions/includes/image_permissions_formset.html' )
# these fields might be editable=False so verify before accessing # POSSIBLY ADD DURATION AND THUMBNAIL HERE. if name in self.fields: del self.fields[name] def get_media_form(model): fields = model.admin_form_fields if 'collection' not in fields: # force addition of the 'collection' field, because leaving it out can # cause dubious results when multiple collections exist (e.g adding the # media to the root collection where the user may not have permission) - # and when only one collection exists, it will get hidden anyway. fields = list(fields) + ['collection'] return modelform_factory(model, form=BaseMediaForm, fields=fields, widgets={ 'tags': widgets.AdminTagWidget, 'file': forms.FileInput(), 'thumbnail': forms.ClearableFileInput(), }) GroupMediaPermissionFormSet = collection_member_permission_formset_factory( Media, [ ('add_media', _("Add"), _("Add/edit media you own")), ('change_media', _("Edit"), _("Edit any media")), ], 'wagtailmedia/permissions/includes/media_permissions_formset.html')