diff --git a/mgmt/rss_views.py b/mgmt/rss_views.py index e99102f..e5cd3e0 100644 --- a/mgmt/rss_views.py +++ b/mgmt/rss_views.py @@ -1,12 +1,28 @@ +#encoding: utf-8 from datetime import datetime from django.conf import settings -from models import Comment +from django.core.urlresolvers import reverse +from models import Comment,Bug,Report from decorators import rss from utils import get_comment_url @rss('rss.xml') def last_comments(request): - comments = Comment.objects.all()[:settings.COMMENTS_PER_PAGE] + comments = Comment.objects.all()[:settings.RSS_MAX_ITEMS] for c in comments: c.url = get_comment_url(c) - return {'objects': comments} + return {'title': u'Projects: Последние комментарии', 'description': u'Последние комментарии по проектам', 'objects': comments} + +@rss('rss.xml') +def last_bugs(request): + bugs = Bug.objects.all()[:settings.RSS_MAX_ITEMS] + for bug in bugs: + bug.url = reverse('mgmt.views.one_bug',args=(bug.id,)) + return dict(title=u'Projects: Баги', description=u'Последние багрепорты', objects=bugs) + +@rss('rss.xml') +def last_reports(request): + reports = Report.objects.all()[:settings.RSS_MAX_ITEMS] + for r in reports: + r.url = reverse('mgmt.views.one_report',args=(r.id,)) + return dict(title=u'Projects: Отчеты', description=u'Последние отчеты', objects=reports) diff --git a/settings.py b/settings.py index a0b23e8..a672f31 100644 --- a/settings.py +++ b/settings.py @@ -104,6 +104,8 @@ BUG_RIGHTS = { COMMENTS_PER_PAGE = 10 BUGS_PER_PAGE = COMMENTS_PER_PAGE +RSS_MAX_ITEMS = 10 + MENU_ANONYMOUS = [(u'Главная','/'), (u'Вход','/login/')] diff --git a/templates/base.html b/templates/base.html index a436c1a..ff80456 100644 --- a/templates/base.html +++ b/templates/base.html @@ -10,7 +10,9 @@ <link rel='stylesheet' type='text/css' href='/media/css/main.css'/> <link rel="stylesheet" type="text/css" href="/media/js/markitup/skins/markitup/style.css" /> <link rel="stylesheet" type="text/css" href="/media/js/markitup/sets/markdown/style.css" /> - <link rel="alternate" title="Последние комментарии" type="application/rss+xml" href="/comments/feed/" /> + <link rel="alternate" title="Последние комментарии" type="application/rss+xml" href="{% url mgmt.views.last_comments %}" /> + <link rel="alternate" title="Баги" type="application/rss+xml" href="{% url mgmt.views.last_bugs %}" /> + <link rel="alternate" title="Отчеты" type="application/rss+xml" href="{% url mgmt.views.last_reports %}" /> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="markitup/jquery.markitup.js"></script> <script type="text/javascript" src="markitup/sets/markdown/set.js"></script> diff --git a/templates/rss.xml b/templates/rss.xml index 6aac873..45612ea 100644 --- a/templates/rss.xml +++ b/templates/rss.xml @@ -3,15 +3,15 @@ {% load prj_filters %} <channel> - <title>Projects: Последние комментарии</title> + <title>{{title}}</title> <link>http://projects.rtfm-com.ru/</link> - <description>Последние комментарии по проектам</description> + <description>{{description}}</description> <language>ru-ru</language> <pubDate>{{pub_date}}</pubDate> {% for object in objects %} <item> - <title>{{object.title}}</title> + <title>{% if object.title %}{{object.title}}{% else %}{{object.name}}{% endif %}</title> <link>http://rtfm-server{{object.url}}</link> <description>{{object.text|markdown|safe}}</description> </item> diff --git a/urls.py b/urls.py index 90a58d2..859abc3 100644 --- a/urls.py +++ b/urls.py @@ -12,6 +12,7 @@ urlpatterns = patterns('', (r'^docs/(\d+)/edit/$', "mgmt.views.edit_document"), (r'^docs/create/(\d+)/$', "mgmt.views.create_document"), (r'^bugs/state/(\d+)/$', 'mgmt.views.bugs_by_state'), + (r'^bugs/feed/$', 'mgmt.views.last_bugs'), (r'^bugs/(\d+)/$', "mgmt.views.one_bug"), (r'^bugs/(\d+)/edit/$', "mgmt.views.edit_bug"), (r'^bugs/report/(\d+)/$', 'mgmt.views.bug_report'), @@ -23,6 +24,7 @@ urlpatterns = patterns('', (r'^tasks/(\d+)/$', 'mgmt.views.one_task'), (r'^tasks/(\d+)/edit/$', 'mgmt.views.edit_task'), (r'^tasks/create/(\d+)/$', 'mgmt.views.create_task'), + (r'^reports/feed/$', 'mgmt.views.last_reports'), (r'^reports/(\d+)/$', 'mgmt.views.one_report'), (r'^reports/(\d+)/edit/$', 'mgmt.views.edit_report'), (r'^reports/create/(\d+)/$', 'mgmt.views.create_report'),