[damned-lies] Provide a better XML output for teams page



commit 3cd4c7d9fbaef31abb1494e967eac57663c91e31
Author: Olav Vitters <olav bkor dhs org>
Date:   Thu Jul 30 16:10:52 2009 +0200

    Provide a better XML output for teams page

 teams/views.py                |   12 +++++++-----
 templates/teams/team_list.xml |   11 +++++++++++
 2 files changed, 18 insertions(+), 5 deletions(-)
---
diff --git a/teams/views.py b/teams/views.py
index 13af15f..99b561a 100644
--- a/teams/views.py
+++ b/teams/views.py
@@ -23,8 +23,6 @@ from django.utils.translation import ugettext_lazy as _
 from django.shortcuts import render_to_response, get_object_or_404
 from django.template import RequestContext
 from common import utils
-from django.core import serializers
-from django.http import HttpResponse
 from teams.models import Team, FakeTeam, Role
 from teams.forms import EditMemberRoleForm
 from languages.models import Language
@@ -35,9 +33,13 @@ MIME_TYPES = {'json': 'application/json',
 def teams(request):
     teams = Team.objects.all_with_coordinator()
     format = request.GET.get('format', 'html')
-    if format in ('json', 'xml'):
-        data = serializers.serialize(format, teams)
-        return HttpResponse(data, mimetype=MIME_TYPES[format])
+    if format == 'xml':
+        return render_to_response(
+            'teams/team_list.xml',
+            { 'teams' : teams },
+            context_instance=RequestContext(request),
+            mimetype=MIME_TYPES[format]
+        )
     else:
         context = {
             'pageSection': 'teams',
diff --git a/templates/teams/team_list.xml b/templates/teams/team_list.xml
new file mode 100644
index 0000000..4f80508
--- /dev/null
+++ b/templates/teams/team_list.xml
@@ -0,0 +1,11 @@
+<teams>
+  {% for team in teams %}
+  <team id="{{ teams.name}}">
+    {% with team.get_coordinator as coordinator %}
+    {% if coordinator %}
+    <coordinator>{{ coordinator.svn_account }}</coordinator>
+    {% endif %}
+    {% endwith %}
+  </team>
+  {% endfor %}
+</teams>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]