浏览代码

fixed a bug in project creation: the copied model was not set as the model of the project

Dimitri Korsch 3 年之前
父节点
当前提交
430efdf528
共有 2 个文件被更改,包括 4 次插入2 次删除
  1. 2 2
      pycs/frontend/endpoints/projects/CreateProject.py
  2. 2 0
      tests/client/project_tests.py

+ 2 - 2
pycs/frontend/endpoints/projects/CreateProject.py

@@ -86,14 +86,14 @@ class CreateProject(View):
                 name=f'{model.name} ({name})',
                 name=f'{model.name} ({name})',
                 root_folder=str(model_folder),
                 root_folder=str(model_folder),
                 commit=False)
                 commit=False)
+            model.flush()
 
 
             if not is_new:
             if not is_new:
                 abort(400, # pragma: no cover
                 abort(400, # pragma: no cover
                     f"Could not copy model! Model in \"{model_folder}\" already exists!")
                     f"Could not copy model! Model in \"{model_folder}\" already exists!")
-
             project = Project.new(name=name,
             project = Project.new(name=name,
                                   description=description,
                                   description=description,
-                                  model_id=model_id,
+                                  model_id=model.id,
                                   label_provider_id=label_provider_id,
                                   label_provider_id=label_provider_id,
                                   root_folder=str(project_folder),
                                   root_folder=str(project_folder),
                                   external_data=external_data,
                                   external_data=external_data,

+ 2 - 0
tests/client/project_tests.py

@@ -85,6 +85,8 @@ class ProjectCreationTests(_BaseProjectTests):
 
 
         self.assertIsNotNone(project)
         self.assertIsNotNone(project)
         self.assertIsNotNone(project.model)
         self.assertIsNotNone(project.model)
+        self.assertNotEqual(project.model.id, self.model.id,
+            "The model shoud be copied")
         self.assertIsNone(project.label_provider)
         self.assertIsNone(project.label_provider)