/** * Override to support security checks on user rights/permissions. The savedReport is needed for this */ public function __construct($controllerId, $moduleId, Report $model, $title = null, SavedReport $savedReport) { parent::__construct($controllerId, $moduleId, $model); $this->savedReport = $savedReport; }
protected function resolveElementDuringFormLayoutRender(&$element) { if ($dedupeRules = DedupeRulesFactory::createRulesByModel($this->model)) { $dedupeRules->registerScriptForEditAndDetailsView($element); } parent::resolveElementDuringFormLayoutRender($element); }
protected function shouldRenderToolBarElement($element, $elementInformation) { assert('$element instanceof ActionElement'); assert('is_array($elementInformation)'); if (!parent::shouldRenderToolBarElement($element, $elementInformation)) { return false; } if (!isset($elementInformation['renderType']) || isset($elementInformation['renderType']) && $elementInformation['renderType'] == $this->renderType) { return true; } return false; }
protected function renderAfterFormLayoutForDetailsContent() { $content = parent::renderAfterFormLayoutForDetailsContent(); $ownedSecurableItemDetailsContent = OwnedSecurableItemDetailsViewUtil::renderAfterFormLayoutForDetailsContent($this->getModel(), $content); return $ownedSecurableItemDetailsContent; }
})->ifOk(function ($output) { return json_encode(['data' => $output]); }); }); # Generate a CSV file for a TableView # See http://stackoverflow.com/questions/217424/create-a-csv-file-for-a-user-in-php $klein->respond('GET', '/csv', function ($req, $res) use($parser, $stringifier) { $res->header('X-Frame-Options', 'DENY'); $page = $parser->parseJade($_GET['form']); $view = new CSVView($page->getView($_GET['view'])); header("Content-type: text/csv; charset=utf-8"); header("Content-Disposition: attachment; filename=formulaic-" . time() . ".csv"); ob_start(); $view->makeView($view->query(1))->render()->save('php://output'); $result = ob_get_clean(); return $result; }); # Get the details of a particular table entry. $klein->respond('GET', '/details', function ($req, $res) use($parser, $stringifier) { $page = $parser->parseJade($_GET['form']); $view = new DetailsView(); $view->setPage($page); $stringifier->writeResponse(new PageWrapper($view->makeView($view->query($_GET))), $res); }); # See https://github.com/chriso/klein.php/wiki/Sub-Directory-Installation $config = Config::get(); $request = \Klein\Request::createFromGlobals(); $uri = $request->server()->get('REQUEST_URI'); $request->server()->set('REQUEST_URI', UTF8::substr($uri, UTF8::strlen($config['app-path']))); # Route! $klein->dispatch($request);