/**
  * @param TagRepositoryInterface $repository
  *
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 public function flush(TagRepositoryInterface $repository)
 {
     Preferences::mark();
     // get all tags.
     // update all counts:
     $tags = $repository->get();
     /** @var Tag $tag */
     foreach ($tags as $tag) {
         foreach ($tag->transactionJournals()->get() as $journal) {
             $count = $journal->tags()->count();
             $journal->tag_count = $count;
             $journal->save();
         }
     }
     Session::clear();
     Artisan::call('cache:clear');
     return redirect(route('index'));
 }
 /**
  * @param Collection $accounts
  * @param Carbon     $start
  * @param Carbon     $end
  *
  * @return BalanceLine
  */
 private function createTagsBalanceLine(Collection $accounts, Carbon $start, Carbon $end)
 {
     $tags = new BalanceLine();
     $tagsLeft = $this->tagRepository->allCoveredByBalancingActs($accounts, $start, $end);
     $tags->setRole(BalanceLine::ROLE_TAGROLE);
     foreach ($accounts as $account) {
         $leftEntry = $tagsLeft->filter(function (Tag $tag) use($account) {
             return $tag->account_id == $account->id;
         });
         $left = 0;
         if (!is_null($leftEntry->first())) {
             $left = $leftEntry->first()->sum;
         }
         bcscale(2);
         // balanced by tags
         $tagEntry = new BalanceEntry();
         $tagEntry->setAccount($account);
         $tagEntry->setLeft($left);
         $tags->addBalanceEntry($tagEntry);
     }
     return $tags;
 }
Beispiel #3
0
 /**
  * @param TagFormRequest         $request
  * @param TagRepositoryInterface $repository
  * @param Tag                    $tag
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 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;
     }
     $data = ['tag' => $request->get('tag'), 'date' => strlen($request->get('date')) > 0 ? new Carbon($request->get('date')) : null, 'description' => strlen($request->get('description')) > 0 ? $request->get('description') : '', 'latitude' => $latitude, 'longitude' => $longitude, 'zoomLevel' => $zoomLevel, 'tagMode' => $request->get('tagMode')];
     $repository->update($tag, $data);
     Session::flash('success', 'Tag "' . e($data['tag']) . '" updated.');
     Preferences::mark();
     if (intval(Input::get('return_to_edit')) === 1) {
         // set value so edit routine will not overwrite URL:
         Session::put('tags.edit.fromUpdate', true);
         return Redirect::route('tags.edit', [$tag->id])->withInput(['return_to_edit' => 1]);
     }
     // redirect to previous URL.
     return Redirect::to(Session::get('tags.edit.url'));
 }
Beispiel #4
0
 /**
  * Returns a JSON list of all beneficiaries.
  *
  * @param TagRepositoryInterface $tagRepository
  *
  * @return \Illuminate\Http\JsonResponse
  */
 public function tags(TagRepositoryInterface $tagRepository)
 {
     $list = $tagRepository->get();
     $return = [];
     foreach ($list as $entry) {
         $return[] = $entry->tag;
     }
     return Response::json($return);
 }
 /**
  * @param TagFormRequest         $request
  * @param TagRepositoryInterface $repository
  * @param Tag                    $tag
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function update(TagFormRequest $request, TagRepositoryInterface $repository, Tag $tag)
 {
     $data = $request->collectTagData();
     $repository->update($tag, $data);
     Session::flash('success', strval(trans('firefly.updated_tag', ['tag' => e($data['tag'])])));
     Preferences::mark();
     if (intval(Input::get('return_to_edit')) === 1) {
         // set value so edit routine will not overwrite URL:
         Session::put('tags.edit.fromUpdate', true);
         return redirect(route('tags.edit', [$tag->id]))->withInput(['return_to_edit' => 1]);
     }
     // redirect to previous URL.
     return redirect(session('tags.edit.url'));
 }