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):
|
def create(self, request, *args, **kwargs):
|
||||||
self.check_permissions(request, 'import_project', None)
|
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)
|
project_serialized = service.store_project(data)
|
||||||
|
|
||||||
if project_serialized:
|
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(project_serialized.data, status=status.HTTP_201_CREATED, headers=headers)
|
||||||
|
|
||||||
return Response(service.get_errors(), status=status.HTTP_400_BAD_REQUEST)
|
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')
|
exclude = ('id', 'project')
|
||||||
|
|
||||||
class ProjectExportSerializer(serializers.ModelSerializer):
|
class ProjectExportSerializer(serializers.ModelSerializer):
|
||||||
owner = UserRelatedField()
|
owner = UserRelatedField(required=False)
|
||||||
default_points = serializers.SlugRelatedField(slug_field="name", required=False)
|
default_points = serializers.SlugRelatedField(slug_field="name", required=False)
|
||||||
default_us_status = 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)
|
default_task_status = serializers.SlugRelatedField(slug_field="name", required=False)
|
||||||
|
@ -309,6 +309,7 @@ class ProjectExportSerializer(serializers.ModelSerializer):
|
||||||
tags_colors = JsonField(required=False)
|
tags_colors = JsonField(required=False)
|
||||||
anon_permissions = PgArrayField(required=False)
|
anon_permissions = PgArrayField(required=False)
|
||||||
public_permissions = PgArrayField(required=False)
|
public_permissions = PgArrayField(required=False)
|
||||||
|
modified_date = serializers.DateTimeField(required=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = projects_models.Project
|
model = projects_models.Project
|
||||||
|
|
|
@ -69,7 +69,7 @@ class Attachment(models.Model):
|
||||||
)
|
)
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self._importing:
|
if not self._importing or not self.modified_date:
|
||||||
self.modified_date = timezone.now()
|
self.modified_date = timezone.now()
|
||||||
|
|
||||||
return super().save(*args, **kwargs)
|
return super().save(*args, **kwargs)
|
||||||
|
|
|
@ -73,7 +73,7 @@ class Issue(OCCModelMixin, WatchedModelMixin, BlockedMixin, TaggedMixin, models.
|
||||||
)
|
)
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self._importing:
|
if not self._importing or not self.modified_date:
|
||||||
self.modified_date = timezone.now()
|
self.modified_date = timezone.now()
|
||||||
|
|
||||||
return super().save(*args, **kwargs)
|
return super().save(*args, **kwargs)
|
||||||
|
|
|
@ -69,7 +69,7 @@ class Milestone(WatchedModelMixin, models.Model):
|
||||||
return "<Milestone {0}>".format(self.id)
|
return "<Milestone {0}>".format(self.id)
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self._importing:
|
if not self._importing or not self.modified_date:
|
||||||
self.modified_date = timezone.now()
|
self.modified_date = timezone.now()
|
||||||
if not self.slug:
|
if not self.slug:
|
||||||
self.slug = slugify_uniquely(self.name, self.__class__)
|
self.slug = slugify_uniquely(self.name, self.__class__)
|
||||||
|
|
|
@ -182,7 +182,7 @@ class Project(ProjectDefaults, TaggedMixin, models.Model):
|
||||||
return "<Project {0}>".format(self.id)
|
return "<Project {0}>".format(self.id)
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self._importing:
|
if not self._importing or not self.modified_date:
|
||||||
self.modified_date = timezone.now()
|
self.modified_date = timezone.now()
|
||||||
|
|
||||||
if not self.slug:
|
if not self.slug:
|
||||||
|
@ -522,7 +522,7 @@ class ProjectTemplate(models.Model):
|
||||||
return "<Project Template {0}>".format(self.slug)
|
return "<Project Template {0}>".format(self.slug)
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self._importing:
|
if not self._importing or not self.modified_date:
|
||||||
self.modified_date = timezone.now()
|
self.modified_date = timezone.now()
|
||||||
super().save(*args, **kwargs)
|
super().save(*args, **kwargs)
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ class NotifyPolicy(models.Model):
|
||||||
ordering = ["created_at"]
|
ordering = ["created_at"]
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self._importing:
|
if not self._importing or not self.modified_date:
|
||||||
self.modified_at = timezone.now()
|
self.modified_at = timezone.now()
|
||||||
|
|
||||||
return super().save(*args, **kwargs)
|
return super().save(*args, **kwargs)
|
||||||
|
|
|
@ -74,7 +74,7 @@ class Task(OCCModelMixin, WatchedModelMixin, BlockedMixin, TaggedMixin, models.M
|
||||||
)
|
)
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self._importing:
|
if not self._importing or not self.modified_date:
|
||||||
self.modified_date = timezone.now()
|
self.modified_date = timezone.now()
|
||||||
|
|
||||||
return super().save(*args, **kwargs)
|
return super().save(*args, **kwargs)
|
||||||
|
|
|
@ -109,7 +109,7 @@ class UserStory(OCCModelMixin, WatchedModelMixin, BlockedMixin, TaggedMixin, mod
|
||||||
)
|
)
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self._importing:
|
if not self._importing or not self.modified_date:
|
||||||
self.modified_date = timezone.now()
|
self.modified_date = timezone.now()
|
||||||
|
|
||||||
super().save(*args, **kwargs)
|
super().save(*args, **kwargs)
|
||||||
|
|
|
@ -55,7 +55,7 @@ class WikiPage(OCCModelMixin, WatchedModelMixin, models.Model):
|
||||||
return "project {0} - {1}".format(self.project_id, self.slug)
|
return "project {0} - {1}".format(self.project_id, self.slug)
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self._importing:
|
if not self._importing or not self.modified_date:
|
||||||
self.modified_date = timezone.now()
|
self.modified_date = timezone.now()
|
||||||
|
|
||||||
return super().save(*args, **kwargs)
|
return super().save(*args, **kwargs)
|
||||||
|
|
Loading…
Reference in New Issue