[extensions-web] extensions: Don't recalculate version on save
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [extensions-web] extensions: Don't recalculate version on save
- Date: Sun, 4 Mar 2012 18:29:56 +0000 (UTC)
commit b6f8ba769a5fbc042ac7e4c8e0837ca175e34f51
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Sun Mar 4 13:21:21 2012 -0500
extensions: Don't recalculate version on save
sweettooth/extensions/models.py | 15 ++++++++-------
sweettooth/extensions/tests.py | 6 ++++++
2 files changed, 14 insertions(+), 7 deletions(-)
---
diff --git a/sweettooth/extensions/models.py b/sweettooth/extensions/models.py
index ad57ba9..58bd53c 100644
--- a/sweettooth/extensions/models.py
+++ b/sweettooth/extensions/models.py
@@ -357,13 +357,14 @@ class ExtensionVersion(models.Model):
def save(self, *args, **kwargs):
assert self.extension is not None
- # Get version number
- try:
- # Don't use extension.latest_version, as that will
- # give us the latest visible version.
- self.version = self.extension.versions.latest().version + 1
- except self.DoesNotExist:
- self.version = 1
+ if self.version == 0:
+ # Get version number
+ try:
+ # Don't use extension.latest_version, as that will
+ # give us the latest visible version.
+ self.version = self.extension.versions.latest().version + 1
+ except self.DoesNotExist:
+ self.version = 1
super(ExtensionVersion, self).save(*args, **kwargs)
diff --git a/sweettooth/extensions/tests.py b/sweettooth/extensions/tests.py
index 7b3d74f..3ba69a5 100644
--- a/sweettooth/extensions/tests.py
+++ b/sweettooth/extensions/tests.py
@@ -242,6 +242,12 @@ class ExtensionVersionTest(BasicUserTestCase, TestCase):
extension = models.Extension.objects.create_from_metadata(metadata, creator=self.user)
version = models.ExtensionVersion.objects.create(extension=extension,
status=models.STATUS_ACTIVE)
+ self.assertEquals(version.version, 1)
+ # Make sure that saving again doesn't change the version.
+ version.save()
+ self.assertEquals(version.version, 1)
+ version.save()
+ self.assertEquals(version.version, 1)
self.assertEquals(version.version, 1)
self.assertEquals(extension.latest_version, version)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]