From f9396d6ef2efe7d3e0b1d2c5d323ab31e396ae30 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Sat, 30 Mar 2013 14:40:42 +0100 Subject: [PATCH 1/5] Add patch method to corss middleware. --- greenmine/base/middleware.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/greenmine/base/middleware.py b/greenmine/base/middleware.py index 8623f62f..26413c37 100644 --- a/greenmine/base/middleware.py +++ b/greenmine/base/middleware.py @@ -54,7 +54,7 @@ class GreenmineSessionMiddleware(object): COORS_ALLOWED_ORIGINS = getattr(settings, 'COORS_ALLOWED_ORIGINS', '*') COORS_ALLOWED_METHODS = getattr(settings, 'COORS_ALLOWED_METHODS', - ['POST', 'GET', 'OPTIONS', 'PUT', 'DELETE']) + ['POST', 'GET', 'OPTIONS', 'PUT', 'DELETE', 'PATCH']) COORS_ALLOWED_HEADERS = getattr(settings, 'COORS_ALLOWED_HEADERS', ['Content-Type', 'X-Requested-With', 'X-Session-Token', 'Accept-Encoding']) From fff56b52afb40ee0a69c9a84b847f7ccc0836bd6 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Sat, 30 Mar 2013 14:41:01 +0100 Subject: [PATCH 2/5] Update some admin list parameters. --- greenmine/scrum/admin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/greenmine/scrum/admin.py b/greenmine/scrum/admin.py index c7207f51..60f760b0 100644 --- a/greenmine/scrum/admin.py +++ b/greenmine/scrum/admin.py @@ -39,7 +39,7 @@ admin.site.register(models.Milestone, MilestoneAdmin) class UserStoryAdmin(reversion.VersionAdmin): - list_display = ["ref", "milestone", "project", "owner"] + list_display = ["ref", "milestone", "project", "owner", 'status', 'is_closed'] admin.site.register(models.UserStory, UserStoryAdmin) From 2fb959d7417095a4497e00c995339765d25d4b6f Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Sat, 30 Mar 2013 14:41:20 +0100 Subject: [PATCH 3/5] Remmove filter mixin usage from api views. --- greenmine/scrum/api.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/greenmine/scrum/api.py b/greenmine/scrum/api.py index 085333d0..12f01414 100644 --- a/greenmine/scrum/api.py +++ b/greenmine/scrum/api.py @@ -42,7 +42,7 @@ class ProjectDetail(generics.RetrieveUpdateDestroyAPIView): serializer_class = ProjectSerializer -class MilestoneList(SimpleFilterMixin, generics.ListCreateAPIView): +class MilestoneList(generics.ListCreateAPIView): model = Milestone serializer_class = MilestoneSerializer filter_fields = ('project',) @@ -53,7 +53,7 @@ class MilestoneDetail(generics.RetrieveUpdateDestroyAPIView): serializer_class = MilestoneSerializer -class UserStoryList(SimpleFilterMixin, generics.ListCreateAPIView): +class UserStoryList(generics.ListCreateAPIView): model = UserStory serializer_class = UserStorySerializer filter_fields = ('project', 'milestone') From 40266ab8c7c67087b884b47383f512e514047eb5 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Sat, 30 Mar 2013 14:41:46 +0100 Subject: [PATCH 4/5] Add is_closed method for us model. --- greenmine/scrum/models.py | 6 +++++- greenmine/scrum/serializers.py | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/greenmine/scrum/models.py b/greenmine/scrum/models.py index 5769c380..0bf7eb40 100644 --- a/greenmine/scrum/models.py +++ b/greenmine/scrum/models.py @@ -269,8 +269,12 @@ class UserStory(models.Model): def __unicode__(self): return u"{0} ({1})".format(self.subject, self.ref) + @property + def is_closed(self): + return self.status.is_closed + def save(self, *args, **kwargs): - if not self.ref and self.project: + if self.ref is None and self.project: self.ref = ref_uniquely(self.project, "last_us_ref", self.__class__) super(UserStory, self).save(*args, **kwargs) diff --git a/greenmine/scrum/serializers.py b/greenmine/scrum/serializers.py index c43d79ab..9231d909 100644 --- a/greenmine/scrum/serializers.py +++ b/greenmine/scrum/serializers.py @@ -26,6 +26,7 @@ class ProjectSerializer(serializers.ModelSerializer): class UserStorySerializer(serializers.ModelSerializer): tags = PickleField() + is_closed = serializers.BooleanField() class Meta: model = UserStory From aa13e95c286d779ac0d33682b61fe83bcbdcd0c8 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Sat, 30 Mar 2013 14:42:20 +0100 Subject: [PATCH 5/5] Fixing TagField on serializer. --- greenmine/scrum/serializers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/greenmine/scrum/serializers.py b/greenmine/scrum/serializers.py index 9231d909..691de5ab 100644 --- a/greenmine/scrum/serializers.py +++ b/greenmine/scrum/serializers.py @@ -13,7 +13,7 @@ class PickleField(serializers.WritableField): return obj def from_native(self, data): - return json.loads(data) + return data class ProjectSerializer(serializers.ModelSerializer):