changeset 6:c83460992637

Elaborate on stub bundle template
author Jordi Gutiérrez Hermoso <jordigh@gmail.com>
date Fri, 25 Jun 2010 18:32:15 -0500
parents 9073642ddd2e
children 6c2d400091fd
files apps/bundle/models.py apps/bundle/views.py settings-example.py templates/bundle/index.djhtml
diffstat 4 files changed, 32 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/apps/bundle/models.py	Fri Jun 25 14:20:15 2010 -0500
+++ b/apps/bundle/models.py	Fri Jun 25 18:32:15 2010 -0500
@@ -9,6 +9,11 @@
     free_license = models.ForeignKey(Free_license)
     pub_date = models.DateTimeField('date uploaded')
     mod_date = models.DateTimeField('date last modified')
+
+    class Meta:
+        #Every user must pick unique names for their bundles
+        unique_together = ('uploader','name')
+
     def __unicode__(self):
         return self.name
 
@@ -22,5 +27,3 @@
 class CodeFile(BundleFile):
     code = models.TextField()
     language = models.CharField(max_length=50)
-    def __unicode__(self):
-        return self.name
--- a/apps/bundle/views.py	Fri Jun 25 14:20:15 2010 -0500
+++ b/apps/bundle/views.py	Fri Jun 25 18:32:15 2010 -0500
@@ -1,11 +1,9 @@
-from django.template import Context, loader
-from django.http import HttpResponse
+from django.shortcuts import render_to_response, get_object_or_404
 from agora.apps.bundle.models import *
 
 def detail(request, user, bundle):
-    t = loader.get_template('bundle/index.djhtml')
-    c = Context({
-        'user': user,
-        'bundle' : bundle,
-    })
-    return HttpResponse(t.render(c))
+    b = get_object_or_404(Bundle, uploader__username=user, name=bundle)
+    f = BundleFile.objects.filter(bundle=b)
+
+    return render_to_response('bundle/index.djhtml', {'bundle':b,
+                                                      'files': f,})
--- a/settings-example.py	Fri Jun 25 14:20:15 2010 -0500
+++ b/settings-example.py	Fri Jun 25 18:32:15 2010 -0500
@@ -101,7 +101,7 @@
     'django.contrib.admindocs',
     'django.contrib.admin',
 
-    #
+    #Agora-specific apps
     'agora.apps.snippet',
     'agora.apps.bundle',
     'agora.apps.free_license',
--- a/templates/bundle/index.djhtml	Fri Jun 25 14:20:15 2010 -0500
+++ b/templates/bundle/index.djhtml	Fri Jun 25 18:32:15 2010 -0500
@@ -1,3 +1,22 @@
+{% if bundle %}
 <p>
-Sup, this {{ user }}'s {{ bundle }} bundle.
+  Sup, this is {{ bundle.uploader }}'s {{ bundle.name }} bundle.
 </p>
+
+{% if files %}
+<ul>
+  {% for f in files%}
+  <li><a href="{{f.bundle_file}}">{{f}}</a></li>
+  {% endfor %}
+</ul>
+
+{% else %}
+<p>
+  No files in this bundle!
+</p>
+{% endif %}
+
+{% else %}
+Bundle not found!
+{% endif %}
+</p>