changeset 191:7dddbdf7a2a0

more minimalist ;-):
author avarma@sm-labs01.mozilla.org
date Thu, 17 Apr 2008 12:35:35 -0700
parents 7e12b3addf0a
children cd3f16566539
files personasbackend/personas/templates/personas/minimalist_login.html personasbackend/personas/urls.py personasbackend/personas/views.py
diffstat 3 files changed, 89 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/personasbackend/personas/templates/personas/minimalist_login.html	Thu Apr 17 12:35:35 2008 -0700
@@ -0,0 +1,21 @@
+{% extends "personas/minimalist_base.html" %}
+
+{% block content %}
+{% if form.has_errors %}
+<p>Your username and password didn't match. Please try again.</p>
+{% endif %}
+<form method="post" action="." class="persona-form corner-box">
+  <table>
+    <tr>
+      <td><label for="id_username">Username:</label></td>
+      <td>{{ form.username }}</td>
+    </tr>
+    <tr>
+      <td><label for="id_password">Password:</label></td>
+      <td>{{ form.password }}</td>
+    </tr>
+  </table>
+  <input type="submit" class="amo-submit" value="Log in" />
+  <input type="hidden" name="next" value="{{ next }}" />
+</form>
+{% endblock %}
--- a/personasbackend/personas/urls.py	Thu Apr 17 11:37:56 2008 -0700
+++ b/personasbackend/personas/urls.py	Thu Apr 17 12:35:35 2008 -0700
@@ -42,9 +42,15 @@
     url(r'^new/$',
         'personasbackend.personas.views.new_view',
         name='new-persona'),
+    url(r'^mininew/$',
+        'personasbackend.personas.views.mininew_view',
+        name='mininew-persona'),
     url(r'^(?P<persona_id>\d+)/edit/$',
         'personasbackend.personas.views.edit_view',
         name='edit-persona'),
+    url(r'^(?P<persona_id>\d+)/miniedit/$',
+        'personasbackend.personas.views.edit_view',
+        name='miniedit-persona'),
     url(r'^list/$', 'personasbackend.personas.views.list_view',
         name='list-personas'),
     url(r'^minilist/$', 'personasbackend.personas.views.minilist_view',
--- a/personasbackend/personas/views.py	Thu Apr 17 11:37:56 2008 -0700
+++ b/personasbackend/personas/views.py	Thu Apr 17 12:35:35 2008 -0700
@@ -117,6 +117,7 @@
         context_instance = RequestContext(request)
         )
 
+
 def new_view( request ):
     return edit_view( request )
 
@@ -177,3 +178,64 @@
           "persona" : persona },
         context_instance = RequestContext(request)
         )
+
+def mininew_view( request ):
+    return edit_view( request )
+
+@login_required
+def miniedit_view( request, persona_id=None ):
+    if persona_id is None:
+        persona = None
+        pageTitle = "Submit a new Persona"
+        formClass = forms.NewPersonaForm
+    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 \"%s\"" % persona.name
+        if request.user.has_perm("personas.can_publish"):
+            formClass = forms.AdminPersonaForm
+        else:
+            formClass = forms.EditPersonaForm
+
+    if request.method == "POST":
+        form = formClass( request.POST, request.FILES,
+                          instance=persona )
+        if form.is_valid():
+            newPersona = form.save( commit=False )
+
+            if persona is None:
+                msgText = "Persona created successfully."
+                waitText = ("It will need "
+                            "to be reviewed by a staff member "
+                            "before it is published.")
+            else:
+                if (not newPersona.header_img) and persona.header_img:
+                    newPersona.header_img = persona.header_img
+                if (not newPersona.footer_img) and persona.footer_img:
+                    newPersona.footer_img = persona.footer_img
+                msgText = "Persona edited successfully."
+                waitText = ("Your changes "
+                            "will need to be approved by a staff member "
+                            "before they can take effect.")
+
+            if not request.user.has_perm("personas.can_publish"):
+                msgText += " " + waitText
+
+            newPersona.save( updater = request.user )
+            request.user.message_set.create( message = msgText )
+            url = reverse("edit-persona", args=[newPersona.id])
+            return HttpResponseRedirect( url )
+    else:
+        form = formClass( instance=persona )
+
+    return render_to_response(
+        "personas/minimalist_edit.html",
+        { "form" : form,
+          "title" : pageTitle,
+          "persona" : persona },
+        context_instance = RequestContext(request)
+        )