Ejemplo n.º 1
0
 /**
  * Set the active action.
  */
 public function handle()
 {
     $options = $this->builder->getFormOptions();
     $actions = $this->builder->getFormActions();
     if ($action = $actions->findBySlug(app('request')->get($options->get('prefix') . 'action'))) {
         $action->setActive(true);
     }
     if (!$action && ($action = $actions->first())) {
         $action->setActive(true);
     }
 }
 /**
  * Handle the command.
  *
  * @param ActionResponder $responder
  */
 public function handle(ActionResponder $responder)
 {
     $actions = $this->builder->getFormActions();
     if ($this->builder->getFormResponse()) {
         return;
     }
     if ($this->builder->hasFormErrors()) {
         return;
     }
     if (!$this->builder->canSave()) {
         return;
     }
     if ($action = $actions->active()) {
         $responder->setFormResponse($this->builder, $action);
     }
 }
Ejemplo n.º 3
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())]));
 }