@@ -559,5 +559,38 @@ abstract class Importer
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function saveAs($prj_uid, $prj_name, $prj_description, $prj_category)
|
||||
{
|
||||
try {
|
||||
$exporter = new \ProcessMaker\Exporter\XmlExporter($prj_uid);
|
||||
$getProjectName = $exporter->truncateName($exporter->getProjectName(), false);
|
||||
|
||||
$outputDir = PATH_DATA . "sites" . PATH_SEP . SYS_SYS . PATH_SEP . "files" . PATH_SEP . "output" . PATH_SEP;
|
||||
$version = \ProcessMaker\Util\Common::getLastVersion($outputDir . $getProjectName . "-*.pmx") + 1;
|
||||
$outputFilename = $outputDir . sprintf("%s-%s.%s", str_replace(" ", "_", $getProjectName), $version, "pmx");
|
||||
|
||||
$exporter->setMetadata("export_version", $version);
|
||||
$outputFilename = $outputDir . $exporter->saveExport($outputFilename);
|
||||
|
||||
$httpStream = new \ProcessMaker\Util\IO\HttpStream();
|
||||
$fileExtension = pathinfo($outputFilename, PATHINFO_EXTENSION);
|
||||
|
||||
$this->setSourceFile($outputFilename);
|
||||
$this->prepare();
|
||||
$this->importData["tables"]["bpmn"]["project"][0]["prj_name"] = $prj_name;
|
||||
$this->importData["tables"]["bpmn"]["project"][0]["prj_description"] = $prj_description;
|
||||
$this->importData["tables"]["bpmn"]["diagram"][0]["dia_name"] = $prj_name;
|
||||
$this->importData["tables"]["bpmn"]["process"][0]["pro_name"] = $prj_name;
|
||||
$this->importData["tables"]["workflow"]["process"][0]["PRO_TITLE"] = $prj_name;
|
||||
$this->importData["tables"]["workflow"]["process"][0]["PRO_DESCRIPTION"] = $prj_description;
|
||||
$this->importData["tables"]["workflow"]["process"][0]["PRO_CATEGORY"] = $prj_category;
|
||||
$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());
|
||||
} catch (\Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -154,6 +154,20 @@ 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
|
||||
*/
|
||||
public function doSaveAs($prj_uid, $prj_name, $prj_description, $prj_category)
|
||||
{
|
||||
$importer = new \ProcessMaker\Importer\XmlImporter();
|
||||
return $importer->saveAs($prj_uid, $prj_name, $prj_description, $prj_category);
|
||||
}
|
||||
|
||||
/**
|
||||
* @url GET /:prj_uid/process
|
||||
|
||||
@@ -89,7 +89,9 @@
|
||||
<nav>
|
||||
<ul>
|
||||
<li><a class="mafe-close" href="#" ><span class="mafe-button-close" ></span></a></li>
|
||||
<li class="mafe-save-process"><a href="#" class="mafe-button-save"></a></li>
|
||||
<li class="mafe-save-process"><a href="#" class="mafe-button-save"></a>
|
||||
<span class="mafe-button-menu"><img src="/lib/img/caret-down.png"/></span>
|
||||
</li>
|
||||
<li><a href="#" class="mafe-button-export-process"></a></li>
|
||||
<li><a class="mafe-button-export-bpmn-process"></a></li>
|
||||
<li><span class="mafe-zoom-options"></span></li>
|
||||
|
||||
Reference in New Issue
Block a user