changeset 37:ba2dad0d7f2a

Do license framework (need to create an SQL fixture for them)
author Jordi Gutiérrez Hermoso <jordigh@gmail.com>
date Wed, 07 Jul 2010 15:35:56 -0500
parents bc0137b6c264
children 875ff38176fb
files apps/bundle/views.py apps/free_license/urls.py apps/free_license/views.py apps/profile/views.py static/djangodocs.css templates/licenses/index.djhtml templates/licenses/license.djhtml templates/profile/edit-user.djhtml
diffstat 8 files changed, 96 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/apps/bundle/views.py	Wed Jul 07 09:23:03 2010 -0500
+++ b/apps/bundle/views.py	Wed Jul 07 15:35:56 2010 -0500
@@ -1,15 +1,14 @@
-from django.shortcuts import render_to_response, get_object_or_404
+from django.shortcuts import get_object_or_404
 from agora.apps.bundle.models import *
-from django.template import RequestContext
+from django.views.generic.simple import direct_to_template
 
 def detail(request, user, bundle):
     b = get_object_or_404(Bundle, uploader__username=user, name=bundle)
     f = BundleFile.objects.filter(bundle=b)
 
-    return render_to_response('bundle/index.djhtml',
+    return direct_to_template(request, 'bundle/index.djhtml',
                               {
                                 'bundle':b,
                                 'files': f,
                                },
-                              RequestContext(request),
                               )
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/apps/free_license/urls.py	Wed Jul 07 15:35:56 2010 -0500
@@ -0,0 +1,6 @@
+from django.conf.urls.defaults import *
+
+urlpatterns = patterns('agora.apps.free_license.views',
+    (r'^$', 'index'),
+    (r'^(?P<license_name>\w*)/$', 'show_license'),
+)
--- a/apps/free_license/views.py	Wed Jul 07 09:23:03 2010 -0500
+++ b/apps/free_license/views.py	Wed Jul 07 15:35:56 2010 -0500
@@ -1,4 +1,18 @@
-# Create your views here.
+from django.shortcuts import get_object_or_404
+from django.views.generic.simple import direct_to_template
+
+from agora.apps.free_license.models import FreeLicense
 
-def list(request):
-    pass
+def index(request,  licenses = FreeLicense.objects.all() ):
+    return direct_to_template(request, 'licenses/index.djhtml',
+                              {'licenses' : licenses},
+                              )
+
+def show_license(request, license_name, licenses = FreeLicense.objects.all()):
+
+    lic = get_object_or_404(FreeLicense, name=license_name)
+
+    return direct_to_template(request, 'licenses/license.djhtml',
+                              {'license' : lic,
+                               'licenses' : licenses},
+                              )
--- a/apps/profile/views.py	Wed Jul 07 09:23:03 2010 -0500
+++ b/apps/profile/views.py	Wed Jul 07 15:35:56 2010 -0500
@@ -3,7 +3,7 @@
 from django.http import Http404, HttpResponseRedirect
 from django.core.urlresolvers import reverse
 from django.contrib.auth.decorators import login_required
-from django.template import RequestContext
+from django.views.generic.simple import direct_to_template
 
 from agora.apps.free_license.models import FreeLicense
 from agora.apps.bundle.models import Bundle
@@ -40,14 +40,13 @@
     b = Bundle.objects.filter(uploader=u)
     s = Snippet.objects.filter(uploader=u)
 
-    return render_to_response('profile/user.djhtml',
+    return direct_to_template(request, 'profile/user.djhtml',
                               {
                                   'profile' : p,
                                   'bundles' : b,
                                   'snippets' : s,
                                   'name' : n,
                                },
-                               RequestContext(request)
                               )
 
 @login_required
@@ -78,10 +77,9 @@
                                     )
 
     licenses = FreeLicense.objects.all()
-    return render_to_response('profile/edit-user.djhtml',
+    return direct_to_template(request, 'profile/edit-user.djhtml',
                               {
                                   'profile' : p,
                                   'licenses' : licenses,
                               },
-                              RequestContext(request)
                               )
--- a/static/djangodocs.css	Wed Jul 07 09:23:03 2010 -0500
+++ b/static/djangodocs.css	Wed Jul 07 15:35:56 2010 -0500
@@ -161,3 +161,8 @@
 
 /*** IE hacks ***/
 * pre { width: 100%; }
+
+pre{ 
+    font-size: 0.7em;
+    text-align: left
+   }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/licenses/index.djhtml	Wed Jul 07 15:35:56 2010 -0500
@@ -0,0 +1,22 @@
+{% extends "whitebox.djhtml" %}
+
+{% block boxtitle %}
+Free licenses 
+{% endblock boxtitle %}
+
+{% block boxcontents %}
+<p class="explanation">
+The following are the licenses available in Agora. Click on the
+license title for the text license itself.
+</p>
+<dl>
+  {% for license in licenses %}
+  <dt>
+    <a href="{% url agora.apps.free_license.views.show_license license%}">
+      {{license.name}}
+    </a>
+  </dt>
+  <dd>{{license.description|safe|linebreaks}}</dd>
+  {% endfor %}
+</dl>
+{% endblock boxcontents %}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/licenses/license.djhtml	Wed Jul 07 15:35:56 2010 -0500
@@ -0,0 +1,39 @@
+{% extends "whitebox.djhtml" %}
+
+{% block boxtitle %}
+{{license.name}}
+{% endblock boxtitle %}
+
+{% block boxcontents %}
+{{license.text|safe}}
+{% endblock %}
+
+{% block content-related %}
+<div class="info">
+  <h3>
+    Description
+  </h3>
+  <div class="whitebox">
+    <p align="justify">
+      <small>{{license.description|safe|linebreaks}}</small>
+    </p>
+  </div>
+</div>
+
+<div class="info">
+  <h3>
+    <a href="{% url agora.apps.free_license.views.index %}">Other Licenses</a>
+  </h3>
+  <div class="whitebox">
+    <ul>
+      {% for license in licenses %}
+      <li>
+        <a href="{% url agora.apps.free_license.views.show_license license %}">
+          {{license.name}}
+        </a>
+      </li>
+      {% endfor %}
+    </ul>
+  </div>
+</div>
+{% endblock %}
--- a/templates/profile/edit-user.djhtml	Wed Jul 07 09:23:03 2010 -0500
+++ b/templates/profile/edit-user.djhtml	Wed Jul 07 15:35:56 2010 -0500
@@ -33,7 +33,7 @@
   <p class="explanation">
     By default, all of your submissions will be under the following
     license, and will be displayed next to your submissions.
-    <a href="{% url agora.apps.free_license.views.list %}">
+    <a href="{% url agora.apps.free_license.views.index %}">
       Here is a thorough explanation of the available licenses.
     </a>
   </p>