diff --git a/scidash/sciunitmodels/api/views.py b/scidash/sciunitmodels/api/views.py index f7d2b938..699bcb96 100644 --- a/scidash/sciunitmodels/api/views.py +++ b/scidash/sciunitmodels/api/views.py @@ -109,8 +109,18 @@ def get(self, request, model_id): ), 404 ) - new_model_instance = self.clone_model(model_instance, request) - serializer = ModelInstanceSerializer(new_model_instance) + if model_instance.model_class.import_path == '': + return response.Response(json.dumps( + { + 'success': False, + 'message': 'Unable to clone, import_path is missing' + } + ), 400 + ) + else: + new_model_instance = self.clone_model(model_instance, request) + serializer = ModelInstanceSerializer(new_model_instance) + return response.Response(serializer.data) def clone_model(self, model_instance_model, request): diff --git a/scidash/sciunittests/api/views.py b/scidash/sciunittests/api/views.py index 52c0664e..81395a5d 100644 --- a/scidash/sciunittests/api/views.py +++ b/scidash/sciunittests/api/views.py @@ -99,8 +99,19 @@ def get(self, request, test_id): } ), 404 ) - new_test_instance = self.clone_test(test_instance, request) - serializer = TestInstanceSerializer(new_test_instance) + + if test_instance.test_class.import_path == '': + return response.Response(json.dumps( + { + 'success': False, + 'message': 'Unable to clone, import_path is missing' + } + ), 400 + ) + else: + new_test_instance = self.clone_test(test_instance, request) + serializer = TestInstanceSerializer(new_test_instance) + return response.Response(serializer.data)