Mercurial > hg > agora
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 +++ b/apps/bundle/models.py @@ -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 +++ b/apps/bundle/views.py @@ -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 +++ b/settings-example.py @@ -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 +++ b/templates/bundle/index.djhtml @@ -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>