Browse Source

Refactored admin inline creation.

master
Erik Stein 7 years ago
parent
commit
3bf36bd519
  1. 14
      content_plugins/base.py

14
content_plugins/base.py

@ -29,6 +29,8 @@ TODO Class hierarchy should be
class BasePlugin(models.Model): class BasePlugin(models.Model):
admin_inline_baseclass = ContentInlineBase
class Meta: class Meta:
abstract = True abstract = True
verbose_name = _("plugin") verbose_name = _("plugin")
@ -38,8 +40,9 @@ class BasePlugin(models.Model):
return "{} ({})".format(self._meta.verbose_name, self.pk) return "{} ({})".format(self._meta.verbose_name, self.pk)
@classmethod @classmethod
def admin_inline(cls, base_class=ContentInlineBase): def admin_inline(cls):
class Inline(base_class): # TODO Cache inline
class Inline(cls.admin_inline_baseclass):
model = cls model = cls
regions = cls.regions regions = cls.regions
return Inline return Inline
@ -128,16 +131,13 @@ class RichTextBase(StyleMixin, FilesystemTemplateRendererPlugin):
template_name_prefix = \ template_name_prefix = \
FilesystemTemplateRendererPlugin.template_name_prefix + 'richtext/' FilesystemTemplateRendererPlugin.template_name_prefix + 'richtext/'
admin_inline_baseclass = RichTextInlineBase
class Meta: class Meta:
abstract = True abstract = True
verbose_name = _("text") verbose_name = _("text")
verbose_name_plural = _("texts") verbose_name_plural = _("texts")
@classmethod
def admin_inline(cls, base_class=None):
return super().admin_inline(base_class=base_class or
RichTextInlineBase)
class SectionBase(StyleMixin, BasePlugin): class SectionBase(StyleMixin, BasePlugin):
if USE_TRANSLATABLE_FIELDS: if USE_TRANSLATABLE_FIELDS:

Loading…
Cancel
Save