diff --git a/app/Http/Controllers/TagController.php b/app/Http/Controllers/TagController.php index 67869985d0..8a6fe534c9 100644 --- a/app/Http/Controllers/TagController.php +++ b/app/Http/Controllers/TagController.php @@ -4,7 +4,6 @@ declare(strict_types = 1); namespace FireflyIII\Http\Controllers; use Auth; -use Carbon\Carbon; use FireflyIII\Http\Requests\TagFormRequest; use FireflyIII\Models\Preference; use FireflyIII\Models\Tag; @@ -233,26 +232,7 @@ class TagController extends Controller */ public function store(TagFormRequest $request, TagRepositoryInterface $repository) { - if (Input::get('setTag') == 'true') { - $latitude = $request->get('latitude'); - $longitude = $request->get('longitude'); - $zoomLevel = $request->get('zoomLevel'); - } else { - $latitude = null; - $longitude = null; - $zoomLevel = null; - } - $date = $request->get('date') ?? ''; - - $data = [ - 'tag' => $request->get('tag'), - 'date' => strlen($date) > 0 ? new Carbon($date) : null, - 'description' => $request->get('description') ?? '', - 'latitude' => $latitude, - 'longitude' => $longitude, - 'zoomLevel' => $zoomLevel, - 'tagMode' => $request->get('tagMode'), - ]; + $data = $request->collectTagData(); $repository->store($data); Session::flash('success', 'The tag has been created!'); @@ -279,28 +259,7 @@ class TagController extends Controller */ public function update(TagFormRequest $request, TagRepositoryInterface $repository, Tag $tag) { - if (Input::get('setTag') == 'true') { - $latitude = $request->get('latitude'); - $longitude = $request->get('longitude'); - $zoomLevel = $request->get('zoomLevel'); - } else { - $latitude = null; - $longitude = null; - $zoomLevel = null; - } - $date = $request->get('date') ?? ''; - - $data = [ - 'tag' => $request->get('tag'), - 'date' => strlen($date) > 0 ? new Carbon($date) : null, - 'description' => $request->get('description') ?? '', - 'latitude' => $latitude, - 'longitude' => $longitude, - 'zoomLevel' => $zoomLevel, - 'tagMode' => $request->get('tagMode'), - ]; - - + $data = $request->collectTagData(); $repository->update($tag, $data); Session::flash('success', 'Tag "' . e($data['tag']) . '" updated.'); diff --git a/app/Http/Requests/TagFormRequest.php b/app/Http/Requests/TagFormRequest.php index f9aeafeffc..fb88f91c85 100644 --- a/app/Http/Requests/TagFormRequest.php +++ b/app/Http/Requests/TagFormRequest.php @@ -3,6 +3,7 @@ declare(strict_types = 1); namespace FireflyIII\Http\Requests; use Auth; +use Carbon\Carbon; use FireflyIII\Models\Tag; use Input; @@ -46,4 +47,34 @@ class TagFormRequest extends Request 'tagMode' => 'required|in:nothing,balancingAct,advancePayment', ]; } + + /** + * @return array + */ + public function collectTagData() :array + { + if (Input::get('setTag') == 'true') { + $latitude = $this->get('latitude'); + $longitude = $this->get('longitude'); + $zoomLevel = $this->get('zoomLevel'); + } else { + $latitude = null; + $longitude = null; + $zoomLevel = null; + } + $date = $this->get('date') ?? ''; + + $data = [ + 'tag' => $this->get('tag'), + 'date' => strlen($date) > 0 ? new Carbon($date) : null, + 'description' => $this->get('description') ?? '', + 'latitude' => $latitude, + 'longitude' => $longitude, + 'zoomLevel' => $zoomLevel, + 'tagMode' => $this->get('tagMode'), + ]; + + + + } }