ProcessMaker-BE "BPMN Import (endpoint)"

- Se a implementado el siguiente Endpoint:
    POST /api/1.0/{workspace}/project/import
- Se ha completado la eliminacion de datos de la tabla WEB_ENTRY cuando
  se elimina el projecto desde el DESIGNER
- Al importar un projecto con las opciones "OVERWRITE y DISABLE" se encontraron
  problemas, los mismos fueron solucionados
This commit is contained in:
Victor Saisa Lopez
2014-05-05 12:19:20 -04:00
parent d26b534e87
commit c8be0f3068
4 changed files with 162 additions and 8 deletions

View File

@@ -83,11 +83,26 @@ class BpmnWorkflow extends Project\Bpmn
public function update($data)
{
parent::update($data);
$this->wp->update(array(
"PRO_UID" => $data["PRJ_UID"],
"PRO_TITLE" => $data["PRJ_NAME"],
"PRO_DESCRIPTION" => $data["PRJ_DESCRIPTION"],
));
$arrayData = array();
if (isset($data["PRJ_UID"])) {
$arrayData["PRO_UID"] = $data["PRJ_UID"];
}
if (isset($data["PRJ_NAME"])) {
$arrayData["PRO_TITLE"] = $data["PRJ_NAME"];
}
if (isset($data["PRJ_DESCRIPTION"])) {
$arrayData["PRO_DESCRIPTION"] = $data["PRJ_DESCRIPTION"];
}
if (isset($data["PRJ_STATUS"])) {
$arrayData["PRO_STATUS"] = $data["PRJ_STATUS"];
}
$this->wp->update($arrayData);
}
public static function getList($start = null, $limit = null, $filter = "", $changeCaseTo = CASE_UPPER)

View File

@@ -16,7 +16,7 @@ use ProcessMaker\Util;
/**
* Class Workflow
*
*
* @package ProcessMaker\Project
* @author Erik Amaru Ortiz <aortiz.erik@gmail.com, erik@colosa.com>
*/
@@ -451,7 +451,10 @@ class Workflow extends Handler
RoutePeer::ROU_NEXT_TASK => $toTasUid
));
$route->delete();
if ($route != null) {
$route->delete();
}
self::log("Remove Route Success!");
} catch (\Exception $e) {
self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
@@ -754,6 +757,23 @@ class Workflow extends Handler
$oCriteria = new Criteria('workflow');
$oCriteria->add(\CaseTrackerObjectPeer::PRO_UID, $sProcessUID);
\ProcessUserPeer::doDelete($oCriteria);
//Delete Web Entries
$webEntry = new \ProcessMaker\BusinessModel\WebEntry();
$criteria = new \Criteria("workflow");
$criteria->addSelectColumn(\WebEntryPeer::WE_UID);
$criteria->add(\WebEntryPeer::PRO_UID, $sProcessUID, \Criteria::EQUAL);
$rsCriteria = \WebEntryPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
while ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
$webEntry->delete($row["WE_UID"]);
}
//Delete the process
try {
$oProcess->remove($sProcessUID);
@@ -887,4 +907,5 @@ class Workflow extends Handler
}
}
}
}