def get_form(self, request, obj=None, **kwargs): """ Get PageForm for the Page model and modify its fields depending on the request. """ form = super(M2MPlaceholderAdmin, self).get_form(request, obj, **kwargs) if obj: for placeholder_name in obj._meta.get_field( 'placeholders').placeholders: placeholder, created = obj.placeholders.get_or_create( slot=placeholder_name) defaults = { 'label': capfirst(placeholder_name), 'help_text': '' } defaults.update(kwargs) widget = PlaceholderPluginEditorWidget( request, self.placeholder_plugin_filter) widget.choices = [] form.base_fields[placeholder.slot] = CharField(widget=widget, required=False) form.base_fields[placeholder.slot].initial = placeholder.pk return form
def get_form(self, request, obj=None, **kwargs): """ Get PageForm for the Page model and modify its fields depending on the request. """ form = super(M2MPlaceholderAdmin, self).get_form(request, obj, **kwargs) if obj: for placeholder_name in (obj._meta.get_field('placeholders') .placeholders): placeholder, created = obj.placeholders.get_or_create( slot=placeholder_name) defaults = { 'label': capfirst(placeholder_name), 'help_text': '' } defaults.update(kwargs) widget = PlaceholderPluginEditorWidget( request, self.placeholder_plugin_filter) widget.choices = [] form.base_fields[placeholder.slot] = CharField( widget=widget, required=False) form.base_fields[placeholder.slot].initial = placeholder.pk return form
def formfield_for_admin(self, request, filter_func, **kwargs): defaults = { 'label': capfirst(self.verbose_name), 'help_text': self.help_text } defaults.update(kwargs) widget = PlaceholderPluginEditorWidget(request, filter_func) widget.choices = [] return PlaceholderFormField(required=False, widget=widget, **defaults)
def get_form(self, request, obj=None, **kwargs): """ Get PageForm for the Page model and modify its fields depending on the request. """ form = super(RealM2MPlaceholderAdmin, self).get_form(request, obj, **kwargs) for placeholder, slot in get_or_create_placeholders(obj, self.model): defaults = {'label': capfirst(slot), 'help_text': ''} defaults.update(kwargs) widget = PlaceholderPluginEditorWidget(request, self.placeholder_plugin_filter) widget.choices = [] form.base_fields[slot] = CharField(widget=widget, required=False) if placeholder: form.base_fields[slot].initial = placeholder.pk return form
def formfield_for_admin(self, request, filter_func, **kwargs): defaults = {'label': capfirst(self.verbose_name), 'help_text': self.help_text} defaults.update(kwargs) widget = PlaceholderPluginEditorWidget(request, filter_func) widget.choices = [] return PlaceholderFormField(required=False, widget=widget, **defaults)