/** * @return array|int * @throws Exception */ function gd_report_admin_page_new() { $datasource = gd_datasource_find($_GET['ds']); if ( !$datasource ) { return MENU_NOT_FOUND; } gd_datasource_set_active($datasource->name); if ( !gd_account_user_is_admin() && !gd_account_user_is_datasource_admin(null,gd_datasource_get_active()) ) { return MENU_ACCESS_DENIED; } drupal_add_library('gd_report_admin', 'GD_Admin_ReportSection_Builder'); if ( !empty($_GET['title']) ) { $report = new stdClass(); $report->title = check_plain($_GET['title']); } else { $report = null; } if ( !empty($_GET['dataset']) ) { $reportDataset = gd_data_controller_ui_metadata_get_dataset_ui_metadata($_GET['dataset']); } else { $reportDataset = null; } return gd_report_admin_page($report,$reportDataset); }
/** * @return DatasetUIMetaData|null */ public function loadMetamodel () { if ( !$this->metamodel ) { $connectedDatasetNames = (count($this->datasets) > 1) ? array_slice($this->datasets, 1) : null; $metamodel = data_controller_get_metamodel(); $metamodel->getDataset($this->datasets[0]); // ensure the dataset exists $this->metamodel = gd_data_controller_ui_metadata_get_dataset_ui_metadata($this->datasets[0], $connectedDatasetNames); } return $this->metamodel; }