From 22b3f719f90a3d38be69f8b1b29eb94d83423e6b Mon Sep 17 00:00:00 2001 From: Erik Stein Date: Tue, 27 Mar 2018 08:42:07 +0200 Subject: [PATCH] (Temporarily) remove examples as they aren't updated. --- content_plugins/examples/content_plugins.py | 373 -------------------- 1 file changed, 373 deletions(-) diff --git a/content_plugins/examples/content_plugins.py b/content_plugins/examples/content_plugins.py index 39fec4f..e69de29 100644 --- a/content_plugins/examples/content_plugins.py +++ b/content_plugins/examples/content_plugins.py @@ -1,373 +0,0 @@ -""" -Example instantiation of the abstract plugin base classes -""" - -""" -from django.db import models -from django.utils.translation import ugettext_lazy as _ - -from content_editor.models import create_plugin_base -from shared.utils.text import slugify_long -from shared.multilingual.utils.fields import TranslatableCharField - -from ..collection.models import ItemBundle, Event, Collection -from ..content.admin import RichTextInlineBase -from ..content import plugins -from ..content.renderer import ContentPluginRenderer -from ..media.models import ( - MediaImage, - MediaAudio, - MediaVideo, - MediaDocument, -) -from ..people.models import Person -from ..thesaurus.models import Term -from .models import Page - - -ContentPluginBase = create_plugin_base(Page) - - -renderer = ContentPluginRenderer() - - -@renderer.register() -class RichTextContentPlugin(plugins.RichTextFootnoteMixin, plugins.RichTextBase, ContentPluginBase): - regions = ['main', 'aside', 'intro'] - - -@renderer.register() -class BlockquoteContentPlugin(plugins.RichTextFootnoteMixin, plugins.RichTextBase, ContentPluginBase): - STYLE_CHOICES = plugins.StyleMixin.STYLE_CHOICES + ( - ('blockquote', _("Blockquote")), - ('pullquote', _("Pull Quote")), - ('introquote', _("Introductory Quote")), - ) - - template_name_prefix = 'quote' - - regions = ['main', 'intro'] - - class Meta: - verbose_name = _("quote") - verbose_name_plural = _("quotes") - - -@renderer.register() -class SectionContentPlugin(plugins.SectionBase, ContentPluginBase): - regions = ['main', 'aside'] - - -# @renderer.register() -# class ImageContentPlugin(plugins.ImageBase, ContentPluginBase): -# regions = ['main', 'aside'] - - -# @renderer.register() -# class DownloadContentPlugin(plugins.DownloadBase, ContentPluginBase): -# regions = ['main', 'aside'] - - -@renderer.register() -class FootnoteContentPlugin(plugins.FootnoteBase, ContentPluginBase): - regions = ['references', 'footnotes'] - - -class BaseObjectElement(plugins.BasePlugin, ContentPluginBase): - STYLE_CHOICES = plugins.StyleMixin.STYLE_CHOICES + ( - ('minimal', _("Minimal View")), - ('extensive', _("Extensive View")), - ) - - class Meta: - abstract = True - verbose_name = _("object view") - verbose_name_plural = _("objects view") - - fk_fieldname = None - regions = ['main', 'aside'] - - @property - def object(self): - assert self.fk_fieldname, "fk_fieldname not set." - return getattr(self, self.fk_fieldname) - - def type_slug(self): - slug = '' - type = getattr(self.object, 'type', None) - if type: - slug = getattr(type, 'internal_slug', '') - return slug - - def get_template_names(self): - assert self.fk_fieldname, "fk_fieldname not set." - - type_slug = self.type_slug() - style_slug = getattr(self, 'style', None) or 'default' - - # Append a potentially defined self.template_name - return [ - "curatorialcontent/elements/{path_prefix}/pk/_{pk}.html".format( - path_prefix=self.fk_fieldname, pk=self.object.pk), - "curatorialcontent/elements/{path_prefix}/type/_{style}/_{type}.html".format( - path_prefix=self.fk_fieldname, style=style_slug, type=type_slug), - "curatorialcontent/elements/{path_prefix}/style/_{style}.html".format( - path_prefix=self.fk_fieldname, style=style_slug), - "curatorialcontent/elements/{path_prefix}/type/_{type}.html".format( - path_prefix=self.fk_fieldname, type=type_slug), - "curatorialcontent/elements/{path_prefix}/_default.html".format( - path_prefix=self.fk_fieldname) - ] + ([self.template_name] if hasattr(self, 'template_name') else []) - - @classmethod - def admin_inline(cls, base_class=None): - assert cls.fk_fieldname, "fk_fieldname not set." - inline = super().admin_inline(base_class=RichTextInlineBase) # TODO Do we need RichTextInlineBase here? - if not inline.raw_id_fields: - inline.raw_id_fields = [] - inline.raw_id_fields += [cls.fk_fieldname] - return inline - - -@renderer.register() -class ItemBundleElement(BaseObjectElement, plugins.StyleMixin): - STYLE_CHOICES = BaseObjectElement.STYLE_CHOICES + ( - ('teaser', _("Big Top Teaser")), - ) - - itembundle = models.ForeignKey(ItemBundle, verbose_name=_("ItemBundle")) - - fk_fieldname = 'itembundle' - regions = ['main', 'aside'] - - class Meta: - verbose_name = _("item bundle view") - verbose_name_plural = _("item bundle views") - - -@renderer.register() -class PersonElement(BaseObjectElement, plugins.StyleMixin): - person = models.ForeignKey(Person, verbose_name=_("Person")) - - fk_fieldname = 'person' - regions = ['main', 'aside'] - - class Meta: - verbose_name = _("person view") - verbose_name_plural = _("person views") - - -@renderer.register() -class ContributorElement(BaseObjectElement): - person = models.ForeignKey(Person, verbose_name=_("Person")) - CONTRIBUTOR_ROLE_CHOICES = ( - ('author', _("Author")), - ('contributor', _("Contributor")), - ) - role = models.CharField(_("role"), max_length=50, - choices=CONTRIBUTOR_ROLE_CHOICES, - default=CONTRIBUTOR_ROLE_CHOICES[0][0], null=False, blank=False) - - fk_fieldname = 'person' - regions = ['contributors'] - - class Meta: - verbose_name = _("contributor") - verbose_name_plural = _("contributors") - - -@renderer.register() -class TermElement(BaseObjectElement, plugins.StyleMixin): - term = models.ForeignKey(Term, verbose_name=_("Term")) - - fk_fieldname = 'term' - regions = ['main', 'aside'] - - class Meta: - verbose_name = _("term view") - verbose_name_plural = _("term views") - - -@renderer.register() -class EventElement(BaseObjectElement, plugins.StyleMixin): - event = models.ForeignKey(Event, verbose_name=_("Event")) - - fk_fieldname = 'event' - regions = ['main', 'aside'] - - class Meta: - verbose_name = _("event view") - verbose_name_plural = _("event views") - - -@renderer.register() -class SubcollectionElement(BaseObjectElement, plugins.StyleMixin): - STYLE_CHOICES = BaseObjectElement.STYLE_CHOICES + ( - ('index-nav', _("Index Page Navigation")), - ) - - collection = models.ForeignKey(Collection, verbose_name=_("Subcollection")) - - fk_fieldname = 'collection' - regions = ['main', 'aside'] - - class Meta: - verbose_name = _("collection view") - verbose_name_plural = _("collection views") - - -@renderer.register() -class MediaImageElement(BaseObjectElement): - image = models.ForeignKey(MediaImage, verbose_name=_("Image")) - caption = TranslatableCharField(_("caption"), max_length=500, null=True, blank=True, help_text=_("image caption")) - - fk_fieldname = 'image' - regions = ['main', 'aside'] - - class Meta: - verbose_name = _("image") - verbose_name_plural = _("images") - - def type_slug(self): - return '' - - -@renderer.register() -class MediaAudioElement(BaseObjectElement): - audio = models.ForeignKey(MediaAudio, verbose_name=_("Audio")) - caption = TranslatableCharField(_("caption"), max_length=500, null=True, blank=True, help_text=_("audio caption")) - - fk_fieldname = 'audio' - regions = ['main', 'aside'] - - class Meta: - verbose_name = _("audio") - verbose_name_plural = _("audio") - - -@renderer.register() -class MediaVideoElement(BaseObjectElement): - video = models.ForeignKey(MediaVideo, verbose_name=_("Video")) - caption = TranslatableCharField(_("caption"), max_length=500, null=True, blank=True, help_text=_("video caption")) - - fk_fieldname = 'video' - regions = ['main', 'aside'] - - class Meta: - verbose_name = _("video") - verbose_name_plural = _("video") - - -@renderer.register() -class MediaDocumentElement(BaseObjectElement): - document = models.ForeignKey(MediaDocument, verbose_name=_("Document")) - caption = TranslatableCharField(_("caption"), max_length=500, null=True, blank=True, help_text=_("document caption")) - - fk_fieldname = 'document' - regions = ['main', 'aside'] - - class Meta: - verbose_name = _("document") - verbose_name_plural = _("document") - - -@renderer.register() -class SubsectionsElement(plugins.StyleMixin, plugins.FilesystemTemplateRendererPlugin, ContentPluginBase): - regions = ['main', 'aside'] - - template_name_prefix = 'subsections_nav' - - class Meta: - verbose_name = _("subsections navigation element") - verbose_name_plural = _("subsections navigation elements") - - -@renderer.register() -class TeamElement(plugins.StyleMixin, plugins.FilesystemTemplateRendererPlugin, ContentPluginBase): - regions = ['main', 'aside'] - - template_name_prefix = 'team' - - class Meta: - verbose_name = _("team navigation element") - verbose_name_plural = _("team navigation elements") - - -@renderer.register() -class ActorsElement(plugins.StyleMixin, plugins.FilesystemTemplateRendererPlugin, ContentPluginBase): - regions = ['main', 'aside'] - - template_name_prefix = 'actors' - - class Meta: - verbose_name = _("actors navigation element") - verbose_name_plural = _("actors navigation elements") - - -@renderer.register() -class ArticlesElement(plugins.StyleMixin, plugins.FilesystemTemplateRendererPlugin, ContentPluginBase): - regions = ['main', 'aside'] - - template_name_prefix = 'articles_nav' - - class Meta: - verbose_name = _("articles navigation element") - verbose_name_plural = _("articles navigation elements") - - -# -# Slideshow Elements - -class BaseSlideshowContentPlugin(plugins.StyleMixin, plugins.FilesystemTemplateRendererPlugin, ContentPluginBase): - STYLE_CHOICES = ( - ('black', _("black background")), - ('yellow', _("yellow background")), - ('white', _("white background")), - ) - - caption = plugins.TranslatableCleansedRichTextField(_("caption"), blank=True) - - template_name_prefix = 'slide' - - regions = ['slides'] - - class Meta: - abstract = True - - @classmethod - def admin_inline(cls, base_class=None): - return super().admin_inline(base_class=RichTextInlineBase) - - -@renderer.register() -class TextSlideshowContentPlugin(BaseSlideshowContentPlugin): - template_name_prefix = 'slide/text/' - - regions = ['slides'] - - class Meta: - verbose_name = _("text slide") - verbose_name_plural = _("text slides") - - -@renderer.register() -class ItembundleSlideshowContentPlugin(BaseSlideshowContentPlugin): - itembundle = models.ForeignKey(ItemBundle, verbose_name=_("ItemBundle")) - - template_name_prefix = 'slide/itembundle/' - - regions = ['slides'] - - class Meta: - verbose_name = _("item bundle slide") - verbose_name_plural = _("item bundle slides") - - @classmethod - def admin_inline(cls, base_class=None): - inline = super().admin_inline(base_class=RichTextInlineBase) - if not inline.raw_id_fields: - inline.raw_id_fields = [] - inline.raw_id_fields += ['itembundle'] - return inline - -""" \ No newline at end of file