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();
     }
 }
Beispiel #2
0
 $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);
 $log->info('CustomView :: Successfully got Standard Filter for the Viewid' . $recordid);
 $stdfilterlist["stdfilter"] = $stdfilterlist["stdfilter"] != "" ? $stdfilterlist["stdfilter"] : "custom";
 $stdfilterhtml = $oCustomView->getStdFilterCriteria($stdfilterlist["stdfilter"]);
 $stdfiltercolhtml = getStdFilterHTML($cv_module, $stdfilterlist["columnname"]);
 $stdfilterjs = $oCustomView->getCriteriaJS();
 if (isset($stdfilterlist["startdate"]) && isset($stdfilterlist["enddate"])) {
     $smarty->assign("STARTDATE", DateTimeField::convertToUserFormat($stdfilterlist["startdate"]));
     $smarty->assign("ENDDATE", DateTimeField::convertToUserFormat($stdfilterlist["enddate"]));
 } else {
     $smarty->assign("STARTDATE", $stdfilterlist["startdate"]);
     $smarty->assign("ENDDATE", $stdfilterlist["enddate"]);
 }
 $smarty->assign("STDFILTERCOLUMNS", $stdfiltercolhtml);
 $smarty->assign("STDCOLUMNSCOUNT", count($stdfiltercolhtml));
 $smarty->assign("STDFILTERCRITERIA", $stdfilterhtml);
Beispiel #3
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();
     }
 }