예제 #1
0
 public function retrieveFields($filter, $orderBy, $limit, $offset, $baseModule)
 {
     global $beanList;
     $pmseRelatedModule = new PMSERelatedModule();
     if (isset($beanList[$filter])) {
         $newModuleFilter = $filter;
     } else {
         $newModuleFilter = $pmseRelatedModule->getRelatedModuleName($baseModule, $filter);
     }
     $output = array();
     $moduleBean = BeanFactory::getBean($newModuleFilter);
     $fieldsData = isset($moduleBean->field_defs) ? $moduleBean->field_defs : array();
     foreach ($fieldsData as $field) {
         //$retrieveId = isset($additionalArgs['retrieveId']) && !empty($additionalArgs['retrieveId']) && $field['name'] == 'id' ? $additionalArgs['retrieveId'] : false;
         if (isset($field['vname']) && PMSEEngineUtils::isValidField($field, 'ET')) {
             $tmpField = array();
             $tmpField['id'] = $field['name'];
             $tmpField['_module'] = $newModuleFilter;
             $tmpField['name'] = str_replace(':', '', translate($field['vname'], $newModuleFilter));
             $tmpField['rhs_module'] = $filter;
             $output[] = $tmpField;
         }
     }
     $text = array();
     foreach ($output as $key => $row) {
         $text[$key] = strtolower($row['name']);
     }
     if ($orderBy == "ASC") {
         array_multisort($text, SORT_ASC, $output);
     } else {
         array_multisort($text, SORT_DESC, $output);
     }
     $start = $offset;
     $end = $offset + $limit;
     $count = 0;
     $outputTmp = array();
     foreach ($output as $field) {
         if ($count >= $start && $count < $end) {
             $outputTmp[] = $field;
         }
         $count++;
     }
     return array('totalRecords' => count($output), 'records' => $outputTmp);
 }
예제 #2
0
 /**
  * Method that returns a list of type date fields
  * @param $filter
  * @return object
  */
 public function retrieveDateFields($filter)
 {
     if (isset($this->beanList[$filter])) {
         $newModuleFilter = $filter;
     } else {
         $related = $this->getRelationshipData($filter);
         $newModuleFilter = $related['rhs_module'];
     }
     $res = array();
     //new stdClass();
     $res['name'] = $newModuleFilter;
     $res['search'] = $filter;
     $res['success'] = true;
     $output = array();
     $moduleBean = $this->getModuleFilter($newModuleFilter);
     $fieldsData = isset($moduleBean->field_defs) ? $moduleBean->field_defs : array();
     foreach ($fieldsData as $field) {
         if (isset($field['vname']) && PMSEEngineUtils::isValidField($field)) {
             if ($field['type'] == 'date' || $field['type'] == 'datetimecombo' || $field['type'] == 'datetime') {
                 $tmpField = array();
                 $tmpField['value'] = $field['name'];
                 $tmpField['text'] = str_replace(':', '', translate($field['vname'], $newModuleFilter));
                 $output[] = $tmpField;
             }
         }
     }
     $arr_Now = array();
     $arr_Now['value'] = 'current_date_time';
     $arr_Now['text'] = 'Current Date Time';
     array_unshift($output, $arr_Now);
     $res['result'] = $output;
     return $res;
 }
 /**
  * This method gets the list of default required fields based on the process definition.
  * @return array
  */
 public function getDefaultRequiredFields()
 {
     $this->processDefinition->retrieve_by_string_fields(array('id' => $this->activityDefinition->pro_id));
     $bean = $this->factory->getBean($this->processDefinition->pro_module);
     $fieldsData = isset($bean->field_defs) ? $bean->field_defs : array();
     $output = array();
     foreach ($fieldsData as $field) {
         if (isset($field['vname']) && PMSEEngineUtils::isValidField($field, 'RR')) {
             if ($field['type'] != 'bool' && $field['type'] != 'radioenum') {
                 if (!(isset($field['required']) && $field['required'])) {
                     $tmpField = array();
                     $tmpField['name'] = $field['name'];
                     $tmpField['label'] = str_replace(':', '', translate($field['vname'], $this->processDefinition->pro_module));
                     $tmpField['required'] = false;
                     $output[] = $tmpField;
                 }
             }
         }
     }
     $text = array();
     foreach ($output as $key => $row) {
         $text[$key] = strtolower($row['label']);
     }
     array_multisort($text, SORT_ASC, $output);
     return $output;
 }