mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-30 10:33:30 +00:00
🤖 Auto commit for release 'develop' on 2025-05-04
This commit is contained in:
65
.ci/php-cs-fixer/composer.lock
generated
65
.ci/php-cs-fixer/composer.lock
generated
@@ -1256,16 +1256,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v7.2.5",
|
||||
"version": "v7.2.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "e51498ea18570c062e7df29d05a7003585b19b88"
|
||||
"reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/e51498ea18570c062e7df29d05a7003585b19b88",
|
||||
"reference": "e51498ea18570c062e7df29d05a7003585b19b88",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/0e2e3f38c192e93e622e41ec37f4ca70cfedf218",
|
||||
"reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1329,7 +1329,7 @@
|
||||
"terminal"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/console/tree/v7.2.5"
|
||||
"source": "https://github.com/symfony/console/tree/v7.2.6"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1345,7 +1345,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-03-12T08:11:12+00:00"
|
||||
"time": "2025-04-07T19:09:28+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/deprecation-contracts",
|
||||
@@ -1769,7 +1769,7 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
"version": "v1.31.0",
|
||||
"version": "v1.32.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||
@@ -1828,7 +1828,7 @@
|
||||
"portable"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
|
||||
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1848,7 +1848,7 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-grapheme",
|
||||
"version": "v1.31.0",
|
||||
"version": "v1.32.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
||||
@@ -1906,7 +1906,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
|
||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1926,7 +1926,7 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-normalizer",
|
||||
"version": "v1.31.0",
|
||||
"version": "v1.32.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
||||
@@ -1987,7 +1987,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
|
||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2007,19 +2007,20 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
"version": "v1.31.0",
|
||||
"version": "v1.32.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
|
||||
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
|
||||
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
|
||||
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-iconv": "*",
|
||||
"php": ">=7.2"
|
||||
},
|
||||
"provide": {
|
||||
@@ -2067,7 +2068,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
|
||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2083,20 +2084,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
"time": "2024-12-23T08:48:59+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php80",
|
||||
"version": "v1.31.0",
|
||||
"version": "v1.32.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php80.git",
|
||||
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
|
||||
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
|
||||
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
|
||||
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2147,7 +2148,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
|
||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2163,11 +2164,11 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-09-09T11:45:10+00:00"
|
||||
"time": "2025-01-02T08:10:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php81",
|
||||
"version": "v1.31.0",
|
||||
"version": "v1.32.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php81.git",
|
||||
@@ -2223,7 +2224,7 @@
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
|
||||
"source": "https://github.com/symfony/polyfill-php81/tree/v1.32.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2449,16 +2450,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/string",
|
||||
"version": "v7.2.0",
|
||||
"version": "v7.2.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/string.git",
|
||||
"reference": "446e0d146f991dde3e73f45f2c97a9faad773c82"
|
||||
"reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82",
|
||||
"reference": "446e0d146f991dde3e73f45f2c97a9faad773c82",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/a214fe7d62bd4df2a76447c67c6b26e1d5e74931",
|
||||
"reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2516,7 +2517,7 @@
|
||||
"utf8"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/string/tree/v7.2.0"
|
||||
"source": "https://github.com/symfony/string/tree/v7.2.6"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2532,7 +2533,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-11-13T13:31:26+00:00"
|
||||
"time": "2025-04-20T20:18:16+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [],
|
||||
|
@@ -65,7 +65,7 @@ class BillController extends Controller
|
||||
$data = $request->getData();
|
||||
$result = $this->repository->searchBill($data['query'], $this->parameters->get('limit'));
|
||||
$filtered = $result->map(
|
||||
static fn(Bill $item) => [
|
||||
static fn (Bill $item) => [
|
||||
'id' => (string) $item->id,
|
||||
'name' => $item->name,
|
||||
'active' => $item->active,
|
||||
|
@@ -65,7 +65,7 @@ class BudgetController extends Controller
|
||||
$data = $request->getData();
|
||||
$result = $this->repository->searchBudget($data['query'], $this->parameters->get('limit'));
|
||||
$filtered = $result->map(
|
||||
static fn(Budget $item) => [
|
||||
static fn (Budget $item) => [
|
||||
'id' => (string) $item->id,
|
||||
'name' => $item->name,
|
||||
]
|
||||
|
@@ -65,7 +65,7 @@ class CategoryController extends Controller
|
||||
$data = $request->getData();
|
||||
$result = $this->repository->searchCategory($data['query'], $this->parameters->get('limit'));
|
||||
$filtered = $result->map(
|
||||
static fn(Category $item) => [
|
||||
static fn (Category $item) => [
|
||||
'id' => (string) $item->id,
|
||||
'name' => $item->name,
|
||||
]
|
||||
|
@@ -119,7 +119,7 @@ class CategoryController extends Controller
|
||||
$return = array_values($return);
|
||||
|
||||
// order by amount
|
||||
usort($return, static fn(array $a, array $b) => (float) $a['amount'] < (float) $b['amount'] ? 1 : -1);
|
||||
usort($return, static fn (array $a, array $b) => (float) $a['amount'] < (float) $b['amount'] ? 1 : -1);
|
||||
|
||||
return response()->json($this->clean($return));
|
||||
}
|
||||
|
@@ -29,6 +29,7 @@ use FireflyIII\Api\V1\Requests\Data\Export\ExportRequest;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Support\Export\ExportDataGenerator;
|
||||
use Illuminate\Http\Response as LaravelResponse;
|
||||
|
||||
use function Safe\date;
|
||||
|
||||
/**
|
||||
|
@@ -177,7 +177,7 @@ class ListController extends Controller
|
||||
|
||||
// filter and paginate list:
|
||||
$collection = $unfiltered->filter(
|
||||
static fn(Bill $bill) => $bill->transaction_currency_id === $currency->id
|
||||
static fn (Bill $bill) => $bill->transaction_currency_id === $currency->id
|
||||
);
|
||||
$count = $collection->count();
|
||||
$bills = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize);
|
||||
|
@@ -58,7 +58,7 @@ class StoreRequest extends FormRequest
|
||||
{
|
||||
$models = config('firefly.valid_attachment_models');
|
||||
$models = array_map(
|
||||
static fn(string $className) => str_replace('FireflyIII\Models\\', '', $className),
|
||||
static fn (string $className) => str_replace('FireflyIII\Models\\', '', $className),
|
||||
$models
|
||||
);
|
||||
$models = implode(',', $models);
|
||||
|
@@ -60,7 +60,7 @@ class UpdateRequest extends FormRequest
|
||||
{
|
||||
$models = config('firefly.valid_attachment_models');
|
||||
$models = array_map(
|
||||
static fn(string $className) => str_replace('FireflyIII\Models\\', '', $className),
|
||||
static fn (string $className) => str_replace('FireflyIII\Models\\', '', $className),
|
||||
$models
|
||||
);
|
||||
$models = implode(',', $models);
|
||||
|
@@ -61,7 +61,7 @@ class CategoryController extends Controller
|
||||
$queryParameters = $request->getParameters();
|
||||
$result = $this->repository->searchCategory($queryParameters['query'], $queryParameters['size']);
|
||||
$filtered = $result->map(
|
||||
static fn(Category $item) => [
|
||||
static fn (Category $item) => [
|
||||
'id' => (string) $item->id,
|
||||
'title' => $item->name,
|
||||
'meta' => [],
|
||||
|
@@ -61,7 +61,7 @@ class TagController extends Controller
|
||||
$queryParameters = $request->getParameters();
|
||||
$result = $this->repository->searchTag($queryParameters['query']);
|
||||
$filtered = $result->map(
|
||||
static fn(Tag $item) => [
|
||||
static fn (Tag $item) => [
|
||||
'id' => (string) $item->id,
|
||||
'title' => $item->tag,
|
||||
'value' => (string) $item->id,
|
||||
|
@@ -134,7 +134,7 @@ class CategoryController extends Controller
|
||||
$return = array_values($return);
|
||||
|
||||
// order by native amount
|
||||
usort($return, static fn(array $a, array $b) => (float) $a['native_amount'] < (float) $b['native_amount'] ? 1 : -1);
|
||||
usort($return, static fn (array $a, array $b) => (float) $a['native_amount'] < (float) $b['native_amount'] ? 1 : -1);
|
||||
$converter->summarize();
|
||||
|
||||
return response()->json($this->clean($return));
|
||||
|
@@ -115,7 +115,7 @@ class CorrectsCurrencies extends Command
|
||||
$found = array_values(
|
||||
array_filter(
|
||||
$found,
|
||||
static fn(int $currencyId) => 0 !== $currencyId
|
||||
static fn (int $currencyId) => 0 !== $currencyId
|
||||
)
|
||||
);
|
||||
|
||||
|
@@ -128,7 +128,7 @@ class CorrectsNativeAmounts extends Command
|
||||
$repository->setUserGroup($userGroup);
|
||||
$set = $repository->getPiggyBanks();
|
||||
$set = $set->filter(
|
||||
static fn(PiggyBank $piggyBank) => $currency->id !== $piggyBank->transaction_currency_id
|
||||
static fn (PiggyBank $piggyBank) => $currency->id !== $piggyBank->transaction_currency_id
|
||||
);
|
||||
foreach ($set as $piggyBank) {
|
||||
$piggyBank->encrypted = false;
|
||||
|
@@ -115,7 +115,7 @@ class CorrectsTransactionTypes extends Command
|
||||
private function getSourceAccount(TransactionJournal $journal): Account
|
||||
{
|
||||
$collection = $journal->transactions->filter(
|
||||
static fn(Transaction $transaction) => $transaction->amount < 0
|
||||
static fn (Transaction $transaction) => $transaction->amount < 0
|
||||
);
|
||||
if (0 === $collection->count()) {
|
||||
throw new FireflyException(sprintf('300001: Journal #%d has no source transaction.', $journal->id));
|
||||
@@ -142,7 +142,7 @@ class CorrectsTransactionTypes extends Command
|
||||
private function getDestinationAccount(TransactionJournal $journal): Account
|
||||
{
|
||||
$collection = $journal->transactions->filter(
|
||||
static fn(Transaction $transaction) => $transaction->amount > 0
|
||||
static fn (Transaction $transaction) => $transaction->amount > 0
|
||||
);
|
||||
if (0 === $collection->count()) {
|
||||
throw new FireflyException(sprintf('300004: Journal #%d has no destination transaction.', $journal->id));
|
||||
|
@@ -179,7 +179,7 @@ class UpgradesToGroups extends Command
|
||||
private function getDestinationTransactions(TransactionJournal $journal): Collection
|
||||
{
|
||||
return $journal->transactions->filter(
|
||||
static fn(Transaction $transaction) => $transaction->amount > 0
|
||||
static fn (Transaction $transaction) => $transaction->amount > 0
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -41,7 +41,5 @@ class InvitationCreated extends Event
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*/
|
||||
public function __construct(public InvitedUser $invitee)
|
||||
{
|
||||
}
|
||||
public function __construct(public InvitedUser $invitee) {}
|
||||
}
|
||||
|
@@ -37,7 +37,5 @@ class DestroyedTransactionLink extends Event
|
||||
/**
|
||||
* DestroyedTransactionLink constructor.
|
||||
*/
|
||||
public function __construct(private TransactionJournalLink $link)
|
||||
{
|
||||
}
|
||||
public function __construct(private TransactionJournalLink $link) {}
|
||||
}
|
||||
|
@@ -37,7 +37,5 @@ class DetectedNewIPAddress extends Event
|
||||
/**
|
||||
* Create a new event instance. This event is triggered when a new user registers.
|
||||
*/
|
||||
public function __construct(public User $user)
|
||||
{
|
||||
}
|
||||
public function __construct(public User $user) {}
|
||||
}
|
||||
|
@@ -31,7 +31,5 @@ class Updated
|
||||
{
|
||||
use SerializesModels;
|
||||
|
||||
public function __construct(public Account $account)
|
||||
{
|
||||
}
|
||||
public function __construct(public Account $account) {}
|
||||
}
|
||||
|
@@ -35,7 +35,5 @@ class Created extends Event
|
||||
{
|
||||
use SerializesModels;
|
||||
|
||||
public function __construct(public BudgetLimit $budgetLimit)
|
||||
{
|
||||
}
|
||||
public function __construct(public BudgetLimit $budgetLimit) {}
|
||||
}
|
||||
|
@@ -35,7 +35,5 @@ class Deleted extends Event
|
||||
{
|
||||
use SerializesModels;
|
||||
|
||||
public function __construct(public BudgetLimit $budgetLimit)
|
||||
{
|
||||
}
|
||||
public function __construct(public BudgetLimit $budgetLimit) {}
|
||||
}
|
||||
|
@@ -35,7 +35,5 @@ class Updated extends Event
|
||||
{
|
||||
use SerializesModels;
|
||||
|
||||
public function __construct(public BudgetLimit $budgetLimit)
|
||||
{
|
||||
}
|
||||
public function __construct(public BudgetLimit $budgetLimit) {}
|
||||
}
|
||||
|
@@ -38,7 +38,5 @@ class RegisteredUser extends Event
|
||||
/**
|
||||
* Create a new event instance. This event is triggered when a new user registers.
|
||||
*/
|
||||
public function __construct(public OwnerNotifiable $owner, public User $user)
|
||||
{
|
||||
}
|
||||
public function __construct(public OwnerNotifiable $owner, public User $user) {}
|
||||
}
|
||||
|
@@ -38,7 +38,5 @@ class RequestedVersionCheckStatus extends Event
|
||||
* Create a new event instance. This event is triggered when Firefly III wants to know
|
||||
* what the deal is with the version checker.
|
||||
*/
|
||||
public function __construct(public User $user)
|
||||
{
|
||||
}
|
||||
public function __construct(public User $user) {}
|
||||
}
|
||||
|
@@ -30,7 +30,5 @@ class UnknownUserAttemptedLogin
|
||||
{
|
||||
use SerializesModels;
|
||||
|
||||
public function __construct(public string $address)
|
||||
{
|
||||
}
|
||||
public function __construct(public string $address) {}
|
||||
}
|
||||
|
@@ -37,7 +37,5 @@ class StoredAccount extends Event
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*/
|
||||
public function __construct(public Account $account)
|
||||
{
|
||||
}
|
||||
public function __construct(public Account $account) {}
|
||||
}
|
||||
|
@@ -37,7 +37,5 @@ class StoredTransactionGroup extends Event
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*/
|
||||
public function __construct(public TransactionGroup $transactionGroup, public bool $applyRules, public bool $fireWebhooks)
|
||||
{
|
||||
}
|
||||
public function __construct(public TransactionGroup $transactionGroup, public bool $applyRules, public bool $fireWebhooks) {}
|
||||
}
|
||||
|
@@ -39,7 +39,5 @@ class TriggeredAuditLog extends Event
|
||||
*
|
||||
* @SuppressWarnings("PHPMD.ExcessiveParameterList")
|
||||
*/
|
||||
public function __construct(public Model $changer, public Model $auditable, public string $field, public mixed $before, public mixed $after)
|
||||
{
|
||||
}
|
||||
public function __construct(public Model $changer, public Model $auditable, public string $field, public mixed $before, public mixed $after) {}
|
||||
}
|
||||
|
@@ -37,7 +37,5 @@ class UpdatedAccount extends Event
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*/
|
||||
public function __construct(public Account $account)
|
||||
{
|
||||
}
|
||||
public function __construct(public Account $account) {}
|
||||
}
|
||||
|
@@ -37,7 +37,5 @@ class UpdatedTransactionGroup extends Event
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*/
|
||||
public function __construct(public TransactionGroup $transactionGroup, public bool $applyRules, public bool $fireWebhooks)
|
||||
{
|
||||
}
|
||||
public function __construct(public TransactionGroup $transactionGroup, public bool $applyRules, public bool $fireWebhooks) {}
|
||||
}
|
||||
|
@@ -37,7 +37,5 @@ class UserChangedEmail extends Event
|
||||
/**
|
||||
* UserChangedEmail constructor.
|
||||
*/
|
||||
public function __construct(public User $user, public string $newEmail, public string $oldEmail)
|
||||
{
|
||||
}
|
||||
public function __construct(public User $user, public string $newEmail, public string $oldEmail) {}
|
||||
}
|
||||
|
@@ -34,7 +34,5 @@ class WarnUserAboutBill extends Event
|
||||
{
|
||||
use SerializesModels;
|
||||
|
||||
public function __construct(public Bill $bill, public string $field, public int $diff)
|
||||
{
|
||||
}
|
||||
public function __construct(public Bill $bill, public string $field, public int $diff) {}
|
||||
}
|
||||
|
@@ -253,7 +253,7 @@ class Handler extends ExceptionHandler
|
||||
{
|
||||
return null !== Arr::first(
|
||||
$this->dontReport,
|
||||
static fn($type) => $e instanceof $type
|
||||
static fn ($type) => $e instanceof $type
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -27,7 +27,6 @@ namespace FireflyIII\Handlers\Events;
|
||||
use FireflyIII\Enums\WebhookTrigger;
|
||||
use FireflyIII\Events\DestroyedTransactionGroup;
|
||||
use FireflyIII\Events\RequestedSendWebhookMessages;
|
||||
use FireflyIII\Events\UpdatedTransactionGroup;
|
||||
use FireflyIII\Generator\Webhook\MessageGeneratorInterface;
|
||||
use FireflyIII\Support\Models\AccountBalanceCalculator;
|
||||
use Illuminate\Support\Collection;
|
||||
|
@@ -136,7 +136,8 @@ class UpdatedGroupEventHandler
|
||||
->orderBy('transaction_journals.order', 'ASC')
|
||||
->orderBy('transaction_journals.id', 'DESC')
|
||||
->orderBy('transaction_journals.description', 'DESC')
|
||||
->first();
|
||||
->first()
|
||||
;
|
||||
|
||||
if (null === $first) {
|
||||
Log::warning(sprintf('Group #%d has no transaction journals.', $group->id));
|
||||
@@ -156,12 +157,14 @@ class UpdatedGroupEventHandler
|
||||
if (TransactionTypeEnum::TRANSFER->value === $type || TransactionTypeEnum::WITHDRAWAL->value === $type) {
|
||||
// set all source transactions to source account:
|
||||
Transaction::whereIn('transaction_journal_id', $all)
|
||||
->where('amount', '<', 0)->update(['account_id' => $sourceAccount->id]);
|
||||
->where('amount', '<', 0)->update(['account_id' => $sourceAccount->id])
|
||||
;
|
||||
}
|
||||
if (TransactionTypeEnum::TRANSFER->value === $type || TransactionTypeEnum::DEPOSIT->value === $type) {
|
||||
// set all destination transactions to destination account:
|
||||
Transaction::whereIn('transaction_journal_id', $all)
|
||||
->where('amount', '>', 0)->update(['account_id' => $destAccount->id]);
|
||||
->where('amount', '>', 0)->update(['account_id' => $destAccount->id])
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -42,7 +42,7 @@ class WebhookEventHandler
|
||||
$messages = WebhookMessage::where('webhook_messages.sent', false)
|
||||
->get(['webhook_messages.*'])
|
||||
->filter(
|
||||
static fn(WebhookMessage $message) => $message->webhookAttempts()->count() <= 2
|
||||
static fn (WebhookMessage $message) => $message->webhookAttempts()->count() <= 2
|
||||
)->splice(0, 5)
|
||||
;
|
||||
app('log')->debug(sprintf('Found %d webhook message(s) ready to be send.', $messages->count()));
|
||||
|
@@ -34,6 +34,7 @@ use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
|
||||
use Illuminate\Database\Query\JoinClause;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use FireflyIII\Models\TransactionJournal;
|
||||
|
||||
/**
|
||||
* Trait MetaCollection
|
||||
@@ -492,7 +493,7 @@ trait MetaCollection
|
||||
'notes',
|
||||
static function (JoinClause $join): void {
|
||||
$join->on('notes.noteable_id', '=', 'transaction_journals.id');
|
||||
$join->where('notes.noteable_type', '=', \FireflyIII\Models\TransactionJournal::class);
|
||||
$join->where('notes.noteable_type', '=', TransactionJournal::class);
|
||||
$join->whereNull('notes.deleted_at');
|
||||
}
|
||||
);
|
||||
|
@@ -166,7 +166,7 @@ class ShowController extends Controller
|
||||
/** @var AttachmentTransformer $transformer */
|
||||
$transformer = app(AttachmentTransformer::class);
|
||||
$attachments = $collection->each(
|
||||
static fn(Attachment $attachment) => $transformer->transform($attachment)
|
||||
static fn (Attachment $attachment) => $transformer->transform($attachment)
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -90,7 +90,7 @@ class PiggyBankController extends Controller
|
||||
$chartData = [];
|
||||
while ($oldest <= $today) {
|
||||
$filtered = $set->filter(
|
||||
static fn(PiggyBankEvent $event) => $event->date->lte($oldest)
|
||||
static fn (PiggyBankEvent $event) => $event->date->lte($oldest)
|
||||
);
|
||||
$currentSum = $filtered->sum('amount');
|
||||
$label = $oldest->isoFormat((string) trans('config.month_and_day_js', [], $locale));
|
||||
@@ -98,7 +98,7 @@ class PiggyBankController extends Controller
|
||||
$oldest = app('navigation')->addPeriod($oldest, $step, 0);
|
||||
}
|
||||
$finalFiltered = $set->filter(
|
||||
static fn(PiggyBankEvent $event) => $event->date->lte($today)
|
||||
static fn (PiggyBankEvent $event) => $event->date->lte($today)
|
||||
);
|
||||
$finalSum = $finalFiltered->sum('amount');
|
||||
$finalLabel = $today->isoFormat((string) trans('config.month_and_day_js', [], $locale));
|
||||
|
@@ -82,7 +82,7 @@ class FrontpageController extends Controller
|
||||
// sort by current percentage (lowest at the top)
|
||||
uasort(
|
||||
$info,
|
||||
static fn(array $a, array $b) => $a['percentage'] <=> $b['percentage']
|
||||
static fn (array $a, array $b) => $a['percentage'] <=> $b['percentage']
|
||||
);
|
||||
|
||||
$html = '';
|
||||
|
@@ -104,7 +104,7 @@ class EditController extends Controller
|
||||
$repetition = $recurrence->recurrenceRepetitions()->first();
|
||||
$currentRepType = $repetition->repetition_type;
|
||||
if ('' !== $repetition->repetition_moment) {
|
||||
$currentRepType = sprintf('%s,%s', $currentRepType,$repetition->repetition_moment);
|
||||
$currentRepType = sprintf('%s,%s', $currentRepType, $repetition->repetition_moment);
|
||||
}
|
||||
|
||||
// put previous url in session if not redirect from store (not "return_to_edit").
|
||||
|
@@ -43,9 +43,7 @@ class Authenticate
|
||||
* The authentication factory instance.
|
||||
*/
|
||||
protected Auth $auth
|
||||
)
|
||||
{
|
||||
}
|
||||
) {}
|
||||
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
|
@@ -45,7 +45,7 @@ class SecureHeaders
|
||||
// generate and share nonce.
|
||||
$nonce = base64_encode(random_bytes(16));
|
||||
Vite::useCspNonce($nonce);
|
||||
if (class_exists(\Barryvdh\Debugbar\Facades\Debugbar::class)) {
|
||||
if (class_exists(Debugbar::class)) {
|
||||
Debugbar::getJavascriptRenderer()->setCspNonce($nonce);
|
||||
}
|
||||
app('view')->share('JS_NONCE', $nonce);
|
||||
|
@@ -156,7 +156,7 @@ class CreateRecurringTransactions implements ShouldQueue
|
||||
private function filterRecurrences(Collection $recurrences): Collection
|
||||
{
|
||||
return $recurrences->filter(
|
||||
fn(Recurrence $recurrence) => $this->validRecurrence($recurrence)
|
||||
fn (Recurrence $recurrence) => $this->validRecurrence($recurrence)
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -45,9 +45,7 @@ class SendWebhookMessage implements ShouldQueue
|
||||
/**
|
||||
* Create a new job instance.
|
||||
*/
|
||||
public function __construct(private WebhookMessage $message)
|
||||
{
|
||||
}
|
||||
public function __construct(private WebhookMessage $message) {}
|
||||
|
||||
/**
|
||||
* Execute the job.
|
||||
|
@@ -40,9 +40,7 @@ class BillWarningMail extends Mailable
|
||||
/**
|
||||
* ConfirmEmailChangeMail constructor.
|
||||
*/
|
||||
public function __construct(public Bill $bill, public string $field, public int $diff)
|
||||
{
|
||||
}
|
||||
public function __construct(public Bill $bill, public string $field, public int $diff) {}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
|
@@ -40,9 +40,7 @@ class ConfirmEmailChangeMail extends Mailable
|
||||
/**
|
||||
* ConfirmEmailChangeMail constructor.
|
||||
*/
|
||||
public function __construct(public string $newEmail, public string $oldEmail, public string $url)
|
||||
{
|
||||
}
|
||||
public function __construct(public string $newEmail, public string $oldEmail, public string $url) {}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
|
@@ -43,9 +43,7 @@ class NewIPAddressWarningMail extends Mailable
|
||||
/**
|
||||
* OAuthTokenCreatedMail constructor.
|
||||
*/
|
||||
public function __construct(public string $ipAddress)
|
||||
{
|
||||
}
|
||||
public function __construct(public string $ipAddress) {}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
|
@@ -40,9 +40,7 @@ class OAuthTokenCreatedMail extends Mailable
|
||||
/**
|
||||
* OAuthTokenCreatedMail constructor.
|
||||
*/
|
||||
public function __construct(public Client $client)
|
||||
{
|
||||
}
|
||||
public function __construct(public Client $client) {}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
|
@@ -40,9 +40,7 @@ class RegisteredUser extends Mailable
|
||||
/**
|
||||
* Create a new message instance.
|
||||
*/
|
||||
public function __construct(public string $address)
|
||||
{
|
||||
}
|
||||
public function __construct(public string $address) {}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
|
@@ -45,9 +45,7 @@ class ReportNewJournalsMail extends Mailable
|
||||
/**
|
||||
* ConfirmEmailChangeMail constructor.
|
||||
*/
|
||||
public function __construct(public Collection $groups)
|
||||
{
|
||||
}
|
||||
public function __construct(public Collection $groups) {}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
|
@@ -39,9 +39,7 @@ class RequestedNewPassword extends Mailable
|
||||
/**
|
||||
* RequestedNewPassword constructor.
|
||||
*/
|
||||
public function __construct(public string $url)
|
||||
{
|
||||
}
|
||||
public function __construct(public string $url) {}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
|
@@ -38,9 +38,7 @@ class UndoEmailChangeMail extends Mailable
|
||||
/**
|
||||
* UndoEmailChangeMail constructor.
|
||||
*/
|
||||
public function __construct(public string $newEmail, public string $oldEmail, public string $url)
|
||||
{
|
||||
}
|
||||
public function __construct(public string $newEmail, public string $oldEmail, public string $url) {}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
|
@@ -41,9 +41,7 @@ class UnknownUserLoginAttempt extends Notification
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
public function __construct(private string $address)
|
||||
{
|
||||
}
|
||||
public function __construct(private string $address) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -45,9 +45,7 @@ class UserInvitation extends Notification
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
public function __construct(private InvitedUser $invitee)
|
||||
{
|
||||
}
|
||||
public function __construct(private InvitedUser $invitee) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -45,9 +45,7 @@ class UserRegistration extends Notification
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
public function __construct(private User $user)
|
||||
{
|
||||
}
|
||||
public function __construct(private User $user) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -42,9 +42,7 @@ class VersionCheckResult extends Notification
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
public function __construct(private string $message)
|
||||
{
|
||||
}
|
||||
public function __construct(private string $message) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -40,9 +40,7 @@ class DisabledMFANotification extends Notification
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
public function __construct(private User $user)
|
||||
{
|
||||
}
|
||||
public function __construct(private User $user) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -40,9 +40,7 @@ class EnabledMFANotification extends Notification
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
public function __construct(private User $user)
|
||||
{
|
||||
}
|
||||
public function __construct(private User $user) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -40,9 +40,7 @@ class MFABackupFewLeftNotification extends Notification
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
public function __construct(private User $user, private int $count)
|
||||
{
|
||||
}
|
||||
public function __construct(private User $user, private int $count) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -40,9 +40,7 @@ class MFABackupNoLeftNotification extends Notification
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
public function __construct(private User $user)
|
||||
{
|
||||
}
|
||||
public function __construct(private User $user) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -40,9 +40,7 @@ class MFAManyFailedAttemptsNotification extends Notification
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
public function __construct(private User $user, private int $count)
|
||||
{
|
||||
}
|
||||
public function __construct(private User $user, private int $count) {}
|
||||
|
||||
public function toArray(User $notifiable): array
|
||||
{
|
||||
|
@@ -40,9 +40,7 @@ class MFAUsedBackupCodeNotification extends Notification
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
public function __construct(private User $user)
|
||||
{
|
||||
}
|
||||
public function __construct(private User $user) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -40,9 +40,7 @@ class NewBackupCodesNotification extends Notification
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
public function __construct(private User $user)
|
||||
{
|
||||
}
|
||||
public function __construct(private User $user) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -41,9 +41,7 @@ class UserFailedLoginAttempt extends Notification
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
public function __construct(private User $user)
|
||||
{
|
||||
}
|
||||
public function __construct(private User $user) {}
|
||||
|
||||
public function toArray(User $notifiable): array
|
||||
{
|
||||
|
@@ -42,9 +42,7 @@ class BillReminder extends Notification
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
public function __construct(private Bill $bill, private string $field, private int $diff)
|
||||
{
|
||||
}
|
||||
public function __construct(private Bill $bill, private string $field, private int $diff) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -36,9 +36,7 @@ class TransactionCreation extends Notification
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
public function __construct(private array $collection)
|
||||
{
|
||||
}
|
||||
public function __construct(private array $collection) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -43,9 +43,7 @@ class UserNewPassword extends Notification
|
||||
{
|
||||
use Queueable;
|
||||
|
||||
public function __construct(private string $url)
|
||||
{
|
||||
}
|
||||
public function __construct(private string $url) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -48,12 +48,12 @@ class AuthServiceProvider extends ServiceProvider
|
||||
{
|
||||
Auth::provider(
|
||||
'remote_user_provider',
|
||||
static fn($app, array $config) => new RemoteUserProvider()
|
||||
static fn ($app, array $config) => new RemoteUserProvider()
|
||||
);
|
||||
|
||||
Auth::extend(
|
||||
'remote_user_guard',
|
||||
static fn($app, string $name, array $config) => new RemoteUserGuard(Auth::createUserProvider($config['provider']), $app)
|
||||
static fn ($app, string $name, array $config) => new RemoteUserGuard(Auth::createUserProvider($config['provider']), $app)
|
||||
);
|
||||
|
||||
Passport::tokensExpireIn(now()->addDays(14));
|
||||
|
@@ -90,7 +90,7 @@ class FireflyServiceProvider extends ServiceProvider
|
||||
public function boot(): void
|
||||
{
|
||||
Validator::resolver(
|
||||
static fn($translator, $data, $rules, $messages) => new FireflyValidator($translator, $data, $rules, $messages)
|
||||
static fn ($translator, $data, $rules, $messages) => new FireflyValidator($translator, $data, $rules, $messages)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -104,52 +104,52 @@ class FireflyServiceProvider extends ServiceProvider
|
||||
{
|
||||
$this->app->bind(
|
||||
'preferences',
|
||||
static fn() => new Preferences()
|
||||
static fn () => new Preferences()
|
||||
);
|
||||
|
||||
$this->app->bind(
|
||||
'fireflyconfig',
|
||||
static fn() => new FireflyConfig()
|
||||
static fn () => new FireflyConfig()
|
||||
);
|
||||
$this->app->bind(
|
||||
'navigation',
|
||||
static fn() => new Navigation()
|
||||
static fn () => new Navigation()
|
||||
);
|
||||
$this->app->bind(
|
||||
'amount',
|
||||
static fn() => new Amount()
|
||||
static fn () => new Amount()
|
||||
);
|
||||
|
||||
$this->app->bind(
|
||||
'steam',
|
||||
static fn() => new Steam()
|
||||
static fn () => new Steam()
|
||||
);
|
||||
$this->app->bind(
|
||||
'balance',
|
||||
static fn() => new Balance()
|
||||
static fn () => new Balance()
|
||||
);
|
||||
$this->app->bind(
|
||||
'expandedform',
|
||||
static fn() => new ExpandedForm()
|
||||
static fn () => new ExpandedForm()
|
||||
);
|
||||
|
||||
$this->app->bind(
|
||||
'accountform',
|
||||
static fn() => new AccountForm()
|
||||
static fn () => new AccountForm()
|
||||
);
|
||||
$this->app->bind(
|
||||
'currencyform',
|
||||
static fn() => new CurrencyForm()
|
||||
static fn () => new CurrencyForm()
|
||||
);
|
||||
|
||||
$this->app->bind(
|
||||
'piggybankform',
|
||||
static fn() => new PiggyBankForm()
|
||||
static fn () => new PiggyBankForm()
|
||||
);
|
||||
|
||||
$this->app->bind(
|
||||
'ruleform',
|
||||
static fn() => new RuleForm()
|
||||
static fn () => new RuleForm()
|
||||
);
|
||||
|
||||
// chart generator:
|
||||
|
@@ -52,7 +52,7 @@ class FireflySessionProvider extends ServiceProvider
|
||||
{
|
||||
$this->app->singleton(
|
||||
'session',
|
||||
static fn($app) => new SessionManager($app)
|
||||
static fn ($app) => new SessionManager($app)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -63,11 +63,11 @@ class FireflySessionProvider extends ServiceProvider
|
||||
{
|
||||
$this->app->singleton(
|
||||
'session.store',
|
||||
static fn($app) =>
|
||||
static fn ($app)
|
||||
// First, we will create the session manager which is responsible for the
|
||||
// creation of the various session drivers when they are needed by the
|
||||
// application instance, and will resolve them on a lazy load basis.
|
||||
$app->make('session')->driver()
|
||||
=> $app->make('session')->driver()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@@ -409,7 +409,7 @@ class AccountRepository implements AccountRepositoryInterface, UserGroupInterfac
|
||||
public function getMetaValue(Account $account, string $field): ?string
|
||||
{
|
||||
$result = $account->accountMeta->filter(
|
||||
static fn(AccountMeta $meta) => strtolower($meta->name) === strtolower($field)
|
||||
static fn (AccountMeta $meta) => strtolower($meta->name) === strtolower($field)
|
||||
);
|
||||
if (0 === $result->count()) {
|
||||
return null;
|
||||
|
@@ -127,7 +127,7 @@ class BudgetLimitRepository implements BudgetLimitRepositoryInterface, UserGroup
|
||||
public function getAllBudgetLimitsByCurrency(TransactionCurrency $currency, ?Carbon $start = null, ?Carbon $end = null): Collection
|
||||
{
|
||||
return $this->getAllBudgetLimits($start, $end)->filter(
|
||||
static fn(BudgetLimit $budgetLimit) => $budgetLimit->transaction_currency_id === $currency->id
|
||||
static fn (BudgetLimit $budgetLimit) => $budgetLimit->transaction_currency_id === $currency->id
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -179,8 +179,8 @@ class CurrencyRepository implements CurrencyRepositoryInterface, UserGroupInterf
|
||||
$local = $this->get();
|
||||
|
||||
return $all->map(static function (TransactionCurrency $current) use ($local) {
|
||||
$hasId = $local->contains(static fn(TransactionCurrency $entry) => $entry->id === $current->id);
|
||||
$isNative = $local->contains(static fn(TransactionCurrency $entry) => 1 === (int) $entry->pivot->group_default && $entry->id === $current->id);
|
||||
$hasId = $local->contains(static fn (TransactionCurrency $entry) => $entry->id === $current->id);
|
||||
$isNative = $local->contains(static fn (TransactionCurrency $entry) => 1 === (int) $entry->pivot->group_default && $entry->id === $current->id);
|
||||
$current->userGroupEnabled = $hasId;
|
||||
$current->userGroupNative = $isNative;
|
||||
|
||||
|
@@ -151,7 +151,7 @@ class LinkTypeRepository implements LinkTypeRepositoryInterface, UserGroupInterf
|
||||
$merged = $outward->merge($inward);
|
||||
|
||||
return $merged->filter(
|
||||
static fn(TransactionJournalLink $link) => null !== $link->source && null !== $link->destination
|
||||
static fn (TransactionJournalLink $link) => null !== $link->source && null !== $link->destination
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -149,7 +149,7 @@ class AccountRepository implements AccountRepositoryInterface
|
||||
public function getMetaValue(Account $account, string $field): ?string
|
||||
{
|
||||
$result = $account->accountMeta->filter(
|
||||
static fn(AccountMeta $meta) => strtolower($meta->name) === strtolower($field)
|
||||
static fn (AccountMeta $meta) => strtolower($meta->name) === strtolower($field)
|
||||
);
|
||||
if (0 === $result->count()) {
|
||||
return null;
|
||||
|
@@ -179,8 +179,8 @@ class CurrencyRepository implements CurrencyRepositoryInterface
|
||||
$local = $this->get();
|
||||
|
||||
return $all->map(static function (TransactionCurrency $current) use ($local) {
|
||||
$hasId = $local->contains(static fn(TransactionCurrency $entry) => $entry->id === $current->id);
|
||||
$isNative = $local->contains(static fn(TransactionCurrency $entry) => 1 === (int) $entry->pivot->group_default && $entry->id === $current->id);
|
||||
$hasId = $local->contains(static fn (TransactionCurrency $entry) => $entry->id === $current->id);
|
||||
$isNative = $local->contains(static fn (TransactionCurrency $entry) => 1 === (int) $entry->pivot->group_default && $entry->id === $current->id);
|
||||
$current->userGroupEnabled = $hasId;
|
||||
$current->userGroupNative = $isNative;
|
||||
|
||||
|
@@ -79,9 +79,9 @@ class WebhookRepository implements WebhookRepositoryInterface, UserGroupInterfac
|
||||
->where('webhook_messages.errored', 0)
|
||||
->get(['webhook_messages.*'])
|
||||
->filter(
|
||||
static fn(WebhookMessage $message) =>
|
||||
static fn (WebhookMessage $message)
|
||||
// @phpstan-ignore-line
|
||||
$message->webhookAttempts()->count() <= 2
|
||||
=> $message->webhookAttempts()->count() <= 2
|
||||
)->splice(0, 3)
|
||||
;
|
||||
}
|
||||
|
@@ -45,9 +45,7 @@ class BelongsUserGroup implements ValidationRule
|
||||
/**
|
||||
* Create a new rule instance.
|
||||
*/
|
||||
public function __construct(private readonly UserGroup $userGroup)
|
||||
{
|
||||
}
|
||||
public function __construct(private readonly UserGroup $userGroup) {}
|
||||
|
||||
public function validate(string $attribute, mixed $value, \Closure $fail): void
|
||||
{
|
||||
|
@@ -34,9 +34,7 @@ use Illuminate\Contracts\Validation\ValidationRule;
|
||||
*/
|
||||
class IsDefaultUserGroupName implements ValidationRule
|
||||
{
|
||||
public function __construct(private readonly UserGroup $userGroup)
|
||||
{
|
||||
}
|
||||
public function __construct(private readonly UserGroup $userGroup) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -28,9 +28,7 @@ use Illuminate\Contracts\Validation\ValidationRule;
|
||||
|
||||
class IsFilterValueIn implements ValidationRule
|
||||
{
|
||||
public function __construct(private readonly string $key, private readonly array $values)
|
||||
{
|
||||
}
|
||||
public function __construct(private readonly string $key, private readonly array $values) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -33,9 +33,7 @@ class IsValidZeroOrMoreAmount implements ValidationRule
|
||||
{
|
||||
use ValidatesAmountsTrait;
|
||||
|
||||
public function __construct(private bool $nullable = false)
|
||||
{
|
||||
}
|
||||
public function __construct(private bool $nullable = false) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.UnusedFormalParameter")
|
||||
|
@@ -117,7 +117,7 @@ class GroupCloneService
|
||||
private function cloneNote(Note $note, TransactionJournal $newJournal, int $oldGroupId): void
|
||||
{
|
||||
$newNote = $note->replicate();
|
||||
$newNote->text = sprintf("%s\n\n%s",$newNote->text, trans('firefly.clones_journal_x', ['description' => $newJournal->description, 'id' => $oldGroupId]));
|
||||
$newNote->text = sprintf("%s\n\n%s", $newNote->text, trans('firefly.clones_journal_x', ['description' => $newJournal->description, 'id' => $oldGroupId]));
|
||||
$newNote->noteable_id = $newJournal->id;
|
||||
$newNote->save();
|
||||
}
|
||||
|
@@ -78,7 +78,8 @@ class AccountBalanceCalculator
|
||||
->orderBy('transaction_journals.order', 'desc')
|
||||
->orderBy('transaction_journals.id', 'asc')
|
||||
->orderBy('transaction_journals.description', 'asc')
|
||||
->orderBy('transactions.amount', 'asc');
|
||||
->orderBy('transactions.amount', 'asc')
|
||||
;
|
||||
if ($accounts->count() > 0) {
|
||||
$query->whereIn('transactions.account_id', $accounts->pluck('id')->toArray());
|
||||
}
|
||||
@@ -137,7 +138,8 @@ class AccountBalanceCalculator
|
||||
->orderBy('transaction_journals.id', 'DESC')
|
||||
->orderBy('transaction_journals.description', 'DESC')
|
||||
->orderBy('transactions.amount', 'DESC')
|
||||
->where('transactions.account_id', $accountId);
|
||||
->where('transactions.account_id', $accountId)
|
||||
;
|
||||
$notBefore->startOfDay();
|
||||
$query->where('transaction_journals.date', '<', $notBefore);
|
||||
|
||||
|
@@ -118,7 +118,7 @@ class BillDateCalculator
|
||||
}
|
||||
Log::debug('end of loop');
|
||||
$simple = $set->map( // @phpstan-ignore-line
|
||||
static fn(Carbon $date) => $date->format('Y-m-d')
|
||||
static fn (Carbon $date) => $date->format('Y-m-d')
|
||||
);
|
||||
Log::debug(sprintf('Found %d pay dates', $set->count()), $simple->toArray());
|
||||
|
||||
|
@@ -2009,7 +2009,7 @@ class OperatorQuerySearch implements SearchInterface
|
||||
}
|
||||
app('log')->debug(sprintf('Found %d accounts, will filter.', $accounts->count()));
|
||||
$filtered = $accounts->filter(
|
||||
static fn(Account $account) => $stringMethod(strtolower($account->name), strtolower($value))
|
||||
static fn (Account $account) => $stringMethod(strtolower($account->name), strtolower($value))
|
||||
);
|
||||
|
||||
if (0 === $filtered->count()) {
|
||||
|
@@ -138,7 +138,7 @@ class General extends AbstractExtension
|
||||
{
|
||||
return new TwigFilter(
|
||||
'mimeIcon',
|
||||
static fn(string $string): string => match ($string) {
|
||||
static fn (string $string): string => match ($string) {
|
||||
'application/pdf' => 'fa-file-pdf-o',
|
||||
'image/png', 'image/jpeg', 'image/svg+xml', 'image/heic', 'image/heic-sequence', 'application/vnd.oasis.opendocument.image' => 'fa-file-image-o',
|
||||
'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'application/x-iwork-pages-sffpages', 'application/vnd.sun.xml.writer', 'application/vnd.sun.xml.writer.template', 'application/vnd.sun.xml.writer.global', 'application/vnd.stardivision.writer', 'application/vnd.stardivision.writer-global', 'application/vnd.oasis.opendocument.text', 'application/vnd.oasis.opendocument.text-template', 'application/vnd.oasis.opendocument.text-web', 'application/vnd.oasis.opendocument.text-master' => 'fa-file-word-o',
|
||||
@@ -211,7 +211,7 @@ class General extends AbstractExtension
|
||||
{
|
||||
return new TwigFunction(
|
||||
'phpdate',
|
||||
static fn(string $str): string => \Safe\date($str)
|
||||
static fn (string $str): string => \Safe\date($str)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -373,7 +373,7 @@ class General extends AbstractExtension
|
||||
{
|
||||
return new TwigFunction(
|
||||
'carbonize',
|
||||
static fn(string $date): Carbon => new Carbon($date, config('app.timezone'))
|
||||
static fn (string $date): Carbon => new Carbon($date, config('app.timezone'))
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@@ -45,7 +45,7 @@ class Rule extends AbstractExtension
|
||||
{
|
||||
return new TwigFunction(
|
||||
'allJournalTriggers',
|
||||
static fn() => [
|
||||
static fn () => [
|
||||
'store-journal' => (string) trans('firefly.rule_trigger_store_journal'),
|
||||
'update-journal' => (string) trans('firefly.rule_trigger_update_journal'),
|
||||
'manual-activation' => (string) trans('firefly.rule_trigger_manual'),
|
||||
|
@@ -38,7 +38,7 @@ class Translation extends AbstractExtension
|
||||
return [
|
||||
new TwigFilter(
|
||||
'_',
|
||||
static fn($name) => (string) trans(sprintf('firefly.%s', $name)),
|
||||
static fn ($name) => (string) trans(sprintf('firefly.%s', $name)),
|
||||
['is_safe' => ['html']]
|
||||
),
|
||||
];
|
||||
|
@@ -39,9 +39,7 @@ class AddTag implements ActionInterface
|
||||
/**
|
||||
* TriggerInterface constructor.
|
||||
*/
|
||||
public function __construct(private readonly RuleAction $action)
|
||||
{
|
||||
}
|
||||
public function __construct(private readonly RuleAction $action) {}
|
||||
|
||||
public function actOnArray(array $journal): bool
|
||||
{
|
||||
|
@@ -40,9 +40,7 @@ class AppendDescription implements ActionInterface
|
||||
/**
|
||||
* TriggerInterface constructor.
|
||||
*/
|
||||
public function __construct(private RuleAction $action)
|
||||
{
|
||||
}
|
||||
public function __construct(private RuleAction $action) {}
|
||||
|
||||
public function actOnArray(array $journal): bool
|
||||
{
|
||||
|
@@ -42,9 +42,7 @@ class AppendDescriptionToNotes implements ActionInterface
|
||||
/**
|
||||
* TriggerInterface constructor.
|
||||
*/
|
||||
public function __construct(private RuleAction $action)
|
||||
{
|
||||
}
|
||||
public function __construct(private RuleAction $action) {}
|
||||
|
||||
public function actOnArray(array $journal): bool
|
||||
{
|
||||
|
@@ -40,9 +40,7 @@ class AppendNotes implements ActionInterface
|
||||
/**
|
||||
* TriggerInterface constructor.
|
||||
*/
|
||||
public function __construct(private RuleAction $action)
|
||||
{
|
||||
}
|
||||
public function __construct(private RuleAction $action) {}
|
||||
|
||||
public function actOnArray(array $journal): bool
|
||||
{
|
||||
|
@@ -44,9 +44,7 @@ class AppendNotesToDescription implements ActionInterface
|
||||
/**
|
||||
* TriggerInterface constructor.
|
||||
*/
|
||||
public function __construct(private RuleAction $action)
|
||||
{
|
||||
}
|
||||
public function __construct(private RuleAction $action) {}
|
||||
|
||||
public function actOnArray(array $journal): bool
|
||||
{
|
||||
|
@@ -37,9 +37,7 @@ class ClearBudget implements ActionInterface
|
||||
/**
|
||||
* TriggerInterface constructor.
|
||||
*/
|
||||
public function __construct(private readonly RuleAction $action)
|
||||
{
|
||||
}
|
||||
public function __construct(private readonly RuleAction $action) {}
|
||||
|
||||
public function actOnArray(array $journal): bool
|
||||
{
|
||||
|
@@ -37,9 +37,7 @@ class ClearCategory implements ActionInterface
|
||||
/**
|
||||
* TriggerInterface constructor.
|
||||
*/
|
||||
public function __construct(private readonly RuleAction $action)
|
||||
{
|
||||
}
|
||||
public function __construct(private readonly RuleAction $action) {}
|
||||
|
||||
public function actOnArray(array $journal): bool
|
||||
{
|
||||
|
@@ -38,9 +38,7 @@ class ClearNotes implements ActionInterface
|
||||
/**
|
||||
* TriggerInterface constructor.
|
||||
*/
|
||||
public function __construct(private readonly RuleAction $action)
|
||||
{
|
||||
}
|
||||
public function __construct(private readonly RuleAction $action) {}
|
||||
|
||||
public function actOnArray(array $journal): bool
|
||||
{
|
||||
|
@@ -46,9 +46,7 @@ class ConvertToDeposit implements ActionInterface
|
||||
/**
|
||||
* TriggerInterface constructor.
|
||||
*/
|
||||
public function __construct(private readonly RuleAction $action)
|
||||
{
|
||||
}
|
||||
public function __construct(private readonly RuleAction $action) {}
|
||||
|
||||
public function actOnArray(array $journal): bool
|
||||
{
|
||||
|
@@ -45,9 +45,7 @@ class ConvertToTransfer implements ActionInterface
|
||||
/**
|
||||
* TriggerInterface constructor.
|
||||
*/
|
||||
public function __construct(private readonly RuleAction $action)
|
||||
{
|
||||
}
|
||||
public function __construct(private readonly RuleAction $action) {}
|
||||
|
||||
/**
|
||||
* @SuppressWarnings("PHPMD.ExcessiveMethodLength")
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user