function vtws_getfilterfields($module, $user)
{
    global $log, $adb, $default_language;
    $log->debug("Entering function vtws_getfilterfields");
    include_once "modules/{$module}/{$module}.php";
    $focus = new $module();
    $linkfields = array($focus->list_link_field);
    if ($module == 'Contacts' or $module == 'Leads') {
        $linkfields = array('firstname', 'lastname');
    }
    $customView = new CustomView($module);
    $viewid = $customView->getViewId($module);
    $viewinfo = $customView->getColumnsListByCvid($viewid);
    $fields = array();
    foreach ($viewinfo as $fld) {
        $finfo = explode(':', $fld);
        $fields[] = $finfo[1] == 'smownerid' ? 'assigned_user_id' : $finfo[2];
    }
    return array('fields' => $fields, 'linkfields' => $linkfields);
}
Esempio n. 2
0
    $advfilterhtml = getAdvCriteriaHTML();
    $modulecolumnshtml = getByModule_ColumnsHTML($cv_module, $modulecollist);
    $smarty->assign("FOPTION", $advfilterhtml);
    $smarty->assign("COLUMNS_BLOCK", $modulecolumnshtml);
    $smarty->assign("MANDATORYCHECK", implode(",", array_unique($oCustomView->mandatoryvalues)));
    $smarty->assign("SHOWVALUES", implode(",", $oCustomView->showvalues));
    $data_type[] = $oCustomView->data_type;
    $smarty->assign("DATATYPE", $data_type);
} else {
    $oCustomView = new CustomView($cv_module);
    $now_action = vtlib_purify($_REQUEST['action']);
    if ($oCustomView->isPermittedCustomView($recordid, $now_action, $oCustomView->customviewmodule) == 'yes') {
        $customviewdtls = $oCustomView->getCustomViewByCvid($recordid);
        $log->info('CustomView :: Successfully got ViewDetails for the Viewid' . $recordid);
        $modulecollist = $oCustomView->getModuleColumnsList($cv_module);
        $selectedcolumnslist = $oCustomView->getColumnsListByCvid($recordid);
        $log->info('CustomView :: Successfully got ColumnsList for the Viewid' . $recordid);
        $smarty->assign("VIEWNAME", $customviewdtls["viewname"]);
        if ($customviewdtls["setdefault"] == 1) {
            $smarty->assign("CHECKED", "checked");
        }
        if ($customviewdtls["setmetrics"] == 1) {
            $smarty->assign("MCHECKED", "checked");
        }
        $status = $customviewdtls["status"];
        $smarty->assign("STATUS", $status);
        for ($i = 1; $i < 10; $i++) {
            $choosecolslist = getByModule_ColumnsList($cv_module, $modulecollist, $selectedcolumnslist[$i - 1]);
            $smarty->assign("CHOOSECOLUMN" . $i, $choosecolslist);
        }
        $stdfilterlist = $oCustomView->getStdFilterByCvid($recordid);
 public function initForCustomViewById($viewId)
 {
     $customView = new CustomView($this->module);
     $this->customViewColumnList = $customView->getColumnsListByCvid($viewId);
     if ($this->customViewColumnList) {
         foreach ($this->customViewColumnList as $customViewColumnInfo) {
             $details = explode(':', $customViewColumnInfo);
             if (empty($details[2]) && $details[1] == 'crmid' && $details[0] == 'vtiger_crmentity') {
                 $name = 'id';
                 $this->customViewFields[] = $name;
             } else {
                 $this->fields[] = $details[2];
                 $this->customViewFields[] = $details[2];
             }
         }
     }
     if ($this->module == 'Calendar' && !in_array('activitytype', $this->fields)) {
         $this->fields[] = 'activitytype';
     }
     if ($this->module == 'Documents') {
         if (in_array('filename', $this->fields)) {
             if (!in_array('filelocationtype', $this->fields)) {
                 $this->fields[] = 'filelocationtype';
             }
             if (!in_array('filestatus', $this->fields)) {
                 $this->fields[] = 'filestatus';
             }
         }
     }
     $this->fields[] = 'id';
     $this->stdFilterList = $customView->getStdFilterByCvid($viewId);
     $this->advFilterList = $customView->getAdvFilterByCvid($viewId);
     if (is_array($this->stdFilterList)) {
         $value = array();
         if (!empty($this->stdFilterList['columnname'])) {
             $this->startGroup('');
             $name = explode(':', $this->stdFilterList['columnname']);
             $name = $name[2];
             $value[] = $this->fixDateTimeValue($name, $this->stdFilterList['startdate']);
             $value[] = $this->fixDateTimeValue($name, $this->stdFilterList['enddate'], false);
             $this->addCondition($name, $value, 'BETWEEN');
         }
     }
     if ($this->conditionInstanceCount <= 0 && is_array($this->advFilterList) && count($this->advFilterList) > 0) {
         $this->startGroup('');
     } elseif ($this->conditionInstanceCount > 0 && is_array($this->advFilterList) && count($this->advFilterList) > 0) {
         $this->addConditionGlue(self::$AND);
     }
     if (is_array($this->advFilterList) && count($this->advFilterList) > 0) {
         $this->parseAdvFilterList($this->advFilterList);
     }
     if ($this->conditionInstanceCount > 0) {
         $this->endGroup();
     }
 }
Esempio n. 4
0
 public function initForCustomViewById($viewId)
 {
     $customView = new CustomView($this->module);
     $this->customViewColumnList = $customView->getColumnsListByCvid($viewId);
     $viewfields = array();
     foreach ($this->customViewColumnList as $customViewColumnInfo) {
         $details = explode(':', $customViewColumnInfo);
         if (empty($details[2]) && $details[1] == 'crmid' && $details[0] == 'vtiger_crmentity') {
             $name = 'id';
             $this->customViewFields[] = $name;
         } else {
             $minfo = explode('_', $details[3]);
             if ($minfo[0] == $this->module or $minfo[0] == 'Notes' and $this->module == 'Documents') {
                 $viewfields[] = $details[2];
             } else {
                 $viewfields[] = $minfo[0] . '.' . $details[2];
             }
             $this->customViewFields[] = $details[2];
         }
     }
     if ($this->module == 'Calendar' && !in_array('activitytype', $viewfields)) {
         $viewfields[] = 'activitytype';
     }
     if ($this->module == 'Documents') {
         if (in_array('filename', $viewfields)) {
             if (!in_array('filelocationtype', $viewfields)) {
                 $viewfields[] = 'filelocationtype';
             }
             if (!in_array('filestatus', $viewfields)) {
                 $viewfields[] = 'filestatus';
             }
         }
     }
     $viewfields[] = 'id';
     $this->setFields($viewfields);
     $this->stdFilterList = $customView->getStdFilterByCvid($viewId);
     $this->advFilterList = $customView->getAdvFilterByCvid($viewId);
     if (is_array($this->stdFilterList)) {
         $value = array();
         if (!empty($this->stdFilterList['columnname'])) {
             $this->startGroup('');
             $name = explode(':', $this->stdFilterList['columnname']);
             $name = $name[2];
             $value[] = $this->fixDateTimeValue($name, $this->stdFilterList['startdate']);
             $value[] = $this->fixDateTimeValue($name, $this->stdFilterList['enddate'], false);
             $this->addCondition($name, $value, 'BETWEEN');
         }
     }
     if ($this->conditionInstanceCount <= 0 && is_array($this->advFilterList) && count($this->advFilterList) > 0) {
         $this->startGroup('');
     } elseif ($this->conditionInstanceCount > 0 && is_array($this->advFilterList) && count($this->advFilterList) > 0) {
         $this->addConditionGlue(self::$AND);
     }
     if (is_array($this->advFilterList) && count($this->advFilterList) > 0) {
         foreach ($this->advFilterList as $groupindex => $groupcolumns) {
             $filtercolumns = $groupcolumns['columns'];
             if (count($filtercolumns) > 0) {
                 $this->startGroup('');
                 foreach ($filtercolumns as $index => $filter) {
                     $name = explode(':', $filter['columnname']);
                     $mlbl = explode('_', $name[3]);
                     $mname = $mlbl[0];
                     if (empty($name[2]) && $name[1] == 'crmid' && $name[0] == 'vtiger_crmentity') {
                         $name = $this->getSQLColumn('id');
                     } else {
                         $name = $name[2];
                     }
                     if ($mname == $this->getModule()) {
                         $this->addCondition($name, $filter['value'], $filter['comparator']);
                     } else {
                         $reffld = '';
                         foreach ($this->referenceFieldInfoList as $rfld => $refmods) {
                             if (in_array($mname, $refmods)) {
                                 $reffld = $rfld;
                                 break;
                             }
                         }
                         $this->addReferenceModuleFieldCondition($mname, $rfld, $name, $filter['value'], $filter['comparator']);
                     }
                     $columncondition = $filter['column_condition'];
                     if (!empty($columncondition)) {
                         $this->addConditionGlue($columncondition);
                     }
                 }
                 $this->endGroup();
                 $groupConditionGlue = $groupcolumns['condition'];
                 if (!empty($groupConditionGlue)) {
                     $this->addConditionGlue($groupConditionGlue);
                 }
             }
         }
     }
     if ($this->conditionInstanceCount > 0) {
         $this->endGroup();
     }
 }