changeset 30:f14aaa98306a

Register more apps in the admin site, write an actual template for the user profile page
author Jordi Gutiérrez Hermoso <jordigh@gmail.com>
date Wed, 30 Jun 2010 11:19:32 -0500
parents 6ba969517b9c
children b2fd20d03fb4
files apps/profile/admin.py apps/profile/views.py apps/snippet/admin.py apps/snippet/models.py templates/user.djhtml templates/whitebox.djhtml
diffstat 6 files changed, 79 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/apps/profile/admin.py
@@ -0,0 +1,4 @@
+from agora.apps.profile.models import *
+from django.contrib import admin
+
+admin.site.register(Profile)
--- a/apps/profile/views.py
+++ b/apps/profile/views.py
@@ -1,5 +1,5 @@
 from django.shortcuts import render_to_response, get_object_or_404
-from agora.apps.profile.models import *
+from agora.apps.profile.models import Profile
 from django.contrib.auth.models import User
 from django.http import Http404
 from agora.apps.free_license.models import FreeLicense
new file mode 100644
--- /dev/null
+++ b/apps/snippet/admin.py
@@ -0,0 +1,5 @@
+from agora.apps.snippet.models import *
+from django.contrib import admin
+
+admin.site.register(Snippet)
+admin.site.register(CodeLanguage)
--- a/apps/snippet/models.py
+++ b/apps/snippet/models.py
@@ -9,5 +9,13 @@
     pub_date = models.DateTimeField('date uploaded')
     mod_date = models.DateTimeField('date last modified')
 
+    def __unicode__(self):
+        if self.name:
+            return self.name
+        return self.id
+
 class CodeLanguage(models.Model):
     name = models.CharField(max_length=64)
+
+    def __unicode__(self):
+        return name
--- a/templates/user.djhtml
+++ b/templates/user.djhtml
@@ -3,7 +3,63 @@
 {{user.username}}
 {% endblock %}
 {% block boxcontents %}
-{{profile.preferred_license}} <br/>
-{{bundles}} <br/>
-{{snippets}} <br/>
-{% endblock %}
+<div id="userinfo">
+  {% if user.first_name or user.last_name %}
+  <span class="userfield">Name</span> 
+  <span class="userdata">{{user.first_name}} {{user.last_name}}</span> 
+  <br />
+  {% endif %}
+  <span class="userfield">Preferred license</span>
+  <span class="userdata">{{profile.preferred_license}}</span>
+  <br />
+  {% if profile.interests %}
+  <h4>
+    Interests
+  </h4>
+  <p class="userdata">
+    {{profile.interests}}
+  </p>
+  {% endif %}
+
+  {% if profile.blurb %}
+  <h4>
+    About {{user.username}}
+  </h4>
+  <p class="userdata">
+    {{profile.blurb}}
+  </p>
+</div>
+{% endif %}
+{% endblock %} {# boxcontents #}
+
+{% block extra-content-related %}
+{% if bundles or snippets %}
+<div id="info">
+  <h3>
+    Contributions by {{user.username}}
+  </h3>
+  <div class="whitebox">
+    {% if bundles %}
+    <h5>
+      Bundles
+    </h5>
+    <ul>
+      {% for b in bundles %}
+      <li> <a href="/{{user.username}}/{{b.name}}">{{b.name}} </a></li>
+      {% endfor %}
+    </ul>
+    {% endif %}
+    {% if snippets %}
+    <h5>
+      Snippets
+    </h5>
+    <ul>
+      {% for s in snippets %}
+      <li><a href="/snippet/{{s}}"}{{s}}</a></li>
+      {% endfor %}
+      {% endif %}
+    </ul>
+  </div>
+</div>
+{% endif %}
+{% endblock %} {# extra-content-related #}
--- a/templates/whitebox.djhtml
+++ b/templates/whitebox.djhtml
@@ -38,4 +38,5 @@
     
   </div>
 </div>
+{% block extra-content-related %}{% endblock %}
 {% endblock %}