public function action_listViewSave() { $GLOBALS['log']->info("action_listViewSave"); if (isset($_REQUEST['PORTAL'])) { $this->view = 'portallistview'; $parser = ParserFactory::getParser($this->view, $_REQUEST['view_module'], null, null, MB_PORTAL); //$parser->init ( $_REQUEST [ 'view_module' ] ) ; // removed init because MetaDataParsers don't use it } else { $packageName = isset($_REQUEST['view_package']) && strtolower($_REQUEST['view_package']) != 'studio' ? $_REQUEST['view_package'] : null; $subpanelName = !empty($_REQUEST['subpanel']) ? $_REQUEST['subpanel'] : null; $parser = ParserFactory::getParser($_REQUEST['view'], $_REQUEST['view_module'], $packageName, $subpanelName); $this->view = 'listView'; // To make sure that dashlets can render customized list views on BWC // modules, we need to save list customizations for BWC modules in // the new style as well. if (isModuleBWC($_REQUEST['view_module']) && empty($packageName) && empty($subpanelName)) { $sidecarListParser = new SidecarListLayoutMetaDataParser(MB_SIDECARLISTVIEW, $_REQUEST['view_module'], null, 'base'); $sidecarListParser->handleSave(); } } // for backwards compatibility we need to parse the subpanel the old way as well // TODO: Remove this when all BWC Modules are converted if ($parser instanceof SidecarSubpanelLayoutMetaDataParser) { require_once 'modules/ModuleBuilder/parsers/views/SubpanelMetaDataParser.php'; $oldSubpanelParser = new SubpanelMetaDataParser($subpanelName, $_REQUEST['view_module'], $packageName); $oldSubpanelParser->handleSave(); unset($oldSubpanelParser); } $parser->handleSave(); if (empty($packageName) && !empty($subpanelName)) { $rr = new RepairAndClear(); $rr->show_output = false; $rr->rebuildExtensions(); } // clear the cache for the linked module and requested module MetaDataManager::refreshModulesCache($parser->getAffectedModules()); }
public function makeRelateFieldsAsLink($defs) { $this->_moduleName = 'def_M1'; $this->_fielddefs = array('m1_related_c' => array('dependency' => '', 'required' => false, 'source' => 'non-db', 'name' => 'm1_related_c', 'vname' => 'LBL_M1_RELATED', 'type' => 'relate', 'massupdate' => '0', 'default' => true, 'comments' => '', 'help' => '', 'importable' => 'true', 'duplicate_merge' => 'disabled', 'duplicate_merge_dom_value' => '0', 'audited' => false, 'reportable' => true, 'calculated' => false, 'len' => '255', 'size' => '20', 'id_name' => 'def_m1_id_c', 'ext2' => 'def_M1', 'module' => 'def_M1', 'rname' => 'name', 'quicksearch' => 'enabled', 'studio' => 'visible', 'id' => 'def_M1m1_related_c', 'custom_module' => 'def_M1', 'label' => 'm1_related_c', 'width' => '10%', 'widget_class' => 'SubPanelDetailViewLink', 'target_module' => 'def_M1', 'target_record_key' => 'def_m1_id_c')); return parent::makeRelateFieldsAsLink($defs); }