kopia lustrzana https://github.com/OpenDroneMap/WebODM
Assign duplicate projects to user that duplicated them
rodzic
7125876d45
commit
2ceb6159d9
|
@ -118,7 +118,7 @@ class ProjectViewSet(viewsets.ModelViewSet):
|
|||
"""
|
||||
project = get_and_check_project(request, pk, ('change_project', ))
|
||||
|
||||
new_project = project.duplicate()
|
||||
new_project = project.duplicate(new_owner=request.user)
|
||||
if new_project:
|
||||
return Response({'success': True, 'project': ProjectSerializer(new_project).data}, status=status.HTTP_200_OK)
|
||||
else:
|
||||
|
|
|
@ -54,13 +54,15 @@ class Project(models.Model):
|
|||
).filter(Q(orthophoto_extent__isnull=False) | Q(dsm_extent__isnull=False) | Q(dtm_extent__isnull=False))
|
||||
.only('id', 'project_id')]
|
||||
|
||||
def duplicate(self):
|
||||
def duplicate(self, new_owner=None):
|
||||
try:
|
||||
with transaction.atomic():
|
||||
project = Project.objects.get(pk=self.pk)
|
||||
project.pk = None
|
||||
project.name = gettext('Copy of %(task)s') % {'task': self.name}
|
||||
project.created_at = timezone.now()
|
||||
if new_owner is not None:
|
||||
project.owner = new_owner
|
||||
project.save()
|
||||
project.refresh_from_db()
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue