function get_module_view_defs($moduleName, $type, $view) { require_once 'include/MVC/View/SugarView.php'; $metadataFile = null; $results = array(); if (empty($moduleName)) { return $results; } $view = strtolower($view); if ($view == 'subpanel') { $results = $this->get_subpanel_defs($moduleName, $type); } else { $v = new SugarView(null, array()); $v->module = $moduleName; $v->type = $view; $fullView = ucfirst($view) . 'View'; $metadataFile = $v->getMetaDataFile(); require_once $metadataFile; if ($view == 'list') { $results = $listViewDefs[$moduleName]; } else { $results = $viewdefs[$moduleName][$fullView]; } } //Add field level acls. $results = $this->addFieldLevelACLs($moduleName, $type, $view, $results); return $results; }
function get_module_view_defs($moduleName, $type, $view) { require_once 'include/MVC/View/SugarView.php'; $metadataFile = null; $results = array(); if (empty($moduleName)) { return $results; } $view = strtolower($view); switch (strtolower($type)) { case 'wireless': if ($view == 'list') { require_once 'include/SugarWireless/SugarWirelessListView.php'; $GLOBALS['module'] = $moduleName; //WirelessView keys off global variable not instance variable... $v = new SugarWirelessListView(); $results = $v->getMetaDataFile(); $results = self::formatWirelessListViewResultsToArray($results); } elseif ($view == 'subpanel') { $results = $this->get_subpanel_defs($moduleName, $type); } else { require_once 'include/SugarWireless/SugarWirelessView.php'; $v = new SugarWirelessView(); $v->module = $moduleName; $fullView = ucfirst($view) . 'View'; $meta = $v->getMetaDataFile('Wireless' . $fullView); $metadataFile = $meta['filename']; require $metadataFile; //Wireless detail metadata may actually be just edit metadata. $results = isset($viewdefs[$meta['module_name']][$fullView]) ? $viewdefs[$meta['module_name']][$fullView] : $viewdefs[$meta['module_name']]['EditView']; } break; case 'default': default: if ($view == 'subpanel') { $results = $this->get_subpanel_defs($moduleName, $type); } else { $v = new SugarView(null, array()); $v->module = $moduleName; $v->type = $view; $fullView = ucfirst($view) . 'View'; $metadataFile = $v->getMetaDataFile(); require_once $metadataFile; if ($view == 'list') { $results = $listViewDefs[$moduleName]; } else { $results = $viewdefs[$moduleName][$fullView]; } } } //Add field level acls. $results = $this->addFieldLevelACLs($moduleName, $type, $view, $results); return $results; }
function get_fts_list($qry_arr, $isMultiSelect = false, $ajaxSort = false) { global $current_language, $current_user; global $urlPrefix, $currentModule, $theme; $current_module_strings = return_module_language($current_language, 'KBDocuments'); // focus_list is the means of passing data to a ListView. global $focus_list; require_once 'include/ListView/ListViewSmarty.php'; $view = new SugarView(); $view->type = 'list'; $view->module = 'KBDocuments'; $metadataFile = $view->getMetaDataFile(); require_once $metadataFile; require_once 'modules/KBDocuments/KBListViewData.php'; // clear the display columns back to default when clear query is called if (!empty($_REQUEST['clear_query']) && $_REQUEST['clear_query'] == 'true') { $current_user->setPreference('ListViewDisplayColumns', array(), 0, $currentModule); } $savedDisplayColumns = $current_user->getPreference('ListViewDisplayColumns', $currentModule); // get user defined display columns $json = getJSONobj(); $seedDocument = BeanFactory::getBean('KBDocuments'); // seed bean // setup listview smarty $lv = new ListViewSmarty(); $lv->lvd = new KBListViewData(); $displayColumns = array(); // check $_REQUEST if new display columns from post if (!empty($_REQUEST['displayColumns'])) { foreach (explode('|', $_REQUEST['displayColumns']) as $num => $col) { if (!empty($listViewDefs['KBDocuments'][$col])) { $displayColumns[$col] = $listViewDefs['KBDocuments'][$col]; } } } elseif (!empty($savedDisplayColumns)) { // use user defined display columns from preferences $displayColumns = $savedDisplayColumns; } else { // use columns defined in listviewdefs for default display columns foreach ($listViewDefs['KBDocuments'] as $col => $params) { if (!empty($params['default']) && $params['default']) { $displayColumns[$col] = $params; } } } //disable mass update form $params = array('massupdate' => false); //process orderBy if set in request if (!empty($_REQUEST['orderBy'])) { $params['orderBy'] = $_REQUEST['orderBy']; $params['overrideOrder'] = true; if (!empty($_REQUEST['sortOrder'])) { $params['sortOrder'] = $_REQUEST['sortOrder']; } } //if ajax sort is set, then pass in param to display columns array that will change //the sort urls to be javascript based within tpl if ($ajaxSort) { foreach ($displayColumns as $col => $coldata) { $coldata['ajaxSort'] = true; $displayColumns[$col] = $coldata; } } $lv->displayColumns = $displayColumns; //grab the where and custom from clauses from passed in query $where = ''; //check to see if param is a string if (is_string($qry_arr)) { //only the where string is passed in, just populate the where $where = $qry_arr; } elseif (is_array($qry_arr)) { //array was passed in, populate the where and custom_from if (isset($qry_arr['where'])) { $where = $qry_arr['where']; } if (isset($qry_arr['custom_from'])) { $params['custom_from'] = $qry_arr['custom_from']; } } if (!isset($where)) { $where = ""; } global $listViewDefs; //disable some features. $lv->multiSelect = $isMultiSelect; $lv->lvd->additionalDetailsAjax = false; $lv->export = false; $lv->show_mass_update_form = false; $lv->show_action_dropdown = false; $lv->delete = false; $lv->select = false; $lv->setup($seedDocument, 'modules/KBDocuments/SearchListView.tpl', $where, $params); $savedSearchName = empty($_REQUEST['saved_search_select_name']) ? '' : ' - ' . $_REQUEST['saved_search_select_name']; //if this is a sort from browse tab, then set the ajaxsort flag to true if ($ajaxSort) { $lv->data['pageData']['urls']['ajaxSort'] = true; } //begin code that will remove single and double quotes for javascript use $temp_Data = array(); //iterate through each record returned in list if (isset($lv->data['data']) && $lv->data['data'] != null) { foreach ($lv->data['data'] as $arrRec) { //if document name is set, then process if (isset($arrRec['KBDOCUMENT_NAME']) && !empty($arrRec['KBDOCUMENT_NAME'])) { $GLOBALS['log']->info("name of record getting quotes stripped is: " . $arrRec['KBDOCUMENT_NAME']); if (!empty($arrRec['KBDOCUMENT_NAME'])) { $temp_name = $arrRec['KBDOCUMENT_NAME']; } //replace single and double quotes with empty string $temp_name = str_replace(''', '', $temp_name); $temp_name = str_replace('\'', '', $temp_name); $temp_name = str_replace('"', '', $temp_name); $temp_name = str_replace('"', '', $temp_name); //set to new element variable that will be used for javascript $arrRec['KBDOCUMENT_NAME_js'] = $temp_name; $temp_Data[] = $arrRec; } } } //set records back into data array $lv->data['data'] = $temp_Data; //return display string, note that display is taking false as parameter so as to disable //massupdate form return $lv->display(false); }
function get_module_view_defs($module_name, $type, $view) { $metadataFile = null; $results = array(); $view = strtolower($view); switch (strtolower($type)) { case 'default': default: if ($view == 'subpanel') { $results = $this->get_subpanel_defs($module_name, $type); } else { $v = new SugarView(null, array()); $v->module = $module_name; $v->type = $view; $fullView = ucfirst($view) . 'View'; $metadataFile = $v->getMetaDataFile(); require_once $metadataFile; if ($view == 'list') { $results = $listViewDefs[$module_name]; } else { $results = $viewdefs[$module_name][$fullView]; } } } return $results; }
function updateDependentFieldForListView($listview_def_main = '', $filter_fields = null) { static $listview_def = ''; static $module_name = ''; // for subpanels if (!empty($listview_def_main)) { $listview_def = $listview_def_main; } elseif (empty($listview_def) || $module_name != $this->module_name) { $view = new SugarView(); $view->type = 'list'; $view->module = $this->module_name; $listview_meta_file = $view->getMetaDataFile(); if (!empty($listview_meta_file)) { require $listview_meta_file; if (isset($listViewDefs[$this->module_name])) { $listview_def = $listViewDefs[$this->module_name]; } else { if (isset($listViewDefs[$this->object_name])) { $listview_def = $listViewDefs[$this->object_name]; } } } $module_name = $this->module_name; } $this->updateDependentField($filter_fields); $this->is_updated_dependent_fields = true; }
public function testgetMetaDataFile() { $SugarView = new SugarView(); //first execute the method with missing attributes. it should return Null. $metaDataFile = $SugarView->getMetaDataFile(); $this->assertEquals(null, $metaDataFile); //second execute the method with valid attributes set. it should return a file path string. $SugarView->type = 'detail'; $SugarView->module = 'Users'; $metaDataFile = $SugarView->getMetaDataFile(); $this->assertGreaterThan(0, strlen($metaDataFile)); }