]> git.ozlabs.org Git - patchwork/commitdiff
Use an explicit initial default patch state
authorDirk Wallenstein <halsmit@t-online.de>
Sun, 29 Apr 2012 03:11:48 +0000 (03:11 +0000)
committerJeremy Kerr <jk@ozlabs.org>
Mon, 30 Apr 2012 06:22:21 +0000 (14:22 +0800)
This will make editing states through the admin UI less error-prone, and
will facilitate parsing patches when relying on a default state, as well as
testing.

Use the explicit default state when parsing mails.

Signed-off-by: Dirk Wallenstein <halsmit@t-online.de>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
apps/patchwork/bin/parsemail.py
apps/patchwork/models.py

index 52c85fe362bbe27fea1542061f899060b85c9623..b6eb97ad827a8f499e763dc99c297e2c0b6e4a8f 100755 (executable)
@@ -34,10 +34,10 @@ except ImportError:
     from email.Utils import parsedate_tz, mktime_tz
 
 from patchwork.parser import parse_patch
-from patchwork.models import Patch, Project, Person, Comment, State
+from patchwork.models import Patch, Project, Person, Comment, State, \
+        get_default_initial_patch_state
 from django.contrib.auth.models import User
 
-default_patch_state = 'New'
 list_id_headers = ['List-ID', 'X-Mailing-List', 'X-list']
 
 whitespace_re = re.compile('\s+')
@@ -349,7 +349,7 @@ def get_state(state_name):
             return State.objects.get(name__iexact=state_name)
         except State.DoesNotExist:
             pass
-    return State.objects.get(name=default_patch_state)
+    return get_default_initial_patch_state()
 
 def get_delegate(delegate_email):
     """ Return the delegate with the given email or None """
index bb8d8e77c0529a955190abf03d3dd4ac4c21736a..67c69ffc3b30587a953a4e4d8f65692b0bd9f187 100644 (file)
@@ -191,6 +191,9 @@ class PatchMbox(MIMENonMultipart):
         self.set_payload(_text.encode(self.patch_charset))
         encode_7or8bit(self)
 
+def get_default_initial_patch_state():
+    return State.objects.get(ordering=0)
+
 class Patch(models.Model):
     project = models.ForeignKey(Project)
     msgid = models.CharField(max_length=255)
@@ -198,7 +201,7 @@ class Patch(models.Model):
     date = models.DateTimeField(default=datetime.datetime.now)
     submitter = models.ForeignKey(Person)
     delegate = models.ForeignKey(User, blank = True, null = True)
-    state = models.ForeignKey(State)
+    state = models.ForeignKey(State, default=get_default_initial_patch_state)
     archived = models.BooleanField(default = False)
     headers = models.TextField(blank = True)
     content = models.TextField(null = True, blank = True)