public function bind(\Nethgui\Controller\RequestInterface $request)
 {
     if (!$request->isMutation() && $this->getPlatform()->getDatabase('SESSION')->getKey($this->sessionKey)) {
         // Clear the session key when starting a new wizard
         $this->getPlatform()->getDatabase('SESSION')->deleteKey($this->sessionKey);
     }
     parent::bind($request);
 }
Example #2
0
 private function authorize(\Nethgui\Controller\RequestInterface $request)
 {
     foreach ($this->getChildren() as $child) {
         if ($request->isMutation()) {
             $auth = $this->getPolicyDecisionPoint()->authorize($request->getUser(), $child, self::ACTION_MUTATE);
         } else {
             $auth = $this->getPolicyDecisionPoint()->authorize($request->getUser(), $child, self::ACTION_QUERY);
         }
         if ($auth->isDenied()) {
             throw $auth->asException(1327499272);
         }
     }
 }
Example #3
0
 /**
  * Establish what is the key value, then invoke setKeyValue() on the 
  * RecordAdapter BEFORE parent::bind()
  * 
  * @param \Nethgui\Controller\RequestInterface $request 
  */
 public function bind(\Nethgui\Controller\RequestInterface $request)
 {
     if ($this->getIdentifier() === 'create') {
         if ($request->isMutation()) {
             $keyValue = $this->calculateKeyFromRequest($request);
         } else {
             $keyValue = FALSE;
         }
     } else {
         $keyValue = \Nethgui\array_head($request->getPath());
         $this->ensureKeyExists($keyValue);
     }
     // bind the record adapter to the row with identifier equal to $keyValue
     if (is_null($this->getAdapter()->getKeyValue())) {
         $this->getAdapter()->setKeyValue($keyValue);
     }
     parent::bind($request);
 }