Add an RSS feed of all repositories, including those not approved yet.
authorMagnus Hagander <magnus@hagander.net>
Mon, 4 May 2009 18:44:34 +0000 (20:44 +0200)
committerMagnus Hagander <magnus@hagander.net>
Mon, 4 May 2009 18:44:34 +0000 (20:44 +0200)
One good way to figure out if we've forgtten to approve something.

gitadmin/adm/templates/feeds/all.tmpl [new file with mode: 0644]
gitadmin/feeds.py [new file with mode: 0644]
gitadmin/urls.py

diff --git a/gitadmin/adm/templates/feeds/all.tmpl b/gitadmin/adm/templates/feeds/all.tmpl
new file mode 100644 (file)
index 0000000..e56e9c1
--- /dev/null
@@ -0,0 +1,5 @@
+{% if not obj.approved %}
+<p><b>This repository has not yet been approved!</b></p>
+{% endif %}
+<p>{{obj.description}}</p>
+
diff --git a/gitadmin/feeds.py b/gitadmin/feeds.py
new file mode 100644 (file)
index 0000000..814cff0
--- /dev/null
@@ -0,0 +1,18 @@
+# vim: ai ts=4 sts=4 sw=4
+
+from django.contrib.syndication.feeds import Feed
+from gitadmin.adm.models import *
+
+import datetime
+
+class AllReposFeed(Feed):
+       title = "pggit - all repositories"
+       link = "/"
+       description = "All pggit repositories, including those not approved yet"
+       description_template = "feeds/all.tmpl"
+
+       def items(self):
+               return Repository.objects.all().order_by('repoid')
+       
+       def item_link(self, repo):
+               return "http://git.postgresql.org/gitweb/%s" % repo
index a24128728e4147e2d3b993dfc8c0206935697689..8746be53fe89d4a5735a7d652f658f2dbba7ba17 100644 (file)
@@ -4,6 +4,14 @@ from django.conf.urls.defaults import *
 from django.contrib import admin
 admin.autodiscover()
 
+from gitadmin.feeds import AllReposFeed
+
+# Feeds
+feeds = {
+        'all': AllReposFeed,
+}
+
+
 urlpatterns = patterns('',
     # Uncomment the next line to enable admin documentation:
     # (r'^admin/doc/', include('django.contrib.admindocs.urls')),
@@ -14,6 +22,8 @@ urlpatterns = patterns('',
 # Static (normally served by webserver)
     (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root':'static/'}),
 
+# Feeds
+    (r'^feeds/(?P<url>.*)/$', 'django.contrib.syndication.views.feed', {'feed_dict': feeds}),
 
     (r'', include('gitadmin.adm.urls')),
 )