From 164e45b4b074c589acf07facbb6eb0902878dad7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Thu, 3 Oct 2013 17:46:55 +0200 Subject: [PATCH] Update owner only on created --- greenmine/projects/issues/api.py | 8 +++++--- greenmine/projects/milestones/api.py | 3 ++- greenmine/projects/questions/api.py | 4 ++-- greenmine/projects/tasks/api.py | 8 +++++--- greenmine/projects/userstories/api.py | 3 ++- 5 files changed, 16 insertions(+), 10 deletions(-) diff --git a/greenmine/projects/issues/api.py b/greenmine/projects/issues/api.py index 528b2d7f..406ad3e2 100644 --- a/greenmine/projects/issues/api.py +++ b/greenmine/projects/issues/api.py @@ -63,8 +63,9 @@ class IssuesAttachmentViewSet(ModelCrudViewSet): def pre_save(self, obj): super(IssuesAttachmentViewSet, self).pre_save(obj) - obj.content_type = ContentType.objects.get_for_model(Issue) - obj.owner = self.request.user + if not obj.id: + obj.content_type = ContentType.objects.get_for_model(Issue) + obj.owner = self.request.user class IssueViewSet(NotificationSenderMixin, ModelCrudViewSet): @@ -79,7 +80,8 @@ class IssueViewSet(NotificationSenderMixin, ModelCrudViewSet): def pre_save(self, obj): super(IssueViewSet, self).pre_save(obj) - obj.owner = self.request.user + if not obj.id: + obj.owner = self.request.user def post_save(self, obj, created=False): with reversion.create_revision(): diff --git a/greenmine/projects/milestones/api.py b/greenmine/projects/milestones/api.py index 5adadc07..06087834 100644 --- a/greenmine/projects/milestones/api.py +++ b/greenmine/projects/milestones/api.py @@ -23,6 +23,7 @@ class MilestoneViewSet(NotificationSenderMixin, ModelCrudViewSet): def pre_save(self, obj): super(MilestoneViewSet, self).pre_save(obj) - obj.owner = self.request.user + if not obj.id: + obj.owner = self.request.user diff --git a/greenmine/projects/questions/api.py b/greenmine/projects/questions/api.py index 63ba0465..d8fd1b8f 100644 --- a/greenmine/projects/questions/api.py +++ b/greenmine/projects/questions/api.py @@ -19,9 +19,9 @@ class QuestionList(generics.ListCreateAPIView): def get_queryset(self): return super(QuestionList, self).filter(project__members=self.request.user) - def pre_save(self, obj): - obj.owner = self.request.user + if not obj.id: + obj.owner = self.request.user class QuestionDetail(generics.RetrieveUpdateDestroyAPIView): diff --git a/greenmine/projects/tasks/api.py b/greenmine/projects/tasks/api.py index 21677463..a10e61a1 100644 --- a/greenmine/projects/tasks/api.py +++ b/greenmine/projects/tasks/api.py @@ -39,8 +39,9 @@ class TasksAttachmentViewSet(ModelCrudViewSet): def pre_save(self, obj): super(TasksAttachmentViewSet, self).pre_save(obj) - obj.content_type = ContentType.objects.get_for_model(Task) - obj.owner = self.request.user + if not obj.id: + obj.content_type = ContentType.objects.get_for_model(Task) + obj.owner = self.request.user class TaskViewSet(NotificationSenderMixin, ModelCrudViewSet): @@ -55,8 +56,9 @@ class TaskViewSet(NotificationSenderMixin, ModelCrudViewSet): def pre_save(self, obj): super(TaskViewSet, self).pre_save(obj) - obj.owner = self.request.user obj.milestone = obj.user_story.milestone + if not obj.id: + obj.owner = self.request.user def post_save(self, obj, created=False): with reversion.create_revision(): diff --git a/greenmine/projects/userstories/api.py b/greenmine/projects/userstories/api.py index e43704b8..7ca332c8 100644 --- a/greenmine/projects/userstories/api.py +++ b/greenmine/projects/userstories/api.py @@ -39,7 +39,8 @@ class UserStoryViewSet(NotificationSenderMixin, ModelCrudViewSet): def pre_save(self, obj): super(UserStoryViewSet, self).pre_save(obj) - obj.owner = self.request.user + if not obj.id: + obj.owner = self.request.user def post_save(self, obj, created=False): with reversion.create_revision():