/**
  * 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;
 }
Example #4
0
 protected function renderAfterFormLayoutForDetailsContent()
 {
     $content = parent::renderAfterFormLayoutForDetailsContent();
     $ownedSecurableItemDetailsContent = OwnedSecurableItemDetailsViewUtil::renderAfterFormLayoutForDetailsContent($this->getModel(), $content);
     return $ownedSecurableItemDetailsContent;
 }
Example #5
0
    })->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);