Compare commits

...

11 Commits

Author SHA1 Message Date
github-actions[bot]
e4a3cbc9da Merge pull request #11640 from firefly-iii/release-1770044183
🤖 Automatically merge the PR into the develop branch.
2026-02-02 15:56:32 +01:00
JC5
18734b0edd 🤖 Auto commit for release 'develop' on 2026-02-02 2026-02-02 15:56:24 +01:00
Sander Dorigo
f52b3bf5f5 Merge branch 'develop' of https://github.com/firefly-iii/firefly-iii into develop 2026-02-02 15:39:06 +01:00
Sander Dorigo
3abba71f8d Fix null pointer 2026-02-02 15:39:03 +01:00
github-actions[bot]
95bdc87ed7 Merge pull request #11639 from firefly-iii/release-1770040333
🤖 Automatically merge the PR into the develop branch.
2026-02-02 14:52:22 +01:00
JC5
9a66b4017b 🤖 Auto commit for release 'develop' on 2026-02-02 2026-02-02 14:52:13 +01:00
Sander Dorigo
610e3f3ae5 Try to fix null pointer 2026-02-02 14:39:03 +01:00
James Cole
a58e70c08b Merge pull request #11632 from mateuszkulapl/main
fix v2 layout dashboard transactions load
2026-02-02 08:42:54 +01:00
mergify[bot]
24c96d40c9 Merge branch 'develop' into main 2026-02-02 03:56:28 +00:00
mergify[bot]
ae680cd41f Merge branch 'develop' into main 2026-02-01 12:11:25 +00:00
mateuszkulapl
5e9ea1ca10 fix v2 layout dashboard transactions load
update transactions function to accept multiple params (page, start, end)
to match usage in loadAccounts (resources/assets/v2/src/pages/dashboard/accounts.js)
2026-02-01 13:05:52 +01:00
9 changed files with 61 additions and 32 deletions

View File

@@ -45,6 +45,7 @@ class BatchController extends Controller
parent::__construct();
$this->middleware(function ($request, $next) {
$this->repository = app(JournalRepositoryInterface::class);
$this->repository->setUser(auth()->user()); // should not have to do this.
return $next($request);
});

View File

