public function handleAction($request, $action) { $this->record = $this->getRecord(); $id = (int) $this->request->param('ID'); if ($id && !$this->record) { return Security::permissionFailure($this, "You do not have permission to that"); } return parent::handleAction($request, $action); }
/** * Setup the handling of the actions. This is needed for the custom URL Actions set in the SiteConfig * @param SS_Request $request The given request * @param string $action The requested action * @return parent::handleAction */ public function handleAction($request, $action) { $handles = parent::allowedActions(false); $defaultMapping = $this->stat('allowed_actions'); $handles['index'] = 'handleIndex'; $siteConfig = $this->getCurrentSiteConfig(); foreach ($defaultMapping as $key) { $map = ucfirst($key . 'Action'); if ($siteConfig->{$map}) { $handles[$siteConfig->{$map}] = $key; } if (!isset($handles[$key])) { $handles[$key] = $key; } } self::$url_handlers = $handles; $this->needsRedirect(); return parent::handleAction($request, $handles[$action]); }
protected function handleAction($request, $action) { if (!Member::currentUser()) { if (!in_array($action, self::$allowed_actions_without_auth)) { return $this->redirect($this->Link("landing") . "?BackURL=" . urlencode($this->Link())); } } return parent::handleAction($request, $action); }
/** * handles the requested action. * If a product detail view is requested, the detail view template will be * rendered an displayed. * * @param SS_HTTPRequest $request request data * @param string $action Action * * @return mixed * * @author Sebastian Diel <*****@*****.**> * @since 03.03.2014 */ public function handleAction($request, $action) { if (is_numeric($this->urlParams['Action'])) { $this->urlParams['Action'] = (int) $this->urlParams['Action']; $product = SilvercartProduct::get()->byID(Convert::raw2sql($this->urlParams['Action'])); if ($product instanceof SilvercartProduct) { $this->redirect($product->Link()); return; } } elseif ($this->isFilteredByManufacturer()) { $url = str_replace($this->urlParams['Action'] . '/' . $this->urlParams['ID'], '', $_REQUEST['url']); $this->urlParams['Action'] = ''; $this->urlParams['ID'] = ''; $customRequest = new SS_HTTPRequest('GET', $url, array(), array(), null); return parent::handleAction($customRequest, $action); exit; } return parent::handleAction($request, $action); }
protected function handleAction($request, $action) { if (!Member::currentUser()) { if (!in_array($action, self::$allowed_actions_without_auth)) { $back_url = $request->getVar('url'); if (empty($back_url)) { $back_url = urlencode($this->Link()); } return $this->redirect($this->Link("landing") . "?BackURL=" . $back_url); } } return parent::handleAction($request, $action); }
protected function handleAction($request, $action) { return parent::handleAction($request, $action); }
/** * @param $request * @param $action * @return HTMLText|SS_HTTPResponse */ protected function handleAction($request, $action) { if (!Member::currentUser()) { if (!in_array($action, self::$allowed_actions_without_auth)) { return $this->redirect("/surveys/landing?BackURL=" . urlencode('/surveys/current')); } } if (strtolower($action) === 'index') { return $this->redirect(self::RoutePrefix . '/current'); } return parent::handleAction($request, $action); }
/** * @param SS_HTTPRequest $request * @param $model * * @return HTMLText|SS_HTTPResponse */ protected function handleAction($request, $model) { /** * We return nested controllers, so the parsed URL params need * to be discarded for the subsequent controllers to work */ $request->shiftAllParams(); return parent::handleAction($request, $model); }