/**
  * Constructor.
  *
  * {@inheritdoc}
  *
  * @param Authorizable $record
  * @param Policy $policy
  * @param string $action
  * @param string $reason [optional]
  */
 public function __construct(Authorizable $record, Policy $policy, $action, $reason = '')
 {
     $this->record = $record;
     $this->policy = $policy;
     $this->action = $action;
     $this->reason = $reason;
     parent::__construct($this->message());
 }
Esempio n. 2
0
 /**
  * Render an exception into an HTTP response.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Exception  $e
  * @return \Illuminate\Http\Response
  */
 public function render($request, Exception $e)
 {
     $packageResponse = [];
     $statusCode = 500;
     if ($message = $e->getMessage()) {
         $packageResponse['title'] = $message;
     }
     if ($e instanceof OAuthException) {
         $e = new AccessDeniedHttpException($e->getMessage());
     }
     if ($e instanceof HttpException) {
         $statusCode = $e->getStatusCode();
     }
     if ($e instanceof ErrorMessageBagException && $e->hasErrors()) {
         $packageResponse['errors'] = $e->getErrors();
     }
     return response()->json($packageResponse, $statusCode);
 }
 public function __construct($message = null, \Exception $previous = null, $code = 0)
 {
     $message = is_null($message) ? trans('Access Denied') : $message;
     parent::__construct($message, $previous, $code);
 }