Merged in gproly/processmaker/HOR-1908 (pull request #4950)

HOR-1908
This commit is contained in:
Julio Cesar Laura Avendaño
2016-09-22 17:31:34 -04:00
2 changed files with 29 additions and 0 deletions

View File

@@ -1257,6 +1257,20 @@ class pmDynaform
return $this->jsonsf($json, $field_id);
}
public function searchFieldByName($dyn_uid, $name)
{
$a = new Criteria("workflow");
$a->addSelectColumn(DynaformPeer::DYN_CONTENT);
$a->add(DynaformPeer::DYN_UID, $dyn_uid, Criteria::EQUAL);
$ds = ProcessPeer::doSelectRS($a);
$ds->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$ds->next();
$row = $ds->getRow();
$json = G::json_decode($row["DYN_CONTENT"]);
$this->jsonr($json);
return $this->jsonsf($json, $name, "name");
}
private function jsonsf(&$json, $id, $for = "id")
{
foreach ($json as $key => $value) {

View File

@@ -2380,6 +2380,21 @@ function jumping ($caseId, $delIndex)
*/
function PMFgetLabelOption ($PROCESS, $DYNAFORM_UID, $FIELD_NAME, $FIELD_SELECTED_ID)
{
G::LoadClass("pmDynaform");
$data = array();
$data["CURRENT_DYNAFORM"] = $DYNAFORM_UID;
$dynaform = new pmDynaform($data);
if ($dynaform->isResponsive()) {
$json = $dynaform->searchFieldByName($DYNAFORM_UID, $FIELD_NAME);
$options = $json->options + $json->optionsSql;
foreach ($options as $key => $value) {
if ((string) $value->value === (string) $FIELD_SELECTED_ID) {
return $value->label;
}
}
return null;
}
$G_FORM = new Form( "{$PROCESS}/{$DYNAFORM_UID}", PATH_DYNAFORM, SYS_LANG, false );
if (isset( $G_FORM->fields[$FIELD_NAME]->option[$FIELD_SELECTED_ID] )) {
return $G_FORM->fields[$FIELD_NAME]->option[$FIELD_SELECTED_ID];