Ejemplo n.º 1
0
 public function checkCyclicDependency(Vtiger_Request $request)
 {
     $module = $request->get('sourceModule');
     $sourceField = $request->get('sourcefield');
     $targetField = $request->get('targetfield');
     $result = Vtiger_DependencyPicklist::checkCyclicDependency($module, $sourceField, $targetField);
     $response = new Vtiger_Response();
     $response->setResult(array('result' => $result));
     $response->emit();
 }
$smarty->assign("SUBMODE", vtlib_purify($_REQUEST['submode']));
if ($_REQUEST['directmode'] == 'ajax') {
    $subMode = vtlib_purify($_REQUEST['submode']);
    if ($subMode == 'getpicklistvalues') {
        $fieldName = vtlib_purify($_REQUEST['fieldname']);
        $fieldValues = getAllPickListValues($fieldName);
        $picklistValues = array();
        for ($i = 0; $i < count($fieldValues); ++$i) {
            $picklistValues[$fieldValues[$i]] = getTranslatedString($fieldValues[$i], $fld_module);
        }
        $json = new Zend_Json();
        echo $json->encode($picklistValues);
    } elseif ($subMode == 'editdependency') {
        $sourceField = vtlib_purify($_REQUEST['sourcefield']);
        $targetField = vtlib_purify($_REQUEST['targetfield']);
        $cyclicDependencyExists = Vtiger_DependencyPicklist::checkCyclicDependency($fld_module, $sourceField, $targetField);
        if ($cyclicDependencyExists) {
            $smarty->assign('RETURN_URL', 'index.php?module=PickList&action=PickListDependencySetup&parenttab=Settings&moduleName=' . $fld_module);
            $smarty->display("modules/PickList/PickListDependencyCyclicError.tpl");
        } else {
            $available_module_picklist = Vtiger_DependencyPicklist::getAvailablePicklists($fld_module);
            $smarty->assign("ALL_LISTS", $available_module_picklist);
            $dependencyMap = array();
            if (!empty($sourceField) && !empty($targetField)) {
                $sourceFieldValues = array();
                $targetFieldValues = getAllPickListValues($targetField);
                foreach (getAllPickListValues($sourceField) as $key => $value) {
                    $sourceFieldValues[htmlentities($value, ENT_QUOTES, 'UTF-8')] = $value;
                }
                $smarty->assign("SOURCE_VALUES", $sourceFieldValues);
                $smarty->assign("TARGET_VALUES", $targetFieldValues);