/**
  * Handle the command.
  *
  * @param ResponseFactory $response
  * @param ActionResponder $responder
  */
 public function handle(ResponseFactory $response, ActionResponder $responder)
 {
     $data = new Collection();
     if ($action = $this->builder->getActiveFormAction()) {
         $responder->setFormResponse($this->builder, $action);
         $original = $this->builder->getFormResponse();
         if ($original instanceof RedirectResponse) {
             $data->put('redirect', $original->getTargetUrl());
         }
     }
     $data->put('success', !$this->builder->hasFormErrors());
     $data->put('errors', $this->builder->getFormErrors()->toArray());
     $this->builder->setFormResponse($response = $response->json($data));
 }
Exemplo n.º 2
0
 /**
  * Handle the form response.
  *
  * @param FormBuilder $builder
  */
 public function handle(FormBuilder $builder)
 {
     /*
      * If the form already has a response
      * then we're being overridden. Abort!
      */
     if ($builder->getFormResponse()) {
         return;
     }
     $entry = $builder->getFormEntry();
     $actions = $builder->getFormActions();
     $action = $actions->active();
     if ($entry && $entry instanceof Arrayable) {
         $entry = $entry->toArray();
     }
     $redirect = $action->getRedirect();
     if ($redirect instanceof RedirectResponse) {
         $builder->setFormResponse($redirect);
         return;
     }
     if ($redirect === false) {
         return;
     }
     $redirect = $this->parser->parse($redirect, compact('entry'));
     /*
      * If the redirect is null then use the current one.
      */
     if ($redirect === null) {
         $redirect = $this->redirector->back()->getTargetUrl();
     }
     /*
      * If the URL is a closure then call it.
      */
     if ($redirect instanceof \Closure) {
         $redirect = app()->call($redirect, compact('builder'));
     }
     /*
      * Restore the query string prior if
      * we're coming from a table.
      */
     if ($query = $this->session->get('table::' . $redirect)) {
         $redirect = strpos($redirect, '?') ? $redirect . '&' . $query : $redirect . '?' . $query;
     }
     $builder->setFormResponse($this->redirector->to($redirect));
 }
 /**
  * Handle the command.
  *
  * @param ResponseFactory $response
  */
 public function handle(ResponseFactory $response)
 {
     $this->builder->setFormResponse($response->json(['errors' => $this->builder->getFormErrors()->getMessages(), 'redirect' => $this->builder->getFormOption('redirect', $this->builder->getFormActions()->active()->getRedirect())]));
 }
 /**
  * Handle the command.
  *
  * @param ResponseFactory $response
  */
 public function handle(ResponseFactory $response)
 {
     $options = $this->builder->getFormOptions();
     $data = $this->builder->getFormData();
     $this->builder->setFormResponse($response->view($options->get('wrapper_view'), $data));
 }