Mercurial > personas_backend
view personasbackend/personas/views.py @ 128:9bcc77e37c19
Renamed all references of PersonasBackend to personasbackend, matching PEP-8.
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Wed, 02 Apr 2008 12:01:42 -0700 |
parents | 382af80db050 |
children | 3aff48d6beca |
line wrap: on
line source
from django.http import HttpResponseRedirect, HttpResponseForbidden from django.http import HttpResponse, HttpResponseBadRequest from django.template import RequestContext from django.contrib.auth.decorators import login_required from django.core.urlresolvers import reverse from django.shortcuts import render_to_response, get_object_or_404 from personasbackend.personas import models from personasbackend.personas import forms def legacy_cbeard_persona( request, name ): PREFIX = "http://sm-labs01.mozilla.org/legacy-personas/" FOOTER_URL = "%(prefix)s%(name)s/stbar-%(name)s.jpg" HEADER_URL = "%(prefix)s%(name)s/tbox-%(name)s.jpg" urldict = {"prefix" : PREFIX, "name" : name} action = request.GET.get( "action", "" ) if action == "footer": position = "bottom left" img_src = FOOTER_URL % urldict elif action == "header": position = "top right" img_src = HEADER_URL % urldict else: return HttpResponseBadRequest( "Invalid or unsupported action: %s" % action ) return render_to_response( "personas/legacy_persona.xul", { "image" : img_src, "position" : position }, mimetype = "application/vnd.mozilla.xul+xml" ) def list_view( request ): personas = models.Persona.objects.filter( status="published" ) return render_to_response( "personas/list.html", { "personas" : personas, "title" : "Browse Personas" }, context_instance = RequestContext(request) ) def home_view( request ): return render_to_response( "personas/home.html", { "title" : "Home" }, context_instance = RequestContext(request) ) def todo_view( request ): return render_to_response( "personas/todo.html", { "title" : "Under Construction" }, context_instance = RequestContext(request) ) def new_view( request ): return edit_view( request ) @login_required def edit_view( request, persona_id=None ): if persona_id is None: persona = None pageTitle = "Create a new Persona" else: persona = get_object_or_404( models.Persona, id=persona_id ) if not persona.can_user_edit( request.user ): return HttpResponseForbidden( "<h1>You do not have permission to edit " "this Persona.</h1>" ) pageTitle = "Edit Persona" if request.method == "POST": form = forms.PersonaForm( request.POST, instance=persona ) if form.is_valid(): newPersona = form.save( commit=False ) newPersona.save( updater = request.user ) if persona is None: msgText = ("Persona created successfully. It will need " "to be reviewed by a staff member " "before it is published.") else: msgText = ("Persona edited successfully. Your changes " "will need to be approved by a staff member " "before they can take effect.") request.user.message_set.create( message = msgText ) url = reverse("edit-persona", args=[newPersona.id]) return HttpResponseRedirect( url ) else: form = forms.PersonaForm( instance=persona ) return render_to_response( "personas/edit.html", { "form" : form, "title" : pageTitle }, context_instance = RequestContext(request) )