diff --git a/workflow/engine/src/ProcessMaker/Importer/Importer.php b/workflow/engine/src/ProcessMaker/Importer/Importer.php index ef7aecbd0..d5b5ae14c 100755 --- a/workflow/engine/src/ProcessMaker/Importer/Importer.php +++ b/workflow/engine/src/ProcessMaker/Importer/Importer.php @@ -367,7 +367,7 @@ abstract class Importer /** * Check tasks that have cases. - * + * * @return boolean */ public function verifyIfTheProcessHasStartedCases() @@ -500,7 +500,7 @@ abstract class Importer $workflow->createDataFileByArrayFile($workflowFiles); } - public function doImport($generateUid = true) + public function doImport($generateUid = true, $flagDeleteCategory = true) { try { $arrayBpmnTables = $this->importData["tables"]["bpmn"]; @@ -543,8 +543,13 @@ abstract class Importer unset($arrayWorkflowTables["process"]["PRO_CREATE_USER"]); unset($arrayWorkflowTables["process"]["PRO_CREATE_DATE"]); unset($arrayWorkflowTables["process"]["PRO_UPDATE_DATE"]); - unset($arrayWorkflowTables["process"]["PRO_CATEGORY"]); - unset($arrayWorkflowTables["process"]["PRO_CATEGORY_LABEL"]); + + if ($flagDeleteCategory) { + unset( + $arrayWorkflowTables['process']['PRO_CATEGORY'], + $arrayWorkflowTables['process']['PRO_CATEGORY_LABEL'] + ); + } $workflow->update($arrayWorkflowTables["process"]); @@ -742,10 +747,10 @@ abstract class Importer $this->importData["tables"]["workflow"]["process"][0]["PRO_CATEGORY_LABEL"] = null; $this->importData["tables"]["workflow"]["process"][0]["PRO_UPDATE_DATE"] = null; $this->importData["tables"]["workflow"]["process"] = $this->importData["tables"]["workflow"]["process"][0]; - return array("prj_uid" => $this->doImport()); + + return ['prj_uid' => $this->doImport(true, false)]; } catch (\Exception $e) { return $e->getMessage(); } } } - diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project.php b/workflow/engine/src/ProcessMaker/Services/Api/Project.php index e347e6851..6c080741c 100644 --- a/workflow/engine/src/ProcessMaker/Services/Api/Project.php +++ b/workflow/engine/src/ProcessMaker/Services/Api/Project.php @@ -209,16 +209,16 @@ class Project extends Api throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } } - + /** * @url POST /save-as - * - * @param string $prj_uid - * @param string $prj_name - * @param string $prj_description - * @param string $prj_category + * + * @param string $prj_uid {@from body} + * @param string $prj_name {@from body} + * @param string $prj_description {@from body} + * @param string $prj_category {@from body} */ - public function doSaveAs($prj_uid, $prj_name, $prj_description, $prj_category) + public function doSaveAs($prj_uid, $prj_name, $prj_description = null, $prj_category = null) { $importer = new \ProcessMaker\Importer\XmlImporter(); return $importer->saveAs($prj_uid, $prj_name, $prj_description, $prj_category); @@ -404,7 +404,7 @@ class Project extends Api throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage())); } } - + /** * @url PUT /:prj_uid/update-route-order * @@ -420,7 +420,7 @@ class Project extends Api throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()); } } - + /** * @url PUT /:prj_uid/update-route-order-from-project * @@ -437,4 +437,3 @@ class Project extends Api } } } -