From 087aca5cceb2dc8ac4625eb61f95b57b704bd30f Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 2 Feb 2012 18:27:46 -0600 Subject: FlagRequest model behavior tweaks * Add a default field to be used for latest() calls. * Remove signal-based set of created date; instead, set it explicitly so all of our packages and flag request have the exact same date and time attached. Signed-off-by: Dan McGee --- packages/models.py | 5 ++++- packages/views/flag.py | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/models.py b/packages/models.py index f63d6db..820e61b 100644 --- a/packages/models.py +++ b/packages/models.py @@ -184,6 +184,9 @@ class FlagRequest(models.Model): is_legitimate = models.BooleanField(default=True, help_text="Is this actually an out-of-date flag request?") + class Meta: + get_latest_by = 'created' + def who(self): if self.user: return self.user.get_full_name() @@ -258,7 +261,7 @@ class Replacement(models.Model): # hook up some signals -for sender in (PackageRelation, SignoffSpecification, Signoff, FlagRequest): +for sender in (PackageRelation, SignoffSpecification, Signoff): pre_save.connect(set_created_field, sender=sender, dispatch_uid="packages.models") diff --git a/packages/views/flag.py b/packages/views/flag.py index 4ee37f6..8879695 100644 --- a/packages/views/flag.py +++ b/packages/views/flag.py @@ -61,9 +61,11 @@ def flag(request, name, repo, arch): @transaction.commit_on_success def perform_updates(): - pkgs.update(flag_date=datetime.utcnow()) + now = datetime.utcnow() + pkgs.update(flag_date=now) # store our flag request - flag_request = FlagRequest(user_email=email, message=message, + flag_request = FlagRequest(created=now, + user_email=email, message=message, ip_address=ip_addr, pkgbase=pkg.pkgbase, version=version, repo=pkg.repo, num_packages=len(flagged_pkgs)) -- cgit v1.2.3-24-g4f1b