summaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2012-12-28 04:13:56 +0100
committerDan McGee <dan@archlinux.org>2012-12-28 07:35:26 +0100
commitbf4385a26c1b6f07bf9bdcddf7160b5eb4a71d9a (patch)
tree05485a88f64655f6d8134e2a24b2b5482d0e4a67 /main
parent6667b017669ffbae98ce70f5472f107b91da36d5 (diff)
downloadarchweb-bf4385a26c1b6f07bf9bdcddf7160b5eb4a71d9a.tar.gz
archweb-bf4385a26c1b6f07bf9bdcddf7160b5eb4a71d9a.tar.xz
Move the body of set_last_modified to main/utils
Instead of having multiple methods, move this into our single 'created' setter method. If the 'last_modified' property is present, we now update it accordingly when saving any model with this signal attached. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'main')
-rw-r--r--main/utils.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/main/utils.py b/main/utils.py
index d12e5e1..17ca386 100644
--- a/main/utils.py
+++ b/main/utils.py
@@ -106,10 +106,16 @@ def retrieve_latest(sender, latest_by=None):
def set_created_field(sender, **kwargs):
'''This will set the 'created' field on any object to the current UTC time
- if it is unset. For use as a pre_save signal handler.'''
+ if it is unset.
+ Additionally, this will set the 'last_modified' field on any object to the
+ current UTC time on any save of the object.
+ For use as a pre_save signal handler.'''
obj = kwargs['instance']
+ time = now()
if hasattr(obj, 'created') and not obj.created:
- obj.created = now()
+ obj.created = time
+ if hasattr(obj, 'last_modified'):
+ obj.last_modified = time
def database_vendor(model, mode='read'):