mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 15:35:15 +00:00
Update code
This commit is contained in:
30
.ci/phpmd/composer.lock
generated
30
.ci/phpmd/composer.lock
generated
@@ -680,16 +680,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-ctype",
|
"name": "symfony/polyfill-ctype",
|
||||||
"version": "v1.28.0",
|
"version": "v1.29.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-ctype.git",
|
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||||
"reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
|
"reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
|
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4",
|
||||||
"reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
|
"reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -703,9 +703,6 @@
|
|||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
"url": "https://github.com/symfony/polyfill"
|
"url": "https://github.com/symfony/polyfill"
|
||||||
@@ -742,7 +739,7 @@
|
|||||||
"portable"
|
"portable"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
|
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -758,20 +755,20 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-01-26T09:26:14+00:00"
|
"time": "2024-01-29T20:11:03+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-mbstring",
|
"name": "symfony/polyfill-mbstring",
|
||||||
"version": "v1.28.0",
|
"version": "v1.29.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||||
"reference": "42292d99c55abe617799667f454222c54c60e229"
|
"reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
|
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
|
||||||
"reference": "42292d99c55abe617799667f454222c54c60e229",
|
"reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -785,9 +782,6 @@
|
|||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
"url": "https://github.com/symfony/polyfill"
|
"url": "https://github.com/symfony/polyfill"
|
||||||
@@ -825,7 +819,7 @@
|
|||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
|
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -841,7 +835,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-07-28T09:04:16+00:00"
|
"time": "2024-01-29T20:11:03+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/service-contracts",
|
"name": "symfony/service-contracts",
|
||||||
|
@@ -60,11 +60,8 @@ class TransactionController extends Controller
|
|||||||
$collector->setEnd($end);
|
$collector->setEnd($end);
|
||||||
}
|
}
|
||||||
|
|
||||||
// $collector->dumpQuery();
|
|
||||||
// exit;
|
|
||||||
|
|
||||||
$paginator = $collector->getPaginatedGroups();
|
$paginator = $collector->getPaginatedGroups();
|
||||||
$params = $request->buildParams($pageSize);
|
$params = $request->buildParams();
|
||||||
$paginator->setPath(
|
$paginator->setPath(
|
||||||
sprintf(
|
sprintf(
|
||||||
'%s?%s',
|
'%s?%s',
|
||||||
@@ -119,6 +116,7 @@ class TransactionController extends Controller
|
|||||||
|
|
||||||
return response()
|
return response()
|
||||||
->json($this->jsonApiList('transactions', $paginator, new TransactionGroupTransformer()))
|
->json($this->jsonApiList('transactions', $paginator, new TransactionGroupTransformer()))
|
||||||
->header('Content-Type', self::CONTENT_TYPE);
|
->header('Content-Type', self::CONTENT_TYPE)
|
||||||
|
;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -28,8 +28,8 @@ use FireflyIII\Events\Model\Rule\RuleActionFailedOnArray;
|
|||||||
use FireflyIII\Events\Model\Rule\RuleActionFailedOnObject;
|
use FireflyIII\Events\Model\Rule\RuleActionFailedOnObject;
|
||||||
use FireflyIII\Notifications\User\RuleActionFailed;
|
use FireflyIII\Notifications\User\RuleActionFailed;
|
||||||
use GuzzleHttp\Exception\ClientException;
|
use GuzzleHttp\Exception\ClientException;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
use Illuminate\Support\Facades\Notification;
|
use Illuminate\Support\Facades\Notification;
|
||||||
use Log;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class RuleHandler
|
* Class RuleHandler
|
||||||
@@ -57,6 +57,7 @@ class RuleHandler
|
|||||||
$ruleTitle = $rule->title;
|
$ruleTitle = $rule->title;
|
||||||
$ruleLink = route('rules.edit', [$rule->id]);
|
$ruleLink = route('rules.edit', [$rule->id]);
|
||||||
$params = [$mainMessage, $groupTitle, $groupLink, $ruleTitle, $ruleLink];
|
$params = [$mainMessage, $groupTitle, $groupLink, $ruleTitle, $ruleLink];
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Notification::send($user, new RuleActionFailed($params));
|
Notification::send($user, new RuleActionFailed($params));
|
||||||
} catch(ClientException $e) {
|
} catch(ClientException $e) {
|
||||||
@@ -85,6 +86,7 @@ class RuleHandler
|
|||||||
$ruleTitle = $rule->title;
|
$ruleTitle = $rule->title;
|
||||||
$ruleLink = route('rules.edit', [$rule->id]);
|
$ruleLink = route('rules.edit', [$rule->id]);
|
||||||
$params = [$mainMessage, $groupTitle, $groupLink, $ruleTitle, $ruleLink];
|
$params = [$mainMessage, $groupTitle, $groupLink, $ruleTitle, $ruleLink];
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Notification::send($user, new RuleActionFailed($params));
|
Notification::send($user, new RuleActionFailed($params));
|
||||||
} catch(ClientException $e) {
|
} catch(ClientException $e) {
|
||||||
|
@@ -477,7 +477,7 @@ class GroupCollector implements GroupCollectorInterface
|
|||||||
}
|
}
|
||||||
// OR filter the array according to the start and end row variable
|
// OR filter the array according to the start and end row variable
|
||||||
if (null !== $this->startRow && null !== $this->endRow) {
|
if (null !== $this->startRow && null !== $this->endRow) {
|
||||||
return $collection->slice((int)$this->startRow, (int)$this->endRow);
|
return $collection->slice($this->startRow, $this->endRow);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $collection;
|
return $collection;
|
||||||
@@ -493,7 +493,7 @@ class GroupCollector implements GroupCollectorInterface
|
|||||||
$this->setLimit(50);
|
$this->setLimit(50);
|
||||||
}
|
}
|
||||||
if(null !== $this->startRow && null !== $this->endRow) {
|
if(null !== $this->startRow && null !== $this->endRow) {
|
||||||
$total = (int)($this->endRow - $this->startRow);
|
$total = $this->endRow - $this->startRow;
|
||||||
|
|
||||||
return new LengthAwarePaginator($set, $this->total, $total, 1);
|
return new LengthAwarePaginator($set, $this->total, $total, 1);
|
||||||
}
|
}
|
||||||
|
@@ -44,7 +44,7 @@ class UpdateRequest implements UpdateRequestInterface
|
|||||||
];
|
];
|
||||||
|
|
||||||
// try to get array from update server:
|
// try to get array from update server:
|
||||||
$updateInfo = $this->contactServer($channel);
|
$updateInfo = $this->contactServer($channel);
|
||||||
if ('error' === $updateInfo['level']) {
|
if ('error' === $updateInfo['level']) {
|
||||||
app('log')->error('Update information contains an error.');
|
app('log')->error('Update information contains an error.');
|
||||||
app('log')->error($updateInfo['message']);
|
app('log')->error($updateInfo['message']);
|
||||||
@@ -61,14 +61,14 @@ class UpdateRequest implements UpdateRequestInterface
|
|||||||
{
|
{
|
||||||
app('log')->debug(sprintf('Now in contactServer(%s)', $channel));
|
app('log')->debug(sprintf('Now in contactServer(%s)', $channel));
|
||||||
// always fall back to current version:
|
// always fall back to current version:
|
||||||
$return = [
|
$return = [
|
||||||
'version' => config('firefly.version'),
|
'version' => config('firefly.version'),
|
||||||
'date' => today(config('app.timezone'))->startOfDay(),
|
'date' => today(config('app.timezone'))->startOfDay(),
|
||||||
'level' => 'error',
|
'level' => 'error',
|
||||||
'message' => (string)trans('firefly.unknown_error'),
|
'message' => (string)trans('firefly.unknown_error'),
|
||||||
];
|
];
|
||||||
|
|
||||||
$url = config('firefly.update_endpoint');
|
$url = config('firefly.update_endpoint');
|
||||||
app('log')->debug(sprintf('Going to call %s', $url));
|
app('log')->debug(sprintf('Going to call %s', $url));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -96,7 +96,7 @@ class UpdateRequest implements UpdateRequestInterface
|
|||||||
|
|
||||||
return $return;
|
return $return;
|
||||||
}
|
}
|
||||||
$body = (string)$res->getBody();
|
$body = (string)$res->getBody();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$json = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
|
$json = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
|
||||||
@@ -115,8 +115,8 @@ class UpdateRequest implements UpdateRequestInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
// parse response a bit. No message yet.
|
// parse response a bit. No message yet.
|
||||||
$response = $json['firefly_iii'][$channel];
|
$response = $json['firefly_iii'][$channel];
|
||||||
$date = Carbon::createFromFormat('Y-m-d', $response['date']);
|
$date = Carbon::createFromFormat('Y-m-d', $response['date']);
|
||||||
if (false === $date) {
|
if (false === $date) {
|
||||||
$date = today(config('app.timezone'));
|
$date = today(config('app.timezone'));
|
||||||
}
|
}
|
||||||
@@ -129,15 +129,19 @@ class UpdateRequest implements UpdateRequestInterface
|
|||||||
return $return;
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO make shorter
|
||||||
|
*
|
||||||
|
* @param array $information
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
private function parseResult(array $information): array
|
private function parseResult(array $information): array
|
||||||
{
|
{
|
||||||
app('log')->debug('Now in parseResult()', $information);
|
app('log')->debug('Now in parseResult()', $information);
|
||||||
$return = [
|
$return = [];
|
||||||
'level' => 'error',
|
$current = config('firefly.version');
|
||||||
'message' => (string)trans('firefly.unknown_error'),
|
$latest = $information['version'];
|
||||||
];
|
|
||||||
$current = config('firefly.version');
|
|
||||||
$latest = $information['version'];
|
|
||||||
|
|
||||||
// strip the 'v' from the version if it's there.
|
// strip the 'v' from the version if it's there.
|
||||||
if (str_starts_with($latest, 'v')) {
|
if (str_starts_with($latest, 'v')) {
|
||||||
@@ -145,22 +149,25 @@ class UpdateRequest implements UpdateRequestInterface
|
|||||||
}
|
}
|
||||||
if (str_starts_with($current, 'develop')) {
|
if (str_starts_with($current, 'develop')) {
|
||||||
Log::debug(sprintf('User is running develop version "%s"', $current));
|
Log::debug(sprintf('User is running develop version "%s"', $current));
|
||||||
$parts = explode('/', $current);
|
$parts = explode('/', $current);
|
||||||
$devDate = Carbon::createFromFormat('Y-m-d', $parts[1]);
|
/** @var Carbon $devDate */
|
||||||
|
$devDate = Carbon::createFromFormat('Y-m-d', $parts[1]);
|
||||||
|
|
||||||
if ($devDate->lte($information['date'])) {
|
if ($devDate->lte($information['date'])) {
|
||||||
Log::debug(sprintf('This development release is older, release = %s, latest version %s = %s', $devDate->format('Y-m-d'), $latest, $information['date']->format('Y-m-d')));
|
Log::debug(sprintf('This development release is older, release = %s, latest version %s = %s', $devDate->format('Y-m-d'), $latest, $information['date']->format('Y-m-d')));
|
||||||
$return['level'] = 'info';
|
$return['level'] = 'info';
|
||||||
$return['message'] = (string)trans('firefly.update_current_dev_older', ['version' => $current, 'new_version' => $latest]);
|
$return['message'] = (string)trans('firefly.update_current_dev_older', ['version' => $current, 'new_version' => $latest]);
|
||||||
|
|
||||||
return $return;
|
return $return;
|
||||||
}
|
}
|
||||||
Log::debug(sprintf('This development release is newer, release = %s, latest version %s = %s', $devDate->format('Y-m-d'), $latest, $information['date']->format('Y-m-d')));
|
Log::debug(sprintf('This development release is newer, release = %s, latest version %s = %s', $devDate->format('Y-m-d'), $latest, $information['date']->format('Y-m-d')));
|
||||||
$return['level'] = 'info';
|
$return['level'] = 'info';
|
||||||
$return['message'] = (string)trans('firefly.update_current_dev_newer', ['version' => $current, 'new_version' => $latest]);
|
$return['message'] = (string)trans('firefly.update_current_dev_newer', ['version' => $current, 'new_version' => $latest]);
|
||||||
|
|
||||||
return $return;
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$compare = version_compare($latest, $current);
|
$compare = version_compare($latest, $current);
|
||||||
|
|
||||||
app('log')->debug(sprintf('Current version is "%s", latest is "%s", result is: %d', $current, $latest, $compare));
|
app('log')->debug(sprintf('Current version is "%s", latest is "%s", result is: %d', $current, $latest, $compare));
|
||||||
|
|
||||||
@@ -183,10 +190,10 @@ class UpdateRequest implements UpdateRequestInterface
|
|||||||
|
|
||||||
// a newer version is available!
|
// a newer version is available!
|
||||||
/** @var Carbon $released */
|
/** @var Carbon $released */
|
||||||
$released = $information['date'];
|
$released = $information['date'];
|
||||||
$today = today(config('app.timezone'))->startOfDay();
|
$today = today(config('app.timezone'))->startOfDay();
|
||||||
$diff = $today->diffInDays($released);
|
$diff = $today->diffInDays($released);
|
||||||
$expectedDiff = config('firefly.update_minimum_age') ?? 6;
|
$expectedDiff = config('firefly.update_minimum_age') ?? 6;
|
||||||
// it's still very fresh, and user wants a stable release:
|
// it's still very fresh, and user wants a stable release:
|
||||||
if ($diff <= $expectedDiff) {
|
if ($diff <= $expectedDiff) {
|
||||||
$return['level'] = 'info';
|
$return['level'] = 'info';
|
||||||
@@ -217,13 +224,13 @@ class UpdateRequest implements UpdateRequestInterface
|
|||||||
|
|
||||||
// add warning in case of alpha or beta:
|
// add warning in case of alpha or beta:
|
||||||
// append warning if beta or alpha.
|
// append warning if beta or alpha.
|
||||||
$isBeta = $information['is_beta'] ?? false;
|
$isBeta = $information['is_beta'] ?? false;
|
||||||
if (true === $isBeta) {
|
if (true === $isBeta) {
|
||||||
$return['message'] = sprintf('%s %s', $return['message'], trans('firefly.update_version_beta'));
|
$return['message'] = sprintf('%s %s', $return['message'], trans('firefly.update_version_beta'));
|
||||||
app('log')->debug('New release is also a beta!');
|
app('log')->debug('New release is also a beta!');
|
||||||
}
|
}
|
||||||
|
|
||||||
$isAlpha = $information['is_alpha'] ?? false;
|
$isAlpha = $information['is_alpha'] ?? false;
|
||||||
if (true === $isAlpha) {
|
if (true === $isAlpha) {
|
||||||
$return['message'] = sprintf('%s %s', $return['message'], trans('firefly.update_version_alpha'));
|
$return['message'] = sprintf('%s %s', $return['message'], trans('firefly.update_version_alpha'));
|
||||||
app('log')->debug('New release is also a alpha!');
|
app('log')->debug('New release is also a alpha!');
|
||||||
|
@@ -89,7 +89,7 @@ class SetCategory implements ActionInterface
|
|||||||
$oldCategory = $object->categories()->first();
|
$oldCategory = $object->categories()->first();
|
||||||
$oldCategoryName = $oldCategory?->name;
|
$oldCategoryName = $oldCategory?->name;
|
||||||
if ((int)$oldCategory?->id === $category->id) {
|
if ((int)$oldCategory?->id === $category->id) {
|
||||||
//event(new RuleActionFailedOnArray($this->action, $journal, trans('rules.already_linked_to_category', ['name' => $category->name])));
|
// event(new RuleActionFailedOnArray($this->action, $journal, trans('rules.already_linked_to_category', ['name' => $category->name])));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user