Ejemplo n.º 1
0
 /**
  * Function returns fields of module
  * @return <Array of Vtiger_Field>
  */
 public function getFields($source = false)
 {
     $log = vglobal('log');
     $log->debug('Entering ' . __CLASS__ . '::' . __METHOD__ . '() method ...');
     $moduleModel = Vtiger_Module_Model::getInstance($this->getName());
     $moduleMeta = $moduleModel->getModuleMeta();
     $moduleFields = $moduleMeta->getAccessibleFields($this->getName());
     $fields = [];
     foreach ($moduleFields as $fieldName => $fieldInstance) {
         if ($moduleMeta->isEditableField($fieldInstance) && !in_array($fieldInstance->getUIType(), $this->getRestrictedUitypes())) {
             $blockName = $fieldInstance->getBlockName();
             if (!$blockName) {
                 $blockName = 'LBL_NOT_ASSIGNET_TO_BLOCK';
             }
             $fields[$blockName][$fieldInstance->getFieldId()] = Settings_MappedFields_Field_Model::getInstanceFromWebserviceFieldObject($fieldInstance);
         }
     }
     if ($source) {
         foreach ($this->getSpecialFields() as $fieldName => $fieldInstance) {
             $fields['LBL_NOT_ASSIGNET_TO_BLOCK'][$fieldName] = $fieldInstance;
         }
     }
     $isInventory = $moduleModel->isInventory();
     if ($isInventory) {
         $inventoryFieldModel = Vtiger_InventoryField_Model::getInstance($this->getName());
         $inventoryFields = $inventoryFieldModel->getFields();
         $blockName = 'LBL_ADVANCED_BLOCK';
         foreach ($inventoryFields as $field) {
             $fields[$blockName][$field->get('columnname')] = Settings_MappedFields_Field_Model::getInstanceFromInventoryFieldObject($field);
         }
     }
     $log->debug('Exiting ' . __CLASS__ . '::' . __METHOD__ . ' method ...');
     return $fields;
 }