Update code

This commit is contained in:
James Cole
2024-02-14 19:47:35 +01:00
parent ac17b82d85
commit 7897ebc4d5
6 changed files with 49 additions and 48 deletions

View File

@@ -60,11 +60,8 @@ class TransactionController extends Controller
$collector->setEnd($end);
}
// $collector->dumpQuery();
// exit;
$paginator = $collector->getPaginatedGroups();
$params = $request->buildParams($pageSize);
$params = $request->buildParams();
$paginator->setPath(
sprintf(
'%s?%s',
@@ -119,6 +116,7 @@ class TransactionController extends Controller
return response()
->json($this->jsonApiList('transactions', $paginator, new TransactionGroupTransformer()))
->header('Content-Type', self::CONTENT_TYPE);
->header('Content-Type', self::CONTENT_TYPE)
;
}
}

View File

@@ -28,8 +28,8 @@ use FireflyIII\Events\Model\Rule\RuleActionFailedOnArray;
use FireflyIII\Events\Model\Rule\RuleActionFailedOnObject;
use FireflyIII\Notifications\User\RuleActionFailed;
use GuzzleHttp\Exception\ClientException;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Notification;
use Log;
/**
* Class RuleHandler
@@ -57,6 +57,7 @@ class RuleHandler
$ruleTitle = $rule->title;
$ruleLink = route('rules.edit', [$rule->id]);
$params = [$mainMessage, $groupTitle, $groupLink, $ruleTitle, $ruleLink];
try {
Notification::send($user, new RuleActionFailed($params));
} catch(ClientException $e) {
@@ -85,6 +86,7 @@ class RuleHandler
$ruleTitle = $rule->title;
$ruleLink = route('rules.edit', [$rule->id]);
$params = [$mainMessage, $groupTitle, $groupLink, $ruleTitle, $ruleLink];
try {
Notification::send($user, new RuleActionFailed($params));
} catch(ClientException $e) {

View File

@@ -477,7 +477,7 @@ class GroupCollector implements GroupCollectorInterface
}
// OR filter the array according to the start and end row variable
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;
@@ -493,7 +493,7 @@ class GroupCollector implements GroupCollectorInterface
$this->setLimit(50);
}
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);
}

View File

@@ -44,7 +44,7 @@ class UpdateRequest implements UpdateRequestInterface
];
// try to get array from update server:
$updateInfo = $this->contactServer($channel);
$updateInfo = $this->contactServer($channel);
if ('error' === $updateInfo['level']) {
app('log')->error('Update information contains an error.');
app('log')->error($updateInfo['message']);
@@ -61,14 +61,14 @@ class UpdateRequest implements UpdateRequestInterface
{
app('log')->debug(sprintf('Now in contactServer(%s)', $channel));
// always fall back to current version:
$return = [
$return = [
'version' => config('firefly.version'),
'date' => today(config('app.timezone'))->startOfDay(),
'level' => '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));
try {
@@ -96,7 +96,7 @@ class UpdateRequest implements UpdateRequestInterface
return $return;
}
$body = (string)$res->getBody();
$body = (string)$res->getBody();
try {
$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.
$response = $json['firefly_iii'][$channel];
$date = Carbon::createFromFormat('Y-m-d', $response['date']);
$response = $json['firefly_iii'][$channel];
$date = Carbon::createFromFormat('Y-m-d', $response['date']);
if (false === $date) {
$date = today(config('app.timezone'));
}
@@ -129,15 +129,19 @@ class UpdateRequest implements UpdateRequestInterface
return $return;
}
/**
* TODO make shorter
*
* @param array $information
*
* @return array
*/
private function parseResult(array $information): array
{
app('log')->debug('Now in parseResult()', $information);
$return = [
'level' => 'error',
'message' => (string)trans('firefly.unknown_error'),
];
$current = config('firefly.version');
$latest = $information['version'];
$return = [];
$current = config('firefly.version');
$latest = $information['version'];
// strip the 'v' from the version if it's there.
if (str_starts_with($latest, 'v')) {
@@ -145,22 +149,25 @@ class UpdateRequest implements UpdateRequestInterface
}
if (str_starts_with($current, 'develop')) {
Log::debug(sprintf('User is running develop version "%s"', $current));
$parts = explode('/', $current);
$devDate = Carbon::createFromFormat('Y-m-d', $parts[1]);
$parts = explode('/', $current);
/** @var Carbon $devDate */
$devDate = Carbon::createFromFormat('Y-m-d', $parts[1]);
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')));
$return['level'] = 'info';
$return['message'] = (string)trans('firefly.update_current_dev_older', ['version' => $current, 'new_version' => $latest]);
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')));
$return['level'] = 'info';
$return['message'] = (string)trans('firefly.update_current_dev_newer', ['version' => $current, 'new_version' => $latest]);
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));
@@ -183,10 +190,10 @@ class UpdateRequest implements UpdateRequestInterface
// a newer version is available!
/** @var Carbon $released */
$released = $information['date'];
$today = today(config('app.timezone'))->startOfDay();
$diff = $today->diffInDays($released);
$expectedDiff = config('firefly.update_minimum_age') ?? 6;
$released = $information['date'];
$today = today(config('app.timezone'))->startOfDay();
$diff = $today->diffInDays($released);
$expectedDiff = config('firefly.update_minimum_age') ?? 6;
// it's still very fresh, and user wants a stable release:
if ($diff <= $expectedDiff) {
$return['level'] = 'info';
@@ -217,13 +224,13 @@ class UpdateRequest implements UpdateRequestInterface
// add warning in case of alpha or beta:
// append warning if beta or alpha.
$isBeta = $information['is_beta'] ?? false;
$isBeta = $information['is_beta'] ?? false;
if (true === $isBeta) {
$return['message'] = sprintf('%s %s', $return['message'], trans('firefly.update_version_beta'));
app('log')->debug('New release is also a beta!');
}
$isAlpha = $information['is_alpha'] ?? false;
$isAlpha = $information['is_alpha'] ?? false;
if (true === $isAlpha) {
$return['message'] = sprintf('%s %s', $return['message'], trans('firefly.update_version_alpha'));
app('log')->debug('New release is also a alpha!');

View File

@@ -89,7 +89,7 @@ class SetCategory implements ActionInterface
$oldCategory = $object->categories()->first();
$oldCategoryName = $oldCategory?->name;
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;
}