Move set_created_field() to shared utils class
Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
33b9bf44aa
commit
5e85c5ac9e
@ -2,6 +2,9 @@
|
||||
import cPickle as pickle
|
||||
except ImportError:
|
||||
import pickle
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from django.core.cache import cache
|
||||
from django.utils.hashcompat import md5_constructor
|
||||
|
||||
@ -81,4 +84,11 @@ def retrieve_latest(sender):
|
||||
pass
|
||||
return None
|
||||
|
||||
def set_created_field(sender, **kwargs):
|
||||
'''This will set the 'created' field on any object to datetime.utcnow() if
|
||||
it is unset. For use as a pre_save signal handler.'''
|
||||
obj = kwargs['instance']
|
||||
if hasattr(obj, 'created') and not obj.created:
|
||||
obj.created = datetime.utcnow()
|
||||
|
||||
# vim: set ts=4 sw=4 et:
|
||||
|
@ -1,9 +1,9 @@
|
||||
from datetime import datetime
|
||||
|
||||
from django.db import models
|
||||
from django.db.models.signals import pre_save, post_save
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from main.utils import set_created_field
|
||||
|
||||
class PackageRelation(models.Model):
|
||||
'''
|
||||
Represents maintainership (or interest) in a package by a given developer.
|
||||
@ -112,12 +112,6 @@ def remove_inactive_maintainers(sender, instance, created, **kwargs):
|
||||
type=PackageRelation.MAINTAINER)
|
||||
maint_relations.delete()
|
||||
|
||||
def set_created_field(sender, **kwargs):
|
||||
# We use this same callback for both Isos and Tests
|
||||
obj = kwargs['instance']
|
||||
if not obj.created:
|
||||
obj.created = datetime.utcnow()
|
||||
|
||||
post_save.connect(remove_inactive_maintainers, sender=User,
|
||||
dispatch_uid="packages.models")
|
||||
pre_save.connect(set_created_field, sender=PackageRelation,
|
||||
|
@ -1,6 +1,7 @@
|
||||
from datetime import datetime
|
||||
|
||||
from django.db import models
|
||||
from django.db.models.signals import pre_save
|
||||
|
||||
from main.utils import set_created_field
|
||||
|
||||
class IsoOption(models.Model):
|
||||
name = models.CharField(max_length=200)
|
||||
@ -104,14 +105,6 @@ class Test(models.Model):
|
||||
success = models.BooleanField()
|
||||
comments = models.TextField(null=True, blank=True)
|
||||
|
||||
def set_created_field(sender, **kwargs):
|
||||
# We use this same callback for both Isos and Tests
|
||||
obj = kwargs['instance']
|
||||
if not obj.created:
|
||||
obj.created = datetime.utcnow()
|
||||
|
||||
from django.db.models.signals import pre_save
|
||||
|
||||
pre_save.connect(set_created_field, sender=Iso,
|
||||
dispatch_uid="releng.models")
|
||||
pre_save.connect(set_created_field, sender=Test,
|
||||
|
Loading…
Reference in New Issue
Block a user