Beispiel #1
0
 /**
  * @param Budget $budget
  * @param Carbon $start
  * @param Carbon $end
  *
  * @return LimitRepetition|null
  */
 public function getCurrentRepetition(Budget $budget, Carbon $start, Carbon $end)
 {
     $data = $budget->limitrepetitions()->where('limit_repetitions.startdate', $start->format('Y-m-d 00:00:00'))->where('limit_repetitions.enddate', $end->format('Y-m-d 00:00:00'))->first(['limit_repetitions.*']);
     return $data;
 }
 /**
  * @param BudgetRepositoryInterface $repository
  * @param Budget                    $budget
  *
  * @return View
  * @throws FireflyException
  */
 public function show(BudgetRepositoryInterface $repository, Budget $budget)
 {
     /** @var Carbon $start */
     $start = session('first', Carbon::create()->startOfYear());
     $end = new Carbon();
     $page = intval(Input::get('page')) == 0 ? 1 : intval(Input::get('page'));
     $pageSize = Preferences::get('transactionPageSize', 50)->data;
     $offset = ($page - 1) * $pageSize;
     $journals = $repository->journalsInPeriod(new Collection([$budget]), new Collection(), $start, $end);
     $count = $journals->count();
     $journals = $journals->slice($offset, $pageSize);
     $journals = new LengthAwarePaginator($journals, $count, $pageSize);
     $journals->setPath('/budgets/show/' . $budget->id);
     $set = $budget->limitrepetitions()->orderBy('startdate', 'DESC')->get();
     $subTitle = e($budget->name);
     $limits = new Collection();
     /** @var LimitRepetition $entry */
     foreach ($set as $entry) {
         $entry->spent = $repository->spentInPeriod(new Collection([$budget]), new Collection(), $entry->startdate, $entry->enddate);
         $limits->push($entry);
     }
     return view('budgets.show', compact('limits', 'budget', 'repetition', 'journals', 'subTitle'));
 }
 /**
  * @param Budget $budget
  * @param Carbon $start
  * @param Carbon $end
  *
  * @return LimitRepetition|null
  */
 public function getCurrentRepetition(Budget $budget, Carbon $start, Carbon $end)
 {
     $cache = new CacheProperties();
     $cache->addProperty($budget->id);
     $cache->addProperty($start);
     $cache->addProperty($end);
     $cache->addProperty('getCurrentRepetition');
     if ($cache->has()) {
         return $cache->get();
         // @codeCoverageIgnore
     }
     $data = $budget->limitrepetitions()->where('limit_repetitions.startdate', $start->format('Y-m-d 00:00:00'))->where('limit_repetitions.enddate', $end->format('Y-m-d 00:00:00'))->first(['limit_repetitions.*']);
     $cache->store($data);
     return $data;
 }