@@ -68,7 +68,7 @@ class ProcessesNewTransactionGroup implements ShouldQueue
}
Log::debug(sprintf('Will (joined with group #%d) collect all open transaction groups and process them.', $groupId));
$repository = app(JournalRepositoryInterface::class);
$set = $collection->merge($repository->getUncompletedJournals());
$set = $collection->merge($repository->getAllUncompletedJournals());
if (0 === $set->count()) {
Log::debug('Set is empty, never mind.');
@@ -141,11 +141,13 @@ class ProcessesNewTransactionGroup implements ShouldQueue
private function removePeriodStatistics(Collection $set): void
{
Log::debug('Always remove period statistics');
if (auth()->check()) {
Log::debug('Always remove period statistics');
/** @var PeriodStatisticRepositoryInterface $repository */
$repository = app(PeriodStatisticRepositoryInterface::class);
$repository->deleteStatisticsForCollection($set);
/** @var PeriodStatisticRepositoryInterface $repository */
$repository = app(PeriodStatisticRepositoryInterface::class);
$repository->deleteStatisticsForCollection($set);
}
}
private function fireWebhooks(Collection $set): void

View File

@@ -262,6 +262,12 @@ class JournalRepository implements JournalRepositoryInterface, UserGroupInterfac
;
}
#[Override]
public function getAllUncompletedJournals(): Collection
{
return TransactionJournal::where('completed', false)->get(['transaction_journals.*']);
}
#[Override]
public function markAsCompleted(Collection $set): void
{

View File

@@ -54,6 +54,8 @@ interface JournalRepositoryInterface
public function getUncompletedJournals(): Collection;
public function getAllUncompletedJournals(): Collection;
public function markAsCompleted(Collection $set): void;
/**

View File

@@ -198,6 +198,9 @@
"composer/package-versions-deprecated": true,
"phpstan/extension-installer": true,
"php-http/discovery": true
},
"platform": {
"php": "8.4"
}
}
}

55
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "1de93b568d1a9a4847285e5b5bc6695b",
"content-hash": "72404106289a876b0046dceacbaccf24",
"packages": [
{
"name": "bacon/bacon-qr-code",
@@ -10683,16 +10683,16 @@
},
{
"name": "iamcal/sql-parser",
"version": "v0.6",
"version": "v0.7",
"source": {
"type": "git",
"url": "https://github.com/iamcal/SQLParser.git",
"reference": "947083e2dca211a6f12fb1beb67a01e387de9b62"
"reference": "610392f38de49a44dab08dc1659960a29874c4b8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/iamcal/SQLParser/zipball/947083e2dca211a6f12fb1beb67a01e387de9b62",
"reference": "947083e2dca211a6f12fb1beb67a01e387de9b62",
"url": "https://api.github.com/repos/iamcal/SQLParser/zipball/610392f38de49a44dab08dc1659960a29874c4b8",
"reference": "610392f38de49a44dab08dc1659960a29874c4b8",
"shasum": ""
},
"require-dev": {
@@ -10718,27 +10718,27 @@
"description": "MySQL schema parser",
"support": {
"issues": "https://github.com/iamcal/SQLParser/issues",
"source": "https://github.com/iamcal/SQLParser/tree/v0.6"
"source": "https://github.com/iamcal/SQLParser/tree/v0.7"
},
"time": "2025-03-17T16:59:46+00:00"
"time": "2026-01-28T22:20:33+00:00"
},
{
"name": "larastan/larastan",
"version": "v3.9.1",
"version": "v3.9.2",
"source": {
"type": "git",
"url": "https://github.com/larastan/larastan.git",
"reference": "4b92d9627f779fd32bdc16f53f8ce88c50446ff5"
"reference": "2e9ed291bdc1969e7f270fb33c9cdf3c912daeb2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/larastan/larastan/zipball/4b92d9627f779fd32bdc16f53f8ce88c50446ff5",
"reference": "4b92d9627f779fd32bdc16f53f8ce88c50446ff5",
"url": "https://api.github.com/repos/larastan/larastan/zipball/2e9ed291bdc1969e7f270fb33c9cdf3c912daeb2",
"reference": "2e9ed291bdc1969e7f270fb33c9cdf3c912daeb2",
"shasum": ""
},
"require": {
"ext-json": "*",
"iamcal/sql-parser": "^0.6.0",
"iamcal/sql-parser": "^0.7.0",
"illuminate/console": "^11.44.2 || ^12.4.1",
"illuminate/container": "^11.44.2 || ^12.4.1",
"illuminate/contracts": "^11.44.2 || ^12.4.1",
@@ -10802,7 +10802,7 @@
],
"support": {
"issues": "https://github.com/larastan/larastan/issues",
"source": "https://github.com/larastan/larastan/tree/v3.9.1"
"source": "https://github.com/larastan/larastan/tree/v3.9.2"
},
"funding": [
{
@@ -10810,7 +10810,7 @@
"type": "github"
}
],
"time": "2026-01-21T09:15:17+00:00"
"time": "2026-01-30T15:16:32+00:00"
},
{
"name": "laravel-json-api/testing",
@@ -11651,16 +11651,16 @@
},
{
"name": "phpunit/php-file-iterator",
"version": "6.0.0",
"version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "961bc913d42fe24a257bfff826a5068079ac7782"
"reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/961bc913d42fe24a257bfff826a5068079ac7782",
"reference": "961bc913d42fe24a257bfff826a5068079ac7782",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5",
"reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5",
"shasum": ""
},
"require": {
@@ -11700,15 +11700,27 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
"security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
"source": "https://github.com/sebastianbergmann/php-file-iterator/tree/6.0.0"
"source": "https://github.com/sebastianbergmann/php-file-iterator/tree/6.0.1"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
},
{
"url": "https://liberapay.com/sebastianbergmann",
"type": "liberapay"
},
{
"url": "https://thanks.dev/u/gh/sebastianbergmann",
"type": "thanks_dev"
},
{
"url": "https://tidelift.com/funding/github/packagist/phpunit/php-file-iterator",
"type": "tidelift"
}
],
"time": "2025-02-07T04:58:37+00:00"
"time": "2026-02-02T14:04:18+00:00"
},
{
"name": "phpunit/php-invoker",
@@ -13199,5 +13211,8 @@
"ext-xmlwriter": "*"
},
"platform-dev": {},
"platform-overrides": {
"php": "8.4"
},
"plugin-api-version": "2.9.0"
}

View File

@@ -79,7 +79,7 @@ return [
// see cer.php for exchange rates feature flag.
],
'version' => 'develop/2026-02-02',
'build_time' => 1770004409,
'build_time' => 1770044049,
'api_version' => '2.1.0', // field is no longer used.
'db_version' => 28, // field is no longer used.

6
package-lock.json generated
View File

@@ -4578,9 +4578,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001766",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz",
"integrity": "sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==",
"version": "1.0.30001767",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001767.tgz",
"integrity": "sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ==",
"dev": true,
"funding": [
{

View File

@@ -78,10 +78,10 @@ export default class Get {
/**
*
* @param identifier
* @param page
* @param params
* @returns {Promise<AxiosResponse<any>>}
*/
transactions(identifier, page) {
return api.get('/api/v1/accounts/' + identifier + '/transactions', {params: {page: page}});
transactions(identifier, params) {
return api.get('/api/v1/accounts/' + identifier + '/transactions', {params: params});
}
}