image_gallery.cms_plugins: 18 total statements, 53.8% covered

Generated: Wed 2013-03-13 10:33 CET

Source file: /home/tobi/Projects/cmsplugin-image-gallery/src/image_gallery/cms_plugins.py

Stats: 7 executed, 6 missed, 5 excluded, 14 ignored

  1. """CMS Plugins for the ``image_gallery`` app."""
  2. from django.utils.translation import ugettext as _
  3. from cms.plugin_base import CMSPluginBase
  4. from cms.plugin_pool import plugin_pool
  5. from filer.models.imagemodels import Image
  6. from image_gallery.models import GalleryPlugin
  7. class CMSGalleryPlugin(CMSPluginBase):
  8. model = GalleryPlugin
  9. name = _('Filer Gallery')
  10. render_template = 'image_gallery/gallery.html'
  11. def get_folder_images(self, folder, user):
  12. qs_files = folder.files.instance_of(Image)
  13. if user.is_staff:
  14. return qs_files
  15. else:
  16. return qs_files.filter(is_public=True)
  17. def render(self, context, instance, placeholder):
  18. context.update({
  19. 'gallery': instance.gallery,
  20. 'images': self.get_folder_images(instance.gallery.folder,
  21. context['request'].user),
  22. 'placeholder': placeholder,
  23. })
  24. return context
  25. plugin_pool.register_plugin(CMSGalleryPlugin)