Add is_featured boolean property to the Work model, so that Works can be
designated as "featured" items in various places in the UI. This will be
used to allow Sponsors, Programs, and Organizations to select Documents that
should be included in their sidebar menus.
Perhaps featured "site" Documents, such as site-wide Terms of Service,
should probably be listed below the "User (sign-out)" menu, since the User
will have to read and agree to these before being allowed to use the site.
A collapsable Javascript sidebar is probably going to be needed soon...
Patch by: Todd Larsen
Review by: to-be-reviewed
from django.conf import settings
from django.contrib.syndication.feeds import Feed
from django.contrib.sites.models import Site
from django.contrib import comments
class LatestCommentFeed(Feed):
"""Feed of latest comments on the current site."""
def title(self):
if not hasattr(self, '_site'):
self._site = Site.objects.get_current()
return u"%s comments" % self._site.name
def link(self):
if not hasattr(self, '_site'):
self._site = Site.objects.get_current()
return "http://%s/" % (self._site.domain)
def description(self):
if not hasattr(self, '_site'):
self._site = Site.objects.get_current()
return u"Latest comments on %s" % self._site.name
def items(self):
qs = comments.get_model().objects.filter(
site__pk = settings.SITE_ID,
is_public = True,
is_removed = False,
)
if getattr(settings, 'COMMENTS_BANNED_USERS_GROUP', None):
where = ['user_id NOT IN (SELECT user_id FROM auth_user_groups WHERE group_id = %s)']
params = [settings.COMMENTS_BANNED_USERS_GROUP]
qs = qs.extra(where=where, params=params)
return qs.order_by('-submit_date')[:40]
def item_pubdate(self, item):
return item.submit_date