mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-05 04:03:26 +00:00
Fix #3901
This commit is contained in:
@@ -68,11 +68,8 @@ class CurrencyController extends Controller
|
|||||||
{
|
{
|
||||||
use AccountFilter, TransactionFilter;
|
use AccountFilter, TransactionFilter;
|
||||||
|
|
||||||
/** @var CurrencyRepositoryInterface The currency repository */
|
private CurrencyRepositoryInterface $repository;
|
||||||
private $repository;
|
private UserRepositoryInterface $userRepository;
|
||||||
|
|
||||||
/** @var UserRepositoryInterface The user repository */
|
|
||||||
private $userRepository;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -161,22 +158,14 @@ class CurrencyController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function availableBudgets(TransactionCurrency $currency): JsonResponse
|
public function availableBudgets(TransactionCurrency $currency): JsonResponse
|
||||||
{
|
{
|
||||||
/** @var User $admin */
|
|
||||||
$admin = auth()->user();
|
|
||||||
|
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
// types to get, page size:
|
// types to get, page size:
|
||||||
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
|
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
|
||||||
|
|
||||||
// get list of available budgets. Count it and split it.
|
// get list of available budgets. Count it and split it.
|
||||||
|
|
||||||
/** @var BudgetRepositoryInterface $repository */
|
|
||||||
$repository = app(BudgetRepositoryInterface::class);
|
|
||||||
|
|
||||||
/** @var AvailableBudgetRepositoryInterface $abRepository */
|
/** @var AvailableBudgetRepositoryInterface $abRepository */
|
||||||
$abRepository = app(AvailableBudgetRepositoryInterface::class);
|
$abRepository = app(AvailableBudgetRepositoryInterface::class);
|
||||||
|
|
||||||
$repository->setUser($admin);
|
|
||||||
$collection = $abRepository->getAvailableBudgetsByCurrency($currency);
|
$collection = $abRepository->getAvailableBudgetsByCurrency($currency);
|
||||||
$count = $collection->count();
|
$count = $collection->count();
|
||||||
$availableBudgets = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
$availableBudgets = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||||
@@ -208,10 +197,10 @@ class CurrencyController extends Controller
|
|||||||
{
|
{
|
||||||
$manager = $this->getManager();
|
$manager = $this->getManager();
|
||||||
|
|
||||||
/** @var BillRepositoryInterface $repository */
|
/** @var BillRepositoryInterface $billRepos */
|
||||||
$repository = app(BillRepositoryInterface::class);
|
$billRepos = app(BillRepositoryInterface::class);
|
||||||
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
|
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
|
||||||
$unfiltered = $repository->getBills();
|
$unfiltered = $billRepos->getBills();
|
||||||
|
|
||||||
// filter and paginate list:
|
// filter and paginate list:
|
||||||
$collection = $unfiltered->filter(
|
$collection = $unfiltered->filter(
|
||||||
@@ -303,9 +292,9 @@ class CurrencyController extends Controller
|
|||||||
*
|
*
|
||||||
* @param TransactionCurrency $currency
|
* @param TransactionCurrency $currency
|
||||||
*
|
*
|
||||||
|
* @return JsonResponse
|
||||||
* @throws FireflyException
|
* @throws FireflyException
|
||||||
* @codeCoverageIgnore
|
* @codeCoverageIgnore
|
||||||
* @return JsonResponse
|
|
||||||
*/
|
*/
|
||||||
public function delete(TransactionCurrency $currency): JsonResponse
|
public function delete(TransactionCurrency $currency): JsonResponse
|
||||||
{
|
{
|
||||||
@@ -459,9 +448,9 @@ class CurrencyController extends Controller
|
|||||||
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
|
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
|
||||||
|
|
||||||
// get list of budgets. Count it and split it.
|
// get list of budgets. Count it and split it.
|
||||||
/** @var RecurringRepositoryInterface $repository */
|
/** @var RecurringRepositoryInterface $recurringRepos */
|
||||||
$repository = app(RecurringRepositoryInterface::class);
|
$recurringRepos = app(RecurringRepositoryInterface::class);
|
||||||
$unfiltered = $repository->getAll();
|
$unfiltered = $recurringRepos->getAll();
|
||||||
|
|
||||||
// filter selection
|
// filter selection
|
||||||
$collection = $unfiltered->filter(
|
$collection = $unfiltered->filter(
|
||||||
@@ -510,9 +499,9 @@ class CurrencyController extends Controller
|
|||||||
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
|
$pageSize = (int) app('preferences')->getForUser(auth()->user(), 'listPageSize', 50)->data;
|
||||||
|
|
||||||
// get list of budgets. Count it and split it.
|
// get list of budgets. Count it and split it.
|
||||||
/** @var RuleRepositoryInterface $repository */
|
/** @var RuleRepositoryInterface $ruleRepos */
|
||||||
$repository = app(RuleRepositoryInterface::class);
|
$ruleRepos = app(RuleRepositoryInterface::class);
|
||||||
$unfiltered = $repository->getAll();
|
$unfiltered = $ruleRepos->getAll();
|
||||||
|
|
||||||
$collection = $unfiltered->filter(
|
$collection = $unfiltered->filter(
|
||||||
static function (Rule $rule) use ($currency) {
|
static function (Rule $rule) use ($currency) {
|
||||||
@@ -594,8 +583,8 @@ class CurrencyController extends Controller
|
|||||||
*
|
*
|
||||||
* @param CurrencyRequest $request
|
* @param CurrencyRequest $request
|
||||||
*
|
*
|
||||||
* @throws FireflyException
|
|
||||||
* @return JsonResponse
|
* @return JsonResponse
|
||||||
|
* @throws FireflyException
|
||||||
*/
|
*/
|
||||||
public function store(CurrencyRequest $request): JsonResponse
|
public function store(CurrencyRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
|
@@ -506,7 +506,14 @@ class RuleRepository implements RuleRepositoryInterface
|
|||||||
*/
|
*/
|
||||||
public function getStoreRules(): Collection
|
public function getStoreRules(): Collection
|
||||||
{
|
{
|
||||||
$collection = $this->user->rules()->where('rules.active', 1)->with(['ruleGroup', 'ruleTriggers'])->get();
|
$collection = $this->user->rules()
|
||||||
|
->leftJoin('rule_groups', 'rule_groups.id', '=', 'rules.rule_group_id')
|
||||||
|
->where('rules.active', 1)
|
||||||
|
->where('rule_groups.active', 1)
|
||||||
|
->orderBy('rule_groups.order', 'ASC')
|
||||||
|
->orderBy('rules.order', 'ASC')
|
||||||
|
->orderBy('rules.id', 'ASC')
|
||||||
|
->with(['ruleGroup', 'ruleTriggers'])->get(['rules.*']);
|
||||||
$filtered = new Collection;
|
$filtered = new Collection;
|
||||||
/** @var Rule $rule */
|
/** @var Rule $rule */
|
||||||
foreach ($collection as $rule) {
|
foreach ($collection as $rule) {
|
||||||
@@ -525,7 +532,14 @@ class RuleRepository implements RuleRepositoryInterface
|
|||||||
*/
|
*/
|
||||||
public function getUpdateRules(): Collection
|
public function getUpdateRules(): Collection
|
||||||
{
|
{
|
||||||
$collection = $this->user->rules()->where('rules.active', 1)->with(['ruleGroup', 'ruleTriggers'])->get();
|
$collection = $this->user->rules()
|
||||||
|
->leftJoin('rule_groups', 'rule_groups.id', '=', 'rules.rule_group_id')
|
||||||
|
->where('rules.active', 1)
|
||||||
|
->where('rule_groups.active', 1)
|
||||||
|
->orderBy('rule_groups.order', 'ASC')
|
||||||
|
->orderBy('rules.order', 'ASC')
|
||||||
|
->orderBy('rules.id', 'ASC')
|
||||||
|
->with(['ruleGroup', 'ruleTriggers'])->get();
|
||||||
$filtered = new Collection;
|
$filtered = new Collection;
|
||||||
/** @var Rule $rule */
|
/** @var Rule $rule */
|
||||||
foreach ($collection as $rule) {
|
foreach ($collection as $rule) {
|
||||||
|
Reference in New Issue
Block a user