예제 #1
0
 public function getSelectClauseColumnSQL()
 {
     $columns = array();
     $moduleFields = $this->getModuleFields();
     $accessibleFieldList = array_keys($moduleFields);
     $accessibleFieldList[] = 'id';
     $this->fields = array_intersect($this->fields, $accessibleFieldList);
     foreach ($this->fields as $field) {
         $sql = $this->getSQLColumn($field);
         $columns[] = $sql;
         //To merge date and time fields
         if ($this->meta->getEntityName() == 'Calendar' && ($field == 'date_start' || $field == 'due_date')) {
             if ($field == 'date_start') {
                 $timeField = 'time_start';
                 $sql = $this->getSQLColumn($timeField);
             } else {
                 if ($field == 'due_date') {
                     $timeField = 'time_end';
                     $sql = $this->getSQLColumn($timeField);
                 }
             }
             $columns[] = $sql;
         }
     }
     foreach ($this->columnsCustom as $columnsCustom) {
         $columns[] = $columnsCustom;
     }
     $this->columns = implode(', ', $columns);
     return $this->columns;
 }
예제 #2
0
 public function getSelectClauseColumnSQL()
 {
     $columns = array();
     $moduleFields = $this->getModuleFields();
     $accessibleFieldList = array_keys($moduleFields);
     $accessibleFieldList[] = 'id';
     if ($this->referenceFieldInfoList) {
         // Adding support for reference module fields
         $accessibleFieldList = array_merge($this->referenceFieldNameList, $accessibleFieldList);
     }
     $this->fields = array_intersect($this->fields, $accessibleFieldList);
     foreach ($this->fields as $field) {
         $sql = $this->getSQLColumn($field);
         $columns[] = $sql;
         //To merge date and time fields
         if ($this->meta->getEntityName() == 'Calendar' && ($field == 'date_start' || $field == 'due_date' || $field == 'taskstatus' || $field == 'eventstatus')) {
             if ($field == 'date_start') {
                 $timeField = 'time_start';
                 $sql = $this->getSQLColumn($timeField);
             } else {
                 if ($field == 'due_date') {
                     $timeField = 'time_end';
                     $sql = $this->getSQLColumn($timeField);
                 } else {
                     if ($field == 'taskstatus' || $field == 'eventstatus') {
                         //In calendar list view, Status value = Planned is not displaying
                         $sql = "CASE WHEN (vtiger_activity.status not like '') THEN vtiger_activity.status ELSE vtiger_activity.eventstatus END AS ";
                         if ($field == 'taskstatus') {
                             $sql .= "status";
                         } else {
                             $sql .= $field;
                         }
                     }
                 }
             }
             $columns[] = $sql;
         }
     }
     $this->columns = implode(', ', $columns);
     return $this->columns;
 }