HOR-2758-A
This commit is contained in:
@@ -2139,4 +2139,45 @@ class pmDynaform
|
|||||||
return defined("LEAVE_CASE_WARNING") ? LEAVE_CASE_WARNING : 0;
|
return defined("LEAVE_CASE_WARNING") ? LEAVE_CASE_WARNING : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unset a json property from the following controls: text, textarea, dropdown,
|
||||||
|
* checkbox, checkgroup, radio, datetime, suggest, hidden, file, grid.
|
||||||
|
* @param stdClass $json
|
||||||
|
* @param string $property
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function jsonUnsetProperty(&$json, $property)
|
||||||
|
{
|
||||||
|
if (empty($json)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
foreach ($json as $key => &$value) {
|
||||||
|
$sw1 = is_array($value);
|
||||||
|
$sw2 = is_object($value);
|
||||||
|
if ($sw1 || $sw2) {
|
||||||
|
$this->jsonUnsetProperty($value, $property);
|
||||||
|
}
|
||||||
|
if (!$sw1 && !$sw2) {
|
||||||
|
if ($key === "type" && (
|
||||||
|
$value === "text" ||
|
||||||
|
$value === "textarea" ||
|
||||||
|
$value === "dropdown" ||
|
||||||
|
$value === "checkbox" ||
|
||||||
|
$value === "checkgroup" ||
|
||||||
|
$value === "radio" ||
|
||||||
|
$value === "datetime" ||
|
||||||
|
$value === "suggest" ||
|
||||||
|
$value === "hidden" ||
|
||||||
|
$value === "file" ||
|
||||||
|
$value === "grid")) {
|
||||||
|
if ($value === "grid" && $property === "data") {
|
||||||
|
$json->{$property} = [];
|
||||||
|
} else {
|
||||||
|
unset($json->{$property});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -998,6 +998,7 @@ class Light extends Api
|
|||||||
\G::LoadClass("pmDynaform");
|
\G::LoadClass("pmDynaform");
|
||||||
$pmDynaform = new \pmDynaform(array("APP_DATA" => $caseVariables, "CURRENT_DYNAFORM" => $dyn_uid));
|
$pmDynaform = new \pmDynaform(array("APP_DATA" => $caseVariables, "CURRENT_DYNAFORM" => $dyn_uid));
|
||||||
$pmDynaform->jsonr($result['formContent']);
|
$pmDynaform->jsonr($result['formContent']);
|
||||||
|
$pmDynaform->jsonUnsetProperty($result['formContent'], "data");
|
||||||
return $result;
|
return $result;
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
|
|||||||
Reference in New Issue
Block a user