From 55ef92901f11ce5497eb55df3064a5a74821a1e7 Mon Sep 17 00:00:00 2001 From: Dirk Wallenstein Date: Sun, 29 Apr 2012 03:11:48 +0000 Subject: [PATCH] Use an explicit initial default patch state 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 Signed-off-by: Jeremy Kerr --- apps/patchwork/bin/parsemail.py | 6 +++--- apps/patchwork/models.py | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/apps/patchwork/bin/parsemail.py b/apps/patchwork/bin/parsemail.py index 52c85fe..b6eb97a 100755 --- a/apps/patchwork/bin/parsemail.py +++ b/apps/patchwork/bin/parsemail.py @@ -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 """ diff --git a/apps/patchwork/models.py b/apps/patchwork/models.py index bb8d8e7..67c69ff 100644 --- a/apps/patchwork/models.py +++ b/apps/patchwork/models.py @@ -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) -- 2.39.2