/** * Create a new report * * @param array $data * @param Form $form */ public function createreport($data, $form) { // assume a user's okay if they can edit the reportholder // @TODO have a new create permission here? if ($this->data()->canEdit()) { $type = $data['ReportType']; $classes = ClassInfo::subclassesFor('AdvancedReport'); if (!in_array($type, $classes)) { throw new Exception("Invalid report type"); } $report = new ReportPage(); $report->Title = $data['ReportName']; $report->MetaDescription = isset($data['ReportDescription']) ? $data['ReportDescription'] : ''; $report->ReportType = $type; $report->ParentID = $this->data()->ID; $oldMode = Versioned::get_reading_mode(); Versioned::reading_stage('Stage'); $report->write(); $report->doPublish(); Versioned::reading_stage('Live'); $this->redirect($report->Link()); } else { $form->sessionMessage(_t('ReporHolder.NO_PERMISSION', 'You do not have permission to do that'), 'warning'); $this->redirect($this->data()->Link()); } }
/** * @return Array */ public function getExtraReportParams() { $extraParams = parent::getExtraReportParams(); if (!$this->crossTable) { $extraParams['mode'] = MODE_PRINT; } return $extraParams; }
public function doCreate($data, $form) { if (!singleton('AdvancedReport')->canCreate()) { return Security::permissionFailure($this); } $data = $form->getData(); $description = $data['Description']; $class = $data['ClassName']; if (!is_subclass_of($class, 'AdvancedReport')) { $form->addErrorMessage('ClassName', _t('ReportHolder.INVALID_TYPE', 'An invalid report type was selected'), 'required'); return $this->redirectBack(); } $page = new ReportPage(); $page->update(array('Title' => $data['Title'], 'Content' => $description ? "<p>{$description}</p>" : '', 'ReportType' => $class, 'ParentID' => $this->data()->ID)); $page->writeToStage('Stage'); if (Versioned::current_stage() == Versioned::get_live_stage()) { $page->doPublish(); } return $this->redirect($page->Link()); }
if($layout) { $pageObject->AddCSSFile($layout->getCSSFiles(isRTL(), isMobile())); } $mkr = 1; $masterkey = ''; foreach($mKeys[$strTableName] as $mk) { $options['masterKeysReq'][$mkr++] = $data[$mk]; $masterkey .= $data[$mk]; } $options["pageSize"] = $_SESSION[$strTableName."_pagesize"]; $options["masterkey"] = $masterkey; $options["crosstable_refresh"] = postvalue("crosstable_refresh"); $reportPageObject = new ReportPage($options); $reportPageObject->init(); $reportPageObject->prepareDetailForEditViewPage($dpParams['params'][$d]); //add detail settings to master settings $reportPageObject->addControlsJSAndCSS(); $reportPageObject->fillSetCntrlMaps(); $pageObject->jsSettings['tableSettings'][$strTableName] = $reportPageObject->jsSettings['tableSettings'][$strTableName]; $dControlsMap[$strTableName] = $reportPageObject->controlsMap; $dViewControlsMap[$strTableName] = $reportPageObject->viewControlsMap; foreach($reportPageObject->jsSettings['global']['shortTNames'] as $keySet=>$val) { if(!array_key_exists($keySet,$pageObject->settingsMap["globalSettings"]['shortTNames'])) $pageObject->settingsMap["globalSettings"]['shortTNames'][$keySet] = $val; }
while (true) { $i++; if (isset($_REQUEST["masterkey" . $i])) { $_masterKey = $_REQUEST["masterkey" . $i]; } elseif (isset($masterKeys["masterkey" . $i])) { $_masterKey = $masterKeys["masterkey" . $i]; } else { break; } $params["masterKeysReq"][$i] = $_masterKey; } if ($pageMode = REPORT_DASHBOARD) { $params["dashElementName"] = postvalue("dashelement"); $params["dashTName"] = postvalue("table"); } $pageObject = new ReportPage($params); $pageObject->init(); // Save search if (postvalue("saveSearch") && postvalue("searchName") && !is_null($pageObject->searchLogger)) { $searchName = postvalue("searchName"); $searchParams = $pageObject->getSearchParamsForSaving(); $pageObject->searchLogger->saveSearch($searchName, $searchParams); $pageObject->searchClauseObj->savedSearchIsRun = true; $_SESSION[$pageObject->sessionPrefix . '_advsearch'] = serialize($pageObject->searchClauseObj); echo my_json_encode($searchParams); exit; } // Delete the saved search if (postvalue("deleteSearch") && postvalue("searchName") && !is_null($pageObject->searchLogger)) { $searchName = postvalue("searchName"); $pageObject->searchLogger->deleteSearch($searchName);
<?php /** Copyright 2011-2014 Nick Korbel This file is part of Booked Scheduler. Booked Scheduler is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Booked Scheduler is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Booked Scheduler. If not, see <http://www.gnu.org/licenses/>. */ define('ROOT_DIR', '../'); require_once ROOT_DIR . 'Pages/ReportPage.php'; $page = new ReportPage(); $page->PageLoad();
/** * @param String reportTName * @param Number reportId * @param &Array data */ protected function setDetailReportOnEditView($reportTName, $reportId, &$data) { include_once getabspath('classes/reportpage.php'); //array of params for ReportPage constructor $options = array(); $options["id"] = $reportId; $options["mode"] = REPORT_DETAILS; $options["tName"] = $reportTName; $options["pageType"] = PAGE_REPORT; $options["masterTable"] = $this->tName; $options["xt"] = new Xtempl(true); //#9607 1. Temporary fix $options["flyId"] = $this->genId() + 1; //fix it! $options["masterKeysReq"] = array(); $mkr = 1; $mKeys = $this->pSet->getMasterKeysByDetailTable($reportTName); foreach ($mKeys as $mk) { $options["masterKeysReq"][$mkr++] = $data[$mk]; } $reportPageObject = new ReportPage($options); $reportPageObject->init(); if (isMobile()) { $reportPageObject->pageSize = -1; } $reportPageObject->prepareDetailsForEditViewPage(); //add detail settings to master settings $reportPageObject->addControlsJSAndCSS(); $reportPageObject->fillSetCntrlMaps(); $this->copyDetailPreviewJSAndCSS($reportPageObject); $this->assignDisplayDetailTableXtVariable($reportPageObject); $this->updateSettingsWidthDPData($reportPageObject); $this->viewControlsMap["dViewControlsMap"][$reportTName] = $reportPageObject->viewControlsMap; $this->controlsMap["dControlsMap"][$reportTName] = $reportPageObject->controlsMap; $this->controlsMap["dpTablesParams"][] = array("tName" => $reportTName, "id" => $options["id"], "pType" => PAGE_REPORT); }