Mercurial > personas_backend
changeset 177:1a7d4c9cbf70
Added 'your personas' section.
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Wed, 16 Apr 2008 19:18:39 -0700 |
parents | 824a27b7f869 |
children | ba0b8a29e034 |
files | personasbackend/personas/sections.py personasbackend/personas/templates/personas/list.html personasbackend/personas/templates/personas/your-personas.html personasbackend/personas/urls.py personasbackend/personas/views.py |
diffstat | 5 files changed, 41 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/personasbackend/personas/sections.py Wed Apr 16 19:00:21 2008 -0700 +++ b/personasbackend/personas/sections.py Wed Apr 16 19:18:39 2008 -0700 @@ -24,13 +24,14 @@ def filter_sidebar_entries( self, user ): entries = [] for section in self.sidebar_entries: - include = False + include = True if section.needs_perm: - if ( user.is_authenticated() and - user.has_perm(section.needs_perm) ): - include = True - else: - include = True + if not ( user.is_authenticated() and + user.has_perm(section.needs_perm) ): + include = False + elif section.needs_auth: + if not user.is_authenticated(): + include = False if include: entries.append( section ) return entries @@ -38,12 +39,14 @@ class Section( object ): def __init__( self, name, view, in_sidebar = False, parent_name = None, - needs_perm = None ): + needs_perm = None, + needs_auth = False ): self.name = name self.view = view self.in_sidebar = in_sidebar self.parent_name = parent_name self.needs_perm = needs_perm + self.needs_auth = needs_auth # This will be filled out by the parent Sections object. self.parents = [] @@ -63,6 +66,11 @@ "personasbackend.personas.views.new_view", parent_name = "Home", in_sidebar = True ), + Section( "Your Personas", + "personasbackend.personas.views.your_personas_view", + parent_name = "Home", + in_sidebar = True, + needs_auth = True ), Section( "Administer", "django.contrib.admin.views.main.index", parent_name = "Home",
--- a/personasbackend/personas/templates/personas/list.html Wed Apr 16 19:00:21 2008 -0700 +++ b/personasbackend/personas/templates/personas/list.html Wed Apr 16 19:18:39 2008 -0700 @@ -2,6 +2,7 @@ {% block content %} {% if personas %} +{% block intro %} <p>Here's a list of all available Personas.</p> <p>If you have the Personas extension installed, just mouseover the preview image for a Persona to preview it—when your mouse moves @@ -9,6 +10,7 @@ <p>If you like the Persona, you can click on the preview image to set it as your current Persona.</p> <p>Enjoy!</p> +{% endblock %} {% for persona in personas %} <div class="corner-box"> {% include "personas/thumbnail.html" %} @@ -40,6 +42,8 @@ </div> {% endfor %} {% else %} +{% block no-personas %} <p>There are currently no personas available.</p> +{% endblock %} {% endif %} {% endblock %}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/personasbackend/personas/templates/personas/your-personas.html Wed Apr 16 19:18:39 2008 -0700 @@ -0,0 +1,10 @@ +{% extends "personas/list.html" %} + +{% block intro %} +<p>These are your personas.</p> +{% endblock %} + +{% block no-personas %} +<p>You don't currently have any Personas. +<a href="{% url your-personas %}">Please submit one!</a></p> +{% endblock %}
--- a/personasbackend/personas/urls.py Wed Apr 16 19:00:21 2008 -0700 +++ b/personasbackend/personas/urls.py Wed Apr 16 19:18:39 2008 -0700 @@ -47,6 +47,8 @@ name='edit-persona'), url(r'^list/$', 'personasbackend.personas.views.list_view', name='list-personas'), + url(r'^yours/$', 'personasbackend.personas.views.your_personas_view', + name='your-personas'), url(r'^$', 'personasbackend.personas.views.home_view', name='personas-home'),
--- a/personasbackend/personas/views.py Wed Apr 16 19:00:21 2008 -0700 +++ b/personasbackend/personas/views.py Wed Apr 16 19:18:39 2008 -0700 @@ -74,6 +74,16 @@ return HttpResponse( image_data, mimetype = mimetype ) +@login_required +def your_personas_view( request ): + personas = models.Persona.objects.filter( owner=request.user ) + return render_to_response( + "personas/your-personas.html", + { "personas" : personas, + "title" : "Your Personas" }, + context_instance = RequestContext(request) + ) + def list_view( request ): personas = models.Persona.objects.filter( status="published" ) return render_to_response(