/** * Set the form model object from the builder's model. */ public function handle() { $entry = $this->builder->getEntry(); $repository = $this->builder->getRepository(); /* * If the entry is null or an ID and the * model is an instance of FormModelInterface * then use the model to fetch the entry * or create a new one. */ if (is_numeric($entry) || $entry === null) { if ($repository instanceof FormRepositoryInterface) { $this->builder->setFormEntry($repository->findOrNew($entry)); return; } } /* * If the entry is a plain 'ole * object then just use it as is. */ if (is_object($entry)) { $this->builder->setFormEntry($entry); return; } /* * Whatever it is - just use it. */ $this->builder->setFormEntry($entry); }
/** * Handle the command. * * @param Dispatcher $events */ public function handle(Dispatcher $events) { $this->builder->fire('saving', ['builder' => $this->builder]); $this->builder->fireFieldEvents('form_saving'); $repository = $this->builder->getRepository(); $repository->save($this->builder); $this->builder->fire('saved', ['builder' => $this->builder]); $this->builder->fireFieldEvents('form_saved'); $events->fire(new FormWasSaved($this->builder)); }
/** * Handle the command. * * @param Dispatcher $events */ public function handle(Dispatcher $events) { // We can't save if there is no repository. if (!($repository = $this->builder->getRepository())) { return; } $this->builder->fire('saving', ['builder' => $this->builder]); $this->builder->fireFieldEvents('form_saving'); $repository->save($this->builder); $this->builder->fire('saved', ['builder' => $this->builder]); $this->builder->fireFieldEvents('form_saved'); $events->fire(new FormWasSaved($this->builder)); }
/** * Handle the command. * * @param Container $container */ public function handle(Container $container) { /* * Set the default options handler based * on the builder class. Defaulting to * no handler. */ if (!$this->builder->getRepository()) { $model = $this->builder->getFormModel(); $entry = $this->builder->getEntry(); $form = $this->builder->getForm(); $repository = str_replace('FormBuilder', 'FormRepository', get_class($this->builder)); if (!$this->builder->getRepository() && class_exists($repository)) { $this->builder->setRepository($container->make($repository, compact('form', 'model'))); } elseif (!$this->builder->getRepository() && $model instanceof EntryModel) { $this->builder->setRepository($container->make(EntryFormRepository::class, compact('form', 'model'))); } elseif (!$this->builder->getRepository() && $model instanceof EloquentModel) { $this->builder->setRepository($container->make(EloquentFormRepository::class, compact('form', 'model'))); } elseif (!$this->builder->getRepository() && $entry instanceof EntryModel) { $this->builder->setRepository($container->make(EntryFormRepository::class, ['form' => $form, 'model' => $entry])); } elseif (!$this->builder->getRepository() && $entry instanceof EloquentModel) { $this->builder->setRepository($container->make(EloquentFormRepository::class, ['form' => $form, 'model' => $entry])); } } }