Merged in victorsl/processmaker (pull request #2217)

PM-00000 "Fix to import process" SOLVED
This commit is contained in:
Julio Cesar Laura Avendaño
2015-05-19 10:18:54 -04:00
3 changed files with 58 additions and 21 deletions

View File

@@ -969,6 +969,18 @@ class Processes
} }
} }
if (isset($oData->taskExtraProperties)) {
foreach ($oData->taskExtraProperties as $key => $value) {
$record = $value;
if (isset($map[$record["OBJ_UID"]])) {
$newUid = $map[$record["OBJ_UID"]];
$oData->taskExtraProperties[$key]["OBJ_UID"] = $newUid;
}
}
}
if (isset($oData->webEntry)) { if (isset($oData->webEntry)) {
foreach ($oData->webEntry as $key => $value) { foreach ($oData->webEntry as $key => $value) {
$record = $value; $record = $value;

View File

@@ -391,12 +391,23 @@ class Tasks
$oCriteria = new Criteria('workflow'); $oCriteria = new Criteria('workflow');
$oCriteria->add(ObjectPermissionPeer::OP_TASK_SOURCE, $sTaskUID); $oCriteria->add(ObjectPermissionPeer::OP_TASK_SOURCE, $sTaskUID);
ObjectPermissionPeer::doDelete($oCriteria); ObjectPermissionPeer::doDelete($oCriteria);
//Delete Cases Schedulers
$criteria = new Criteria("workflow");
$criteria->add(CaseSchedulerPeer::TAS_UID, $sTaskUID, Criteria::EQUAL);
$result = CaseSchedulerPeer::doDelete($criteria);
//Delete Configuration
$criteria = new Criteria("workflow");
$criteria->add(ConfigurationPeer::OBJ_UID, $sTaskUID, Criteria::EQUAL);
$result = ConfigurationPeer::doDelete($criteria);
//Delete task //Delete task
$oTask->remove($sTaskUID); $oTask->remove($sTaskUID);
//Delete cases schedulers added by krlos
$oCriteria = new Criteria('workflow');
$oCriteria->add(CaseSchedulerPeer::TAS_UID, $sTaskUID);
CaseSchedulerPeer::doDelete($oCriteria);
} catch (Exception $oError) { } catch (Exception $oError) {
throw ($oError); throw ($oError);
} }

View File

@@ -1,28 +1,42 @@
<?php <?php
class Configuration extends BaseConfiguration class Configuration extends BaseConfiguration
{ {
public function create($aData) public function create(array $arrayData)
{ {
$con = Propel::getConnection(ConfigurationPeer::DATABASE_NAME); $cnn = Propel::getConnection(ConfigurationPeer::DATABASE_NAME);
try { try {
$con->begin(); $configuration = new Configuration();
$this->setCfgUid($aData['CFG_UID']);
$this->setObjUid($aData['OBJ_UID']); $configuration->setCfgUid($arrayData["CFG_UID"]);
$this->setCfgValue(isset($aData['CFG_VALUE'])?$aData['CFG_VALUE']:''); $configuration->setObjUid($arrayData["OBJ_UID"]);
$this->setProUid($aData['PRO_UID']); $configuration->setCfgValue((isset($arrayData["CFG_VALUE"]))? $arrayData["CFG_VALUE"] : "");
$this->setUsrUid($aData['USR_UID']); $configuration->setProUid($arrayData["PRO_UID"]);
$this->setAppUid($aData['APP_UID']); $configuration->setUsrUid($arrayData["USR_UID"]);
if ($this->validate()) { $configuration->setAppUid($arrayData["APP_UID"]);
$result=$this->save();
$con->commit(); if ($configuration->validate()) {
$cnn->begin();
$result = $configuration->save();
$cnn->commit();
//Return
return $result; return $result;
} else { } else {
$con->rollback(); $msg = "";
throw(new Exception("Failed Validation in class ".get_class($this)."."));
foreach ($configuration->getValidationFailures() as $validationFailure) {
$msg = $msg . (($msg != "")? "\n" : "") . $validationFailure->getMessage();
}
throw new Exception(G::LoadTranslation("ID_RECORD_CANNOT_BE_CREATED") . (($msg != "")? "\n" . $msg : ""));
} }
} catch (Exception $e) { } catch (Exception $e) {
$con->rollback(); $cnn->rollback();
throw($e);
throw $e;
} }
} }