changeset 152:052bf8a07b76

The edit persona form now allows admin users to publish personas.
author Atul Varma <varmaa@toolness.com>
date Fri, 04 Apr 2008 13:19:11 -0700
parents 1a467807ee5f
children 094102bd9529
files personasbackend/personas/forms.py personasbackend/personas/views.py
diffstat 2 files changed, 14 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/personasbackend/personas/forms.py	Fri Apr 04 13:08:23 2008 -0700
+++ b/personasbackend/personas/forms.py	Fri Apr 04 13:19:11 2008 -0700
@@ -9,7 +9,7 @@
 
     class Meta:
         model = models.Persona
-        exclude = ["owner", "date_published", "popularity", "status"]
+        exclude = ["owner", "date_published", "popularity"]
 
     def _color_cleaner( self, field ):
         models.ensure_color_is_valid(
@@ -24,10 +24,18 @@
     def clean_accent_color( self ):
         return self._color_cleaner( "accent_color" )
 
-class EditPersonaForm( BasePersonaForm ):
+class AdminPersonaForm( BasePersonaForm ):
     pass
 
-class NewPersonaForm( BasePersonaForm ):
+class UserPersonaForm( BasePersonaForm ):
+    class Meta:
+        model = BasePersonaForm.Meta.model
+        exclude = BasePersonaForm.Meta.exclude + ["status"]
+
+class EditPersonaForm( UserPersonaForm ):
+    pass
+
+class NewPersonaForm( UserPersonaForm ):
     agree_to_terms = forms.BooleanField(
         label = "I agree to the terms of use.",
         # TODO: setting required to True doesn't seem to have any effect,
--- a/personasbackend/personas/views.py	Fri Apr 04 13:08:23 2008 -0700
+++ b/personasbackend/personas/views.py	Fri Apr 04 13:19:11 2008 -0700
@@ -116,6 +116,9 @@
         pageTitle = "Edit Persona \"%s\"" % persona.name
         formClass = forms.EditPersonaForm
 
+    if request.user.has_perm("personas.can_publish"):
+        formClass = forms.AdminPersonaForm
+
     if request.method == "POST":
         form = formClass( request.POST, request.FILES,
                           instance=persona )