/** * Handle the event. * * @param Store $session */ public function handle(Store $session) { if (!$this->builder->hasFormErrors()) { return; } /* @var FieldType $field */ foreach ($this->builder->getFormFields() as $field) { $session->flash($field->getFieldName(), $field->getPostValue()); } }
/** * Handle the event. * * @param Container $container */ public function handle(Container $container) { if ($this->builder->hasFormErrors()) { return; } $handler = $this->builder->getHandler(); if ($handler && !str_contains($handler, '@')) { $handler .= '@handle'; } $container->call($handler, ['builder' => $this->builder]); }
/** * 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)); }
/** * 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); } }
/** * Handle the command. */ public function handle(MessageBag $messages, Translator $translator) { // If we can't save or there are errors then skip it. if ($this->builder->hasFormErrors() || !$this->builder->canSave()) { return; } // If there is no model and there isn't anything specific to say, skip it. if (!$this->builder->getFormEntry() && !$this->builder->getFormOption('success_message')) { return; } $mode = $this->builder->getFormMode(); // False means no message is desired. if ($this->builder->getFormOption('success_message') === false) { return; } $entry = $this->builder->getFormEntry(); $stream = $this->builder->getFormStream(); $parameters = ['title' => is_object($entry) ? $entry->getTitle() : null, 'name' => is_object($stream) ? $stream->getName() : null]; // If the name doesn't exist we need to be clever. if (str_contains($parameters['name'], '::') && !$translator->has($parameters['name']) && $stream) { $parameters['name'] = ucfirst(str_singular(str_replace('_', ' ', $stream->getSlug()))); } elseif ($parameters['name']) { $parameters['name'] = str_singular(trans($parameters['name'])); } else { $parameters['name'] = trans('streams::entry.name'); } /** * Set the default success message. */ if ($this->builder->getFormOption('success_message') === null) { $this->builder->setFormOption('success_message', trans('streams::message.' . $mode . '_success', $parameters)); } $messages->{$this->builder->getFormOption('success_message_type', 'success')}($this->builder->getFormOption('success_message')); }