Mercurial > personas_backend
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 )