示例#1
0
 public function showFieldLayout(Vtiger_Request $request)
 {
     $sourceModule = $request->get('sourceModule');
     $supportedModulesList = Settings_LayoutEditor_Module_Model::getSupportedModules();
     if (empty($sourceModule)) {
         //To get the first element
         $sourceModule = reset($supportedModulesList);
     }
     $moduleModel = Settings_LayoutEditor_Module_Model::getInstanceByName($sourceModule);
     $fieldModels = $moduleModel->getFields();
     $blockModels = $moduleModel->getBlocks();
     $blockIdFieldMap = array();
     $inactiveFields = array();
     foreach ($fieldModels as $fieldModel) {
         $blockIdFieldMap[$fieldModel->getBlockId()][$fieldModel->getName()] = $fieldModel;
         if (!$fieldModel->isActiveField()) {
             $inactiveFields[$fieldModel->getBlockId()][$fieldModel->getId()] = vtranslate($fieldModel->get('label'), $sourceModule);
         }
     }
     foreach ($blockModels as $blockLabel => $blockModel) {
         $fieldModelList = $blockIdFieldMap[$blockModel->get('id')];
         $blockModel->setFields($fieldModelList);
     }
     $qualifiedModule = $request->getModule(false);
     $viewer = $this->getViewer($request);
     $viewer->assign('SELECTED_MODULE_NAME', $sourceModule);
     $viewer->assign('SUPPORTED_MODULES', $supportedModulesList);
     $viewer->assign('SELECTED_MODULE_MODEL', $moduleModel);
     $viewer->assign('BLOCKS', $blockModels);
     $viewer->assign('ADD_SUPPORTED_FIELD_TYPES', $moduleModel->getAddSupportedFieldTypes());
     $viewer->assign('DISPLAY_TYPE_LIST', Vtiger_Field_Model::showDisplayTypeList());
     $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel());
     $viewer->assign('QUALIFIED_MODULE', $qualifiedModule);
     $viewer->assign('IN_ACTIVE_FIELDS', $inactiveFields);
     $viewer->assign('IS_INVENTORY', $moduleModel->isInventory());
     $viewer->assign('INVENTORY_MODAL', Vtiger_InventoryField_Model::getInstance($sourceModule));
     $viewer->view('Index.tpl', $qualifiedModule);
 }