mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-11-09 03:08:09 +00:00
Compare commits
15 Commits
develop-20
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e7432d791e | ||
|
|
3a26ed5cfa | ||
|
|
119bc96669 | ||
|
|
93238e3993 | ||
|
|
eed5f1ca92 | ||
|
|
ae2ab86e88 | ||
|
|
4c4e7e4125 | ||
|
|
37d6319fb1 | ||
|
|
444c038d9f | ||
|
|
4cd9d543eb | ||
|
|
3963648bb7 | ||
|
|
aee5f5cdf8 | ||
|
|
2c44bbb009 | ||
|
|
57d8d37ac7 | ||
|
|
732d6c807c |
@@ -57,26 +57,26 @@ return RectorConfig::configure()
|
|||||||
// uncomment to reach your current PHP version
|
// uncomment to reach your current PHP version
|
||||||
->withPhpSets()
|
->withPhpSets()
|
||||||
->withPreparedSets(
|
->withPreparedSets(
|
||||||
|
deadCode: true,
|
||||||
|
codeQuality: true,
|
||||||
codingStyle: false, // leave false
|
codingStyle: false, // leave false
|
||||||
|
typeDeclarations: true,
|
||||||
|
typeDeclarationDocblocks: false,
|
||||||
privatization: false, // leave false.
|
privatization: false, // leave false.
|
||||||
naming: false, // leave false
|
naming: false, // leave false
|
||||||
instanceOf: true,
|
instanceOf: true,
|
||||||
earlyReturn: true,
|
earlyReturn: true,
|
||||||
strictBooleans: true,
|
// strictBooleans: true, // has a new thingie.
|
||||||
carbon: true,
|
carbon: true,
|
||||||
rectorPreset: true,
|
rectorPreset: true,
|
||||||
phpunitCodeQuality: true,
|
phpunitCodeQuality: true,
|
||||||
doctrineCodeQuality: true,
|
doctrineCodeQuality: true,
|
||||||
symfonyCodeQuality: true,
|
symfonyCodeQuality: true,
|
||||||
symfonyConfigs: true
|
symfonyConfigs: true,
|
||||||
|
|
||||||
)
|
)
|
||||||
->withComposerBased(
|
->withComposerBased(
|
||||||
twig: true,
|
twig: true,
|
||||||
doctrine: true,
|
doctrine: true,
|
||||||
phpunit: true,
|
phpunit: true,
|
||||||
symfony: true)
|
symfony: true)
|
||||||
->withTypeCoverageLevel(0)
|
|
||||||
->withDeadCodeLevel(0)
|
|
||||||
->withCodeQualityLevel(0)
|
|
||||||
->withImportNames(removeUnusedImports: true);// import statements instead of full classes.
|
->withImportNames(removeUnusedImports: true);// import statements instead of full classes.
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ class HomeController extends Controller
|
|||||||
$stringStart = e((string) $request->get('start'));
|
$stringStart = e((string) $request->get('start'));
|
||||||
$start = Carbon::createFromFormat('Y-m-d', $stringStart);
|
$start = Carbon::createFromFormat('Y-m-d', $stringStart);
|
||||||
} catch (InvalidFormatException) {
|
} catch (InvalidFormatException) {
|
||||||
app('log')->error(sprintf('Start: could not parse date string "%s" so ignore it.', $stringStart));
|
Log::error(sprintf('Start: could not parse date string "%s" so ignore it.', $stringStart));
|
||||||
$start = Carbon::now()->startOfMonth();
|
$start = Carbon::now()->startOfMonth();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ class HomeController extends Controller
|
|||||||
$stringEnd = e((string) $request->get('end'));
|
$stringEnd = e((string) $request->get('end'));
|
||||||
$end = Carbon::createFromFormat('Y-m-d', $stringEnd);
|
$end = Carbon::createFromFormat('Y-m-d', $stringEnd);
|
||||||
} catch (InvalidFormatException) {
|
} catch (InvalidFormatException) {
|
||||||
app('log')->error(sprintf('End could not parse date string "%s" so ignore it.', $stringEnd));
|
Log::error(sprintf('End could not parse date string "%s" so ignore it.', $stringEnd));
|
||||||
$end = Carbon::now()->endOfMonth();
|
$end = Carbon::now()->endOfMonth();
|
||||||
}
|
}
|
||||||
if (null === $start) {
|
if (null === $start) {
|
||||||
@@ -90,12 +90,12 @@ class HomeController extends Controller
|
|||||||
$label = $request->get('label');
|
$label = $request->get('label');
|
||||||
$isCustomRange = false;
|
$isCustomRange = false;
|
||||||
|
|
||||||
app('log')->debug('dateRange: Received dateRange', ['start' => $stringStart, 'end' => $stringEnd, 'label' => $request->get('label')]);
|
Log::debug('dateRange: Received dateRange', ['start' => $stringStart, 'end' => $stringEnd, 'label' => $request->get('label')]);
|
||||||
// check if the label is "everything" or "Custom range" which will betray
|
// check if the label is "everything" or "Custom range" which will betray
|
||||||
// a possible problem with the budgets.
|
// a possible problem with the budgets.
|
||||||
if ($label === (string) trans('firefly.everything') || $label === (string) trans('firefly.customRange')) {
|
if ($label === (string) trans('firefly.everything') || $label === (string) trans('firefly.customRange')) {
|
||||||
$isCustomRange = true;
|
$isCustomRange = true;
|
||||||
app('log')->debug('Range is now marked as "custom".');
|
Log::debug('Range is now marked as "custom".');
|
||||||
}
|
}
|
||||||
|
|
||||||
$diff = $start->diffInDays($end, true) + 1;
|
$diff = $start->diffInDays($end, true) + 1;
|
||||||
@@ -105,11 +105,11 @@ class HomeController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
$request->session()->put('is_custom_range', $isCustomRange);
|
$request->session()->put('is_custom_range', $isCustomRange);
|
||||||
app('log')->debug(sprintf('Set is_custom_range to %s', var_export($isCustomRange, true)));
|
Log::debug(sprintf('Set is_custom_range to %s', var_export($isCustomRange, true)));
|
||||||
$request->session()->put('start', $start);
|
$request->session()->put('start', $start);
|
||||||
app('log')->debug(sprintf('Set start to %s', $start->format('Y-m-d H:i:s')));
|
Log::debug(sprintf('Set start to %s', $start->format('Y-m-d H:i:s')));
|
||||||
$request->session()->put('end', $end);
|
$request->session()->put('end', $end);
|
||||||
app('log')->debug(sprintf('Set end to %s', $end->format('Y-m-d H:i:s')));
|
Log::debug(sprintf('Set end to %s', $end->format('Y-m-d H:i:s')));
|
||||||
|
|
||||||
return response()->json(['ok' => 'ok']);
|
return response()->json(['ok' => 'ok']);
|
||||||
}
|
}
|
||||||
@@ -161,7 +161,7 @@ class HomeController extends Controller
|
|||||||
$today = today(config('app.timezone'));
|
$today = today(config('app.timezone'));
|
||||||
$accounts = $accounts->sortBy('order'); // sort frontpage accounts by order
|
$accounts = $accounts->sortBy('order'); // sort frontpage accounts by order
|
||||||
|
|
||||||
app('log')->debug('Frontpage accounts are ', $frontpageArray);
|
Log::debug('Frontpage accounts are ', $frontpageArray);
|
||||||
|
|
||||||
/** @var BillRepositoryInterface $billRepository */
|
/** @var BillRepositoryInterface $billRepository */
|
||||||
$billRepository = app(BillRepositoryInterface::class);
|
$billRepository = app(BillRepositoryInterface::class);
|
||||||
|
|||||||
@@ -154,8 +154,8 @@ class EditController extends Controller
|
|||||||
$array['repeat_until'] = substr((string) $array['repeat_until'], 0, 10);
|
$array['repeat_until'] = substr((string) $array['repeat_until'], 0, 10);
|
||||||
$array['transactions'][0]['tags'] = implode(',', $array['transactions'][0]['tags'] ?? []);
|
$array['transactions'][0]['tags'] = implode(',', $array['transactions'][0]['tags'] ?? []);
|
||||||
$array['transactions'][0]['amount'] = round((float) $array['transactions'][0]['amount'], $array['transactions'][0]['currency_decimal_places']);
|
$array['transactions'][0]['amount'] = round((float) $array['transactions'][0]['amount'], $array['transactions'][0]['currency_decimal_places']);
|
||||||
if (null !== $array['transactions'][0]['foreign_amount']) {
|
if (null !== $array['transactions'][0]['foreign_amount'] && '' !== $array['transactions'][0]['foreign_amount']) {
|
||||||
$array['transactions'][0]['foreign_amount'] = round((float) $array['transactions'][0]['foreign_amount'], $array['transactions'][0]['foreign_currency_decimal_places']);
|
$array['transactions'][0]['foreign_amount'] = round((float) $array['transactions'][0]['foreign_amount'], $array['transactions'][0]['foreign_currency_decimal_places'] ?? 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
return view(
|
return view(
|
||||||
|
|||||||
@@ -157,6 +157,14 @@ class General extends AbstractExtension
|
|||||||
|
|
||||||
/** @var Carbon $date */
|
/** @var Carbon $date */
|
||||||
$date = now();
|
$date = now();
|
||||||
|
|
||||||
|
// get the date from the current session. If it's in the future, keep `now()`.
|
||||||
|
/** @var Carbon $session */
|
||||||
|
$session = clone session('end', today(config('app.timezone'))->endOfMonth());
|
||||||
|
if ($session->lt($date)) {
|
||||||
|
$date = $session->copy();
|
||||||
|
$date->endOfDay();
|
||||||
|
}
|
||||||
Log::debug(sprintf('twig balance: Call finalAccountBalance with date/time "%s"', $date->toIso8601String()));
|
Log::debug(sprintf('twig balance: Call finalAccountBalance with date/time "%s"', $date->toIso8601String()));
|
||||||
|
|
||||||
// 2025-10-08 replace finalAccountBalance with accountsBalancesOptimized.
|
// 2025-10-08 replace finalAccountBalance with accountsBalancesOptimized.
|
||||||
|
|||||||
11
changelog.md
11
changelog.md
@@ -3,7 +3,16 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
## 6.4.5 - 2025-11-xx
|
## 6.4.6 - 2025-11-09
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- [Issue 11157](https://github.com/firefly-iii/firefly-iii/issues/11157) (Redacted amounts misbehave with Reports) reported by @barreeeiroo
|
||||||
|
- [Issue 11166](https://github.com/firefly-iii/firefly-iii/issues/11166) (Optional transaction information field not saved when updating a recuring transaction) reported by @Old-Veeh
|
||||||
|
- [Issue 11185](https://github.com/firefly-iii/firefly-iii/issues/11185) (Internal server error after apply rule) reported by @Citroene
|
||||||
|
- [Issue 11196](https://github.com/firefly-iii/firefly-iii/issues/11196) (Exception when editing recurring transaction) reported by @Insprill
|
||||||
|
|
||||||
|
## 6.4.5 - 2025-11-09
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
|||||||
@@ -78,8 +78,8 @@ return [
|
|||||||
'running_balance_column' => env('USE_RUNNING_BALANCE', false),
|
'running_balance_column' => env('USE_RUNNING_BALANCE', false),
|
||||||
// see cer.php for exchange rates feature flag.
|
// see cer.php for exchange rates feature flag.
|
||||||
],
|
],
|
||||||
'version' => 'develop/2025-11-08',
|
'version' => '6.4.6',
|
||||||
'build_time' => 1762586129,
|
'build_time' => 1762641809,
|
||||||
'api_version' => '2.1.0', // field is no longer used.
|
'api_version' => '2.1.0', // field is no longer used.
|
||||||
'db_version' => 28, // field is no longer used.
|
'db_version' => 28, // field is no longer used.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user