Merge remote branch 'upstream/3.0.1-GA' into 3.0.1-GA
This commit is contained in:
@@ -596,7 +596,7 @@ abstract class PreparedStatementCommon {
|
||||
if ( is_object ( $value ) ) {
|
||||
$this->boundInVars[$paramIndex] = "'" . $this->escape($value->__toString()) . "'";
|
||||
} else {
|
||||
$this->boundInVars[$paramIndex] = "'" . $this->escape((string)$value) . "'";
|
||||
@$this->boundInVars[$paramIndex] = "'" . $this->escape((string)$value) . "'";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,10 +87,16 @@ class ConsolidatedCases
|
||||
$dataDyna = $pmDyna->getDynaform();
|
||||
$json = G::json_decode($dataDyna["DYN_CONTENT"]);
|
||||
$fieldsDyna = $json->items[0]->items;
|
||||
foreach ($fieldsDyna as $value) {
|
||||
$_POST['form']['FIELDS'][] = $value[0]->name . '-' . $value[0]->type;
|
||||
foreach ($fieldsDyna as $value) {
|
||||
foreach ($value as $val) {
|
||||
if(isset($val->type)){
|
||||
if ($val->type == 'text' || $val->type == 'textarea' || $val->type == 'dropdown' || $val->type == 'checkbox' || $val->type == 'datetime' || $val->type == 'yesno' || $val->type == 'date' || $val->type == 'hidden' || $val->type == 'currency' || $val->type == 'percentage' || $val->type == 'link'){
|
||||
$_POST['form']['FIELDS'][] = $val->name . '-' . $val->type;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$aFieldsClases = array();
|
||||
$i = 1;
|
||||
$aFieldsClases[$i]['FLD_NAME'] = 'APP_UID';
|
||||
@@ -176,16 +182,21 @@ class ConsolidatedCases
|
||||
$oCaseConsolidated->setTasUid($sTasUid);
|
||||
}
|
||||
|
||||
$criteria = new Criteria();
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::TAS_UID);
|
||||
$criteria->add(CaseConsolidatedCorePeer::TAS_UID, $sTasUid);
|
||||
$rsCriteria = CaseConsolidatedCorePeer::doSelectRS($criteria);
|
||||
if ($rsCriteria->next()) {
|
||||
$criteria = new Criteria();
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::TAS_UID);
|
||||
$criteria->add(CaseConsolidatedCorePeer::TAS_UID, $sTasUid);
|
||||
$rsCriteria = CaseConsolidatedCorePeer::doSelectRS($criteria);
|
||||
if ($rsCriteria->next()) {
|
||||
$row = $rsCriteria->getRow();
|
||||
$oCaseConsolidated->delete();
|
||||
$oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($sTasUid);
|
||||
$oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($sTasUid);
|
||||
}
|
||||
|
||||
if (!(is_object($oCaseConsolidated)) || get_class($oCaseConsolidated) != 'CaseConsolidatedCore') {
|
||||
$oCaseConsolidated = new CaseConsolidatedCore();
|
||||
$oCaseConsolidated->setTasUid($sTasUid);
|
||||
}
|
||||
|
||||
$oCaseConsolidated->setConStatus('ACTIVE');
|
||||
$oCaseConsolidated->setDynUid($sDynUid);
|
||||
$oCaseConsolidated->setRepTabUid($sRepTabUid);
|
||||
|
||||
@@ -1656,7 +1656,7 @@ class pmTablesProxy extends HttpProxyController
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDataset->next();
|
||||
|
||||
$excludeFieldsList = array ('title','subtitle','link','file','button','reset','submit','listbox','checkgroup','grid','javascript', ''
|
||||
$excludeFieldsList = array ('title','subtitle','link','file','button','reset','submit','listbox','checkgroup','grid','javascript','location','scannerCode','array'
|
||||
);
|
||||
|
||||
$labelFieldsTypeList = array ('dropdown','radiogroup');
|
||||
@@ -1709,32 +1709,27 @@ class pmTablesProxy extends HttpProxyController
|
||||
$oDataset->next();
|
||||
$row = $oDataset->getRow();
|
||||
if (isset($row["PRJ_UID"])) {
|
||||
$sProcessUID = $row["PRJ_UID"];
|
||||
$dynaformNotAllowedVariables = $this->getDynaformVariables($sProcessUID,$excludeFieldsList,false);
|
||||
$oCriteria = new Criteria('workflow');
|
||||
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_UID);
|
||||
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_NAME);
|
||||
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_FIELD_TYPE);
|
||||
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_SQL);
|
||||
$oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_ACCEPTED_VALUES);
|
||||
$oCriteria->add(ProcessVariablesPeer::PRJ_UID, $row["PRJ_UID"]);
|
||||
$oDataset = ProcessVariablesPeer::doSelectRS($oCriteria);
|
||||
$oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||
$index = 0;
|
||||
while ($oDataset->next()) {
|
||||
$row = $oDataset->getRow();
|
||||
$fieldType = isset($row["VAR_FIELD_TYPE"]) ? $row["VAR_FIELD_TYPE"]: '';
|
||||
$varSql = isset($row["VAR_SQL"]) ? $row["VAR_SQL"] : '';
|
||||
$varProcessVariable = isset($row["VAR_ACCEPTED_VALUES"]) ? $row["VAR_ACCEPTED_VALUES"] : '[]';
|
||||
if(! in_array( $fieldType, $excludeFieldsList )){
|
||||
if(strlen($varSql) == 0 && $varProcessVariable == '[]'){
|
||||
array_push($fields, array(
|
||||
"FIELD_UID" => $row["VAR_NAME"] . "-" . $row["VAR_FIELD_TYPE"],
|
||||
"FIELD_NAME" => $row["VAR_NAME"],
|
||||
"FIELD_VALIDATE" => "any",
|
||||
"_index" => $index ++,
|
||||
"_isset" => true
|
||||
));
|
||||
}
|
||||
}
|
||||
if(!in_array($row["VAR_NAME"], $dynaformNotAllowedVariables) && !in_array($row["VAR_FIELD_TYPE"], $excludeFieldsList)) {
|
||||
array_push($fields, array(
|
||||
"FIELD_UID" => $row["VAR_NAME"] . "-" . $row["VAR_FIELD_TYPE"],
|
||||
"FIELD_NAME" => $row["VAR_NAME"],
|
||||
"FIELD_VALIDATE" => "any",
|
||||
"_index" => $index ++,
|
||||
"_isset" => true
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1873,5 +1868,50 @@ class pmTablesProxy extends HttpProxyController
|
||||
}
|
||||
return $aFields;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all dynaform variables
|
||||
*
|
||||
* @param $sProcessUID
|
||||
*/
|
||||
public function getDynaformVariables($sProcessUID,$excludeFieldsList,$allowed = true)
|
||||
{
|
||||
$dynaformVariables = array();
|
||||
$oC = new Criteria( 'workflow' );
|
||||
$oC->addSelectColumn( DynaformPeer::DYN_CONTENT );
|
||||
$oC->add( DynaformPeer::PRO_UID, $sProcessUID );
|
||||
$oData = DynaformPeer::doSelectRS( $oC );
|
||||
$oData->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oData->next();
|
||||
while ($aRowd = $oData->getRow()) {
|
||||
$dynaform = G::json_decode($aRowd['DYN_CONTENT'],true);
|
||||
if(is_array($dynaform) && sizeof($dynaform)) {
|
||||
$items = $dynaform['items'][0]['items'];
|
||||
foreach($items as $key => $val){
|
||||
foreach($val as $column) {
|
||||
if($allowed) {
|
||||
if(!in_array( $column['type'], $excludeFieldsList )){
|
||||
if(array_key_exists('variable',$column)) {
|
||||
if($column['variable'] != "") {
|
||||
$dynaformVariables[] = $column['variable'];
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if(in_array( $column['type'], $excludeFieldsList )){
|
||||
if(array_key_exists('variable',$column)) {
|
||||
if($column['variable'] != "") {
|
||||
$dynaformVariables[] = $column['variable'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$oData->next();
|
||||
}
|
||||
return array_unique($dynaformVariables);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -597,6 +597,21 @@ class ajax_con extends WebResource
|
||||
$oCaseConsolidated->setTasUid($sTasUid);
|
||||
}
|
||||
|
||||
$criteria = new Criteria();
|
||||
$criteria->addSelectColumn(CaseConsolidatedCorePeer::TAS_UID);
|
||||
$criteria->add(CaseConsolidatedCorePeer::TAS_UID, $sTasUid);
|
||||
$rsCriteria = CaseConsolidatedCorePeer::doSelectRS($criteria);
|
||||
if ($rsCriteria->next()) {
|
||||
$row = $rsCriteria->getRow();
|
||||
$oCaseConsolidated->delete();
|
||||
$oCaseConsolidated = CaseConsolidatedCorePeer::retrieveByPK($sTasUid);
|
||||
}
|
||||
|
||||
if (!(is_object($oCaseConsolidated)) || get_class($oCaseConsolidated) != 'CaseConsolidatedCore') {
|
||||
$oCaseConsolidated = new CaseConsolidatedCore();
|
||||
$oCaseConsolidated->setTasUid($sTasUid);
|
||||
}
|
||||
|
||||
if ($sStatus == '1') {
|
||||
$oCaseConsolidated->setConStatus('ACTIVE');
|
||||
} else {
|
||||
|
||||
@@ -83,18 +83,18 @@ class Consolidated
|
||||
if (!isset($Fields["DEL_INIT_DATE"])) {
|
||||
$oCase->setDelInitDate($app_uid, $del_index);
|
||||
$aFields = $oCase->loadCase($app_uid, $del_index);
|
||||
//Update data grid
|
||||
$aData = $aFields['APP_DATA'];
|
||||
foreach ($aData as $k => $dataField) {
|
||||
if(is_array($dataField)){
|
||||
$pos = count($dataField);
|
||||
if(isset($aData[$k][$pos][$fieldName])){
|
||||
$aData[$k][$pos][$fieldName] = $fieldValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
$aFields['APP_DATA'] = $aData;
|
||||
$oCase->updateCase($app_uid, $aFields);
|
||||
//Update data grid
|
||||
$aData = $aFields['APP_DATA'];
|
||||
foreach ($aData as $k => $dataField) {
|
||||
if(is_array($dataField)){
|
||||
$pos = count($dataField);
|
||||
if(isset($aData[$k][$pos][$fieldName])){
|
||||
$aData[$k][$pos][$fieldName] = $fieldValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
$aFields['APP_DATA'] = $aData;
|
||||
$oCase->updateCase($app_uid, $aFields);
|
||||
//End update
|
||||
}
|
||||
|
||||
@@ -394,7 +394,9 @@ class Consolidated
|
||||
foreach ($aTaskConsolidated as $key => $val) {
|
||||
foreach ($val as $iKey => $iVal) {
|
||||
if (self::checkValidDate($iVal)) {
|
||||
$val[$iKey] = str_replace("-", "/", $val[$iKey]);
|
||||
$iKeyView = str_replace("-", "/", $val[$iKey]);
|
||||
$iKeyView = str_replace("T", " ", $iKeyView);
|
||||
$val[$iKey] = $iKeyView;
|
||||
}
|
||||
}
|
||||
$response["data"][] = $val;
|
||||
@@ -465,28 +467,34 @@ class Consolidated
|
||||
$xmlfrm = new \stdclass();
|
||||
$xmlfrm->fields = array();
|
||||
foreach ($fieldsDyna as $key => $value) {
|
||||
if ($value[0]->type == 'title' || $value[0]->type == 'submit') {
|
||||
continue;
|
||||
}
|
||||
$temp = new \stdclass();
|
||||
$temp->type = $value[0]->type;
|
||||
$temp->label = $value[0]->label;
|
||||
$temp->name = $value[0]->name;
|
||||
$temp->required = (isset($value[0]->required)) ? $value[0]->required : 0;
|
||||
$temp->mode = (isset($value[0]->mode)) ? $value[0]->mode : 'edit';
|
||||
|
||||
if (!empty($value[0]->options)) {
|
||||
$temp->storeData = '[';
|
||||
foreach ($value[0]->options as $valueOption) {
|
||||
$temp->storeData .= '["' . $valueOption['value'] . '", "' . $valueOption['label'] . '"],';
|
||||
foreach ($value as $val) {
|
||||
if ($val->type == 'title' || $val->type == 'submit' || $val->type == 'panel' || $val->type == 'image' || $val->type == 'button' || $val->type == 'grid' || $val->type == 'checkgroup' || $val->type == 'radiogroup' || $val->type == 'radio' || $val->type == 'hidden' || $val->type == 'link' || $val->type == 'file' || $val->type == 'subform' || $val->type == 'label') {
|
||||
continue;
|
||||
}
|
||||
$temp->storeData = substr($temp->storeData,0,-1);
|
||||
$temp->storeData .= ']';
|
||||
}
|
||||
$temp = new \stdclass();
|
||||
$temp->type = $val->type;
|
||||
$temp->label = $val->label;
|
||||
$temp->name = $val->name;
|
||||
$temp->required = (isset($val->required)) ? $val->required : 0;
|
||||
$temp->mode = (isset($val->mode)) ? $val->mode : 'edit';
|
||||
|
||||
$temp->readOnly = ($temp->mode == 'view') ? "1" : "0";
|
||||
$temp->colWidth = 200;
|
||||
$xmlfrm->fields[] = $temp;
|
||||
if (!empty($val->options)) {
|
||||
$temp->storeData = '[';
|
||||
foreach ($val->options as $valueOption) {
|
||||
if(isset($valueOption->value)){
|
||||
$temp->storeData .= '["' . $valueOption->value . '", "' . $valueOption->label . '"],';
|
||||
}else{
|
||||
$temp->storeData .= '["' . $valueOption['value'] . '", "' . $valueOption['label'] . '"],';
|
||||
}
|
||||
}
|
||||
$temp->storeData = substr($temp->storeData,0,-1);
|
||||
$temp->storeData .= ']';
|
||||
}
|
||||
|
||||
$temp->readOnly = ($temp->mode == 'view') ? "1" : "0";
|
||||
$temp->colWidth = 200;
|
||||
$xmlfrm->fields[] = $temp;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$filename = $pro_uid . PATH_SEP . $dyn_uid . ".xml";
|
||||
@@ -528,12 +536,12 @@ class Consolidated
|
||||
$required = (isset($field->required))? $field->required : null;
|
||||
$validate = (isset($field->validate))? strtolower($field->validate) : null;
|
||||
|
||||
$fieldReadOnly = ($readOnly . "" == "1")? "readOnly: true," : null;
|
||||
$fieldReadOnly = ($readOnly . "" == "1" || $field->readOnly == 'view')? "readOnly: true," : null;
|
||||
$fieldRequired = ($required . "" == "1")? "allowBlank: false," : null;
|
||||
$fieldValidate = ($validate == "alpha" || $validate == "alphanum" || $validate == "email" || $validate == "int" || $validate == "real")? "vtype: \"$validate\"," : null;
|
||||
|
||||
$fieldLabel = (($fieldRequired != null)? "<span style='color: red;'>*</span> ": null) . $field->label;
|
||||
$fieldDisabled = ($field->mode != "edit")? "true" : "false";
|
||||
$fieldDisabled = ($field->mode == "view")? "true" : "false";
|
||||
|
||||
switch ($field->type) {
|
||||
case "dropdown":
|
||||
@@ -633,7 +641,7 @@ class Consolidated
|
||||
return Ext.isDate(value)? value.dateFormat('{$dateFormat}') : value;
|
||||
} *";
|
||||
|
||||
if ($field->mode != "edit") {
|
||||
if ($field->mode == "view") {
|
||||
$editor = null;
|
||||
}
|
||||
|
||||
@@ -735,6 +743,33 @@ class Consolidated
|
||||
|
||||
$hasTextArea = true;
|
||||
break;
|
||||
case "datetime":
|
||||
$align = "center";
|
||||
$size = 100;
|
||||
|
||||
if (isset($field->size)) {
|
||||
$size = $field->size * 10;
|
||||
}
|
||||
|
||||
$width = $size;
|
||||
|
||||
$editor = "* new Ext.form.DateField({
|
||||
format: \"$dateFormat\",
|
||||
|
||||
$fieldReadOnly
|
||||
$fieldRequired
|
||||
$fieldValidate
|
||||
cls: \"\"
|
||||
}) *";
|
||||
|
||||
//$renderer = "* formatDate *";
|
||||
$renderer = "* function (value){
|
||||
return Ext.isDate(value)? value.dateFormat('{$dateFormat}') : value;
|
||||
} *";
|
||||
|
||||
$caseColumns[] = array("header" => $fieldLabel, "dataIndex" => $field->name, "width" => (int)($width), "editor" => $editor, "renderer" => $renderer, "frame" => true, "clicksToEdit" => 1, "sortable" => true);
|
||||
$caseReaderFields[] = array("name" => $field->name, "type" => "date");
|
||||
break;
|
||||
case "link":
|
||||
$align = 'center';
|
||||
$size = 100;
|
||||
|
||||
@@ -468,7 +468,13 @@ class FilesManager
|
||||
|
||||
if (file_exists($path) && !is_dir($path)) {
|
||||
unlink($path);
|
||||
}
|
||||
} else {
|
||||
$path = PATH_DATA_PUBLIC.$sProcessUID.DIRECTORY_SEPARATOR.$sFile;
|
||||
|
||||
if (file_exists($path) && !is_dir($path)) {
|
||||
unlink($path);
|
||||
}
|
||||
}
|
||||
|
||||
$rs = \ProcessFilesPeer::doDelete($criteria);
|
||||
} catch (Exception $e) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user