changeset 72:363e76475f5a

'updater' is no longer an editable field in the admin interface for Personas.
author Atul Varma <varmaa@toolness.com>
date Tue, 11 Mar 2008 16:41:30 -0500
parents b74413b50a12
children 6985ef89b930
files PersonasBackend/personas/forms.py PersonasBackend/personas/models.py PersonasBackend/personas/views.py
diffstat 3 files changed, 11 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/PersonasBackend/personas/forms.py	Tue Mar 11 16:30:35 2008 -0500
+++ b/PersonasBackend/personas/forms.py	Tue Mar 11 16:41:30 2008 -0500
@@ -9,4 +9,4 @@
 
     class Meta:
         model = models.Persona
-        exclude = ["owner", "status", "updater"]
+        exclude = ["owner", "status"]
--- a/PersonasBackend/personas/models.py	Tue Mar 11 16:30:35 2008 -0500
+++ b/PersonasBackend/personas/models.py	Tue Mar 11 16:41:30 2008 -0500
@@ -223,9 +223,8 @@
         User,
         help_text="The user who made this revision.",
         related_name="changed_personas",
-        # TODO: Consider making this null=False.  Keeping it true
-        # makes it easier to write tests, though.
         null=True,
+        editable=False
         )
 
     revision = models.PositiveIntegerField(
@@ -319,7 +318,7 @@
 
             self.revision += 1
 
-    def save(self):
+    def save( self, updater=None ):
         """
         Saves the object.  If a versioned property is changed, a new
         revision is generated automatically.
@@ -349,6 +348,13 @@
           u'test.png'
         """
 
+        if updater:
+            self.updater = updater
+        else:
+            # We were probably saved through the admin interface,
+            # which saves its own separate history of changes.
+            self.updater = None
+
         if self.id == None:
             # We're a brand-new Persona.
             self.revision = 0
--- a/PersonasBackend/personas/views.py	Tue Mar 11 16:30:35 2008 -0500
+++ b/PersonasBackend/personas/views.py	Tue Mar 11 16:41:30 2008 -0500
@@ -86,8 +86,7 @@
                                   instance=persona )
         if form.is_valid():
             newPersona = form.save( commit=False )
-            newPersona.updater = request.user
-            newPersona.save()
+            newPersona.save( updater = request.user )
             if persona is None:
                 msgText = "Persona created successfully."
             else: