cmsplugin-advancednews / cmsplugin_advancednews / cms_plugins.py

from django.utils.translation import ugettext_lazy as _

from cms.plugin_base import CMSPluginBase
from cms.plugin_pool import plugin_pool

from cmsplugin_advancednews.models import LatestAdvancedNewsPlugin, News
from cmsplugin_advancednews import settings

from django.conf import settings

class CMSLatestAdvancedNewsPlugin(CMSPluginBase):
    """ Plugin class for the latest news """
    model = LatestAdvancedNewsPlugin

    name = _('Latest news')
    render_template = 'cmsplugin_advancednews/latest_news.html'
    
    
    def render(self, context, instance, placeholder):
        """ Render the latest news """
        query = News.published
        if instance.category is None:
            latest = query.all()[:instance.limit]
        else:
            latest = query.filter(category=instance.category).all()[:instance.limit]
        context.update({
            'instance': instance,
            'latest': latest,
            'placeholder': placeholder,
        })
        return context

##if not settings.DISABLE_LATEST_ADVANCEDNEWS_PLUGIN:
plugin_pool.register_plugin(CMSLatestAdvancedNewsPlugin)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.