Remove modified_date and owner require from project import
parent
fdb0a327c1
commit
1f2183ecc3
|
@ -23,7 +23,10 @@ class ProjectImporterViewSet(CreateModelMixin, GenericViewSet):
|
|||
def create(self, request, *args, **kwargs):
|
||||
self.check_permissions(request, 'import_project', None)
|
||||
|
||||
data = request.DATA
|
||||
data = request.DATA.copy()
|
||||
if not data['owner']:
|
||||
data['owner'] = request.user
|
||||
|
||||
project_serialized = service.store_project(data)
|
||||
|
||||
if project_serialized:
|
||||
|
@ -41,3 +44,23 @@ class ProjectImporterViewSet(CreateModelMixin, GenericViewSet):
|
|||
return Response(project_serialized.data, status=status.HTTP_201_CREATED, headers=headers)
|
||||
|
||||
return Response(service.get_errors(), status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
@detail_route(methods=['post'])
|
||||
def issue(self, request, *args, **kwargs):
|
||||
self.check_permissions(request, 'import_item', serializer.object)
|
||||
|
||||
@detail_route(methods=['post'])
|
||||
def task(self, request, *args, **kwargs):
|
||||
self.check_permissions(request, 'import_item', serializer.object)
|
||||
|
||||
@detail_route(methods=['post'])
|
||||
def us(self, request, *args, **kwargs):
|
||||
self.check_permissions(request, 'import_item', serializer.object)
|
||||
|
||||
@detail_route(methods=['post'])
|
||||
def wiki_page(self, request, *args, **kwargs):
|
||||
self.check_permissions(request, 'import_item', serializer.object)
|
||||
|
||||
@detail_route(methods=['post'])
|
||||
def wiki_link(self, request, *args, **kwargs):
|
||||
self.check_permissions(request, 'import_item', serializer.object)
|
||||
|
|
|
@ -284,7 +284,7 @@ class WikiLinkExportSerializer(serializers.ModelSerializer):
|
|||
exclude = ('id', 'project')
|
||||
|
||||
class ProjectExportSerializer(serializers.ModelSerializer):
|
||||
owner = UserRelatedField()
|
||||
owner = UserRelatedField(required=False)
|
||||
default_points = serializers.SlugRelatedField(slug_field="name", required=False)
|
||||
default_us_status = serializers.SlugRelatedField(slug_field="name", required=False)
|
||||
default_task_status = serializers.SlugRelatedField(slug_field="name", required=False)
|
||||
|
@ -309,6 +309,7 @@ class ProjectExportSerializer(serializers.ModelSerializer):
|
|||
tags_colors = JsonField(required=False)
|
||||
anon_permissions = PgArrayField(required=False)
|
||||
public_permissions = PgArrayField(required=False)
|
||||
modified_date = serializers.DateTimeField(required=False)
|
||||
|
||||
class Meta:
|
||||
model = projects_models.Project
|
||||
|
|
|
@ -69,7 +69,7 @@ class Attachment(models.Model):
|
|||
)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self._importing:
|
||||
if not self._importing or not self.modified_date:
|
||||
self.modified_date = timezone.now()
|
||||
|
||||
return super().save(*args, **kwargs)
|
||||
|
|
|
@ -73,7 +73,7 @@ class Issue(OCCModelMixin, WatchedModelMixin, BlockedMixin, TaggedMixin, models.
|
|||
)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self._importing:
|
||||
if not self._importing or not self.modified_date:
|
||||
self.modified_date = timezone.now()
|
||||
|
||||
return super().save(*args, **kwargs)
|
||||
|
|
|
@ -69,7 +69,7 @@ class Milestone(WatchedModelMixin, models.Model):
|
|||
return "<Milestone {0}>".format(self.id)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self._importing:
|
||||
if not self._importing or not self.modified_date:
|
||||
self.modified_date = timezone.now()
|
||||
if not self.slug:
|
||||
self.slug = slugify_uniquely(self.name, self.__class__)
|
||||
|
|
|
@ -182,7 +182,7 @@ class Project(ProjectDefaults, TaggedMixin, models.Model):
|
|||
return "<Project {0}>".format(self.id)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self._importing:
|
||||
if not self._importing or not self.modified_date:
|
||||
self.modified_date = timezone.now()
|
||||
|
||||
if not self.slug:
|
||||
|
@ -522,7 +522,7 @@ class ProjectTemplate(models.Model):
|
|||
return "<Project Template {0}>".format(self.slug)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self._importing:
|
||||
if not self._importing or not self.modified_date:
|
||||
self.modified_date = timezone.now()
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ class NotifyPolicy(models.Model):
|
|||
ordering = ["created_at"]
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self._importing:
|
||||
if not self._importing or not self.modified_date:
|
||||
self.modified_at = timezone.now()
|
||||
|
||||
return super().save(*args, **kwargs)
|
||||
|
|
|
@ -74,7 +74,7 @@ class Task(OCCModelMixin, WatchedModelMixin, BlockedMixin, TaggedMixin, models.M
|
|||
)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self._importing:
|
||||
if not self._importing or not self.modified_date:
|
||||
self.modified_date = timezone.now()
|
||||
|
||||
return super().save(*args, **kwargs)
|
||||
|
|
|
@ -109,7 +109,7 @@ class UserStory(OCCModelMixin, WatchedModelMixin, BlockedMixin, TaggedMixin, mod
|
|||
)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self._importing:
|
||||
if not self._importing or not self.modified_date:
|
||||
self.modified_date = timezone.now()
|
||||
|
||||
super().save(*args, **kwargs)
|
||||
|
|
|
@ -55,7 +55,7 @@ class WikiPage(OCCModelMixin, WatchedModelMixin, models.Model):
|
|||
return "project {0} - {1}".format(self.project_id, self.slug)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self._importing:
|
||||
if not self._importing or not self.modified_date:
|
||||
self.modified_date = timezone.now()
|
||||
|
||||
return super().save(*args, **kwargs)
|
||||
|
|
Loading…
Reference in New Issue