Refactor to remove deprecated methods.

This commit is contained in:
James Cole 2020-11-08 14:06:49 +01:00
parent 7efb77e000
commit d268931187
No known key found for this signature in database
GPG Key ID: B5669F9493CDE38D
7 changed files with 7 additions and 175 deletions

View File

@ -196,24 +196,6 @@ class GroupCollector implements GroupCollectorInterface
return new LengthAwarePaginator($set, $this->total, $this->limit, $this->page);
}
/**
* Return the sum of all journals.
* TODO ignores the currency.
*
* @return string
*/
public function getSum(): string
{
$journals = $this->getExtractedJournals();
$sum = '0';
/** @var array $journal */
foreach ($journals as $journal) {
$amount = (string) $journal['amount'];
$sum = bcadd($sum, $amount);
}
return $sum;
}
/**
* Limit results to a specific currency, either foreign or normal one.

View File

@ -105,13 +105,6 @@ interface GroupCollectorInterface
*/
public function getPaginatedGroups(): LengthAwarePaginator;
/**
* Return the sum of all journals.
*
* @return string
*/
public function getSum(): string;
/**
* Define which accounts can be part of the source and destination transactions.
*

View File

@ -171,14 +171,17 @@ class BudgetController extends Controller
$cache->addProperty($budget->id);
if ($cache->has()) {
return response()->json($cache->get()); // @codeCoverageIgnore
return response()->json($cache->get()); // @codeCoverageIgnore
}
$locale = app('steam')->getLocale();
$entries = [];
$amount = $budgetLimit->amount;
$budgetCollection = new Collection([$budget]);
$currency = $budgetLimit->transactionCurrency;
while ($start <= $end) {
$spent = $this->opsRepository->spentInPeriod($budgetCollection, new Collection, $start, $start);
$current = clone $start;
$expenses = $this->opsRepository->sumExpenses($current, $current, null, $budgetCollection, $currency);
$spent = $expenses[(int)$currency->id]['sum'] ?? '0';
$amount = bcadd($amount, $spent);
$format = $start->formatLocalized((string)trans('config.month_and_day', [], $locale));
$entries[$format] = $amount;

View File

@ -74,53 +74,6 @@ class OperationsRepository implements OperationsRepositoryInterface
return $avg;
}
/**
* This method collects various info on budgets, used on the budget page and on the index.
*
* @param Collection $budgets
* @param Carbon $start
* @param Carbon $end
*
* @return array
* @deprecated
*
*/
public function collectBudgetInformation(Collection $budgets, Carbon $start, Carbon $end): array
{
// get account information
/** @var AccountRepositoryInterface $accountRepository */
$accountRepository = app(AccountRepositoryInterface::class);
$accounts = $accountRepository->getAccountsByType([AccountType::DEFAULT, AccountType::ASSET]);
$defaultCurrency = app('amount')->getDefaultCurrency();
$return = [];
/** @var Budget $budget */
foreach ($budgets as $budget) {
$budgetId = $budget->id;
$return[$budgetId] = [
'spent' => $this->spentInPeriod(new Collection([$budget]), $accounts, $start, $end),
'budgeted' => '0',
];
$budgetLimits = $this->getBudgetLimits($budget, $start, $end);
$otherLimits = new Collection;
// get all the budget limits relevant between start and end and examine them:
/** @var BudgetLimit $limit */
foreach ($budgetLimits as $limit) {
if ($limit->start_date->isSameDay($start) && $limit->end_date->isSameDay($end)
) {
$return[$budgetId]['currentLimit'] = $limit;
$return[$budgetId]['budgeted'] = round($limit->amount, $defaultCurrency->decimal_places);
continue;
}
// otherwise it's just one of the many relevant repetitions:
$otherLimits->push($limit);
}
$return[$budgetId]['otherLimits'] = $otherLimits;
}
return $return;
}
/**
* This method is being used to generate the budget overview in the year/multi-year report. Its used
* in both the year/multi-year budget overview AND in the accompanying chart.
@ -260,30 +213,6 @@ class OperationsRepository implements OperationsRepositoryInterface
$this->user = $user;
}
/**
* @param Collection $budgets
* @param Collection $accounts
* @param Carbon $start
* @param Carbon $end
*
* @return string
* @deprecated
*/
public function spentInPeriod(Collection $budgets, Collection $accounts, Carbon $start, Carbon $end): string
{
/** @var GroupCollectorInterface $collector */
$collector = app(GroupCollectorInterface::class);
$collector->setUser($this->user);
$collector->setRange($start, $end)->setBudgets($budgets)->withBudgetInformation();
if ($accounts->count() > 0) {
$collector->setAccounts($accounts);
}
return $collector->getSum();
}
/** @noinspection MoreThanThreeArgumentsInspection */
/**
@ -360,7 +289,8 @@ class OperationsRepository implements OperationsRepositoryInterface
): array
{
Log::debug(sprintf('Now in %s', __METHOD__));
$start->startOfDay();
$end->endOfDay();
/** @var GroupCollectorInterface $collector */
$collector = app(GroupCollectorInterface::class);
$collector->setUser($this->user)->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL]);

View File

@ -44,17 +44,6 @@ interface OperationsRepositoryInterface
*/
public function budgetedPerDay(Budget $budget): string;
/**
* This method collects various info on budgets, used on the budget page and on the index.
*
* @param Collection $budgets
* @param Carbon $start
* @param Carbon $end
*
* @return array
* @deprecated
*/
public function collectBudgetInformation(Collection $budgets, Carbon $start, Carbon $end): array;
/**
* @param Collection $budgets
@ -72,17 +61,6 @@ interface OperationsRepositoryInterface
*/
public function setUser(User $user): void;
/**
* @param Collection $budgets
* @param Collection $accounts
* @param Carbon $start
* @param Carbon $end
*
* @return string
* @deprecated
*/
public function spentInPeriod(Collection $budgets, Collection $accounts, Carbon $start, Carbon $end): string;
/**
* Return multi-currency spent information.
*

View File

@ -80,24 +80,6 @@ class TagRepository implements TagRepositoryInterface
}
}
/**
* @param Tag $tag
* @param Carbon $start
* @param Carbon $end
*
* @return string
*/
public function earnedInPeriod(Tag $tag, Carbon $start, Carbon $end): string
{
/** @var GroupCollectorInterface $collector */
$collector = app(GroupCollectorInterface::class);
$collector->setUser($this->user);
$collector->setRange($start, $end)->setTypes([TransactionType::DEPOSIT])->setTag($tag);
return $collector->getSum();
}
/**
* @param Tag $tag
* @param Carbon $start
@ -297,24 +279,6 @@ class TagRepository implements TagRepositoryInterface
$this->user = $user;
}
/**
* @param Tag $tag
* @param Carbon $start
* @param Carbon $end
*
* @return string
*/
public function spentInPeriod(Tag $tag, Carbon $start, Carbon $end): string
{
/** @var GroupCollectorInterface $collector */
$collector = app(GroupCollectorInterface::class);
$collector->setUser($this->user);
$collector->setRange($start, $end)->setTypes([TransactionType::WITHDRAWAL])->setTag($tag);
return $collector->getSum();
}
/**
* @param array $data
*

View File

@ -60,15 +60,6 @@ interface TagRepositoryInterface
*/
public function destroyAll(): void;
/**
* @param Tag $tag
* @param Carbon $start
* @param Carbon $end
*
* @return string
*/
public function earnedInPeriod(Tag $tag, Carbon $start, Carbon $end): string;
/**
* @param Tag $tag
* @param Carbon $start
@ -176,15 +167,6 @@ interface TagRepositoryInterface
*/
public function setUser(User $user);
/**
* @param Tag $tag
* @param Carbon $start
* @param Carbon $end
*
* @return string
*/
public function spentInPeriod(Tag $tag, Carbon $start, Carbon $end): string;
/**
* This method stores a tag.
*