mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-12 15:35:15 +00:00
🤖 Auto commit for release 'v6.3.1' on 2025-08-18
This commit is contained in:
@@ -115,7 +115,7 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
*/
|
*/
|
||||||
private function generateMessage(Webhook $webhook, Model $model): void
|
private function generateMessage(Webhook $webhook, Model $model): void
|
||||||
{
|
{
|
||||||
$class = $model::class;
|
$class = $model::class;
|
||||||
// Line is ignored because all of Firefly III's Models have an id property.
|
// Line is ignored because all of Firefly III's Models have an id property.
|
||||||
Log::debug(sprintf('Now in generateMessage(#%d, %s#%d)', $webhook->id, $class, $model->id));
|
Log::debug(sprintf('Now in generateMessage(#%d, %s#%d)', $webhook->id, $class, $model->id));
|
||||||
$uuid = Uuid::uuid4();
|
$uuid = Uuid::uuid4();
|
||||||
@@ -137,15 +137,20 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
Log::error(sprintf('Webhook #%d was given %s#%d to deal with but can\'t extract user ID from it.', $webhook->id, $class, $model->id));
|
Log::error(sprintf('Webhook #%d was given %s#%d to deal with but can\'t extract user ID from it.', $webhook->id, $class, $model->id));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case Budget::class:
|
case Budget::class:
|
||||||
/** @var Budget $model */
|
/** @var Budget $model */
|
||||||
$basicMessage['user_id'] = $model->user_id;
|
$basicMessage['user_id'] = $model->user_id;
|
||||||
$basicMessage['user_group_id'] = $model->user_group_id;
|
$basicMessage['user_group_id'] = $model->user_group_id;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BudgetLimit::class:
|
case BudgetLimit::class:
|
||||||
$basicMessage['user_id'] = $model->budget->user_id;
|
$basicMessage['user_id'] = $model->budget->user_id;
|
||||||
$basicMessage['user_group_id'] = $model->budget->user_group_id;
|
$basicMessage['user_group_id'] = $model->budget->user_group_id;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TransactionGroup::class:
|
case TransactionGroup::class:
|
||||||
/** @var TransactionGroup $model */
|
/** @var TransactionGroup $model */
|
||||||
$basicMessage['user_id'] = $model->user_id;
|
$basicMessage['user_id'] = $model->user_id;
|
||||||
@@ -160,27 +165,28 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
Log::error(sprintf('The response code for webhook #%d is "%d" and the message generator cant handle it. Soft fail.', $webhook->id, $webhook->response));
|
Log::error(sprintf('The response code for webhook #%d is "%d" and the message generator cant handle it. Soft fail.', $webhook->id, $webhook->response));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
case WebhookResponse::BUDGET->value;
|
|
||||||
|
case WebhookResponse::BUDGET->value:
|
||||||
$basicMessage['content'] = [];
|
$basicMessage['content'] = [];
|
||||||
if($model instanceof Budget) {
|
if ($model instanceof Budget) {
|
||||||
$enrichment = new BudgetEnrichment();
|
$enrichment = new BudgetEnrichment();
|
||||||
$enrichment->setUser($model->user);
|
$enrichment->setUser($model->user);
|
||||||
$model = $enrichment->enrichSingle($model);
|
$model = $enrichment->enrichSingle($model);
|
||||||
$transformer = new BudgetTransformer();
|
$transformer = new BudgetTransformer();
|
||||||
$basicMessage['content'] = $transformer->transform($model);
|
$basicMessage['content'] = $transformer->transform($model);
|
||||||
}
|
}
|
||||||
if($model instanceof BudgetLimit) {
|
if ($model instanceof BudgetLimit) {
|
||||||
$user = $model->budget->user;
|
$user = $model->budget->user;
|
||||||
$enrichment = new BudgetEnrichment();
|
$enrichment = new BudgetEnrichment();
|
||||||
$enrichment->setUser($user);
|
$enrichment->setUser($user);
|
||||||
$enrichment->setStart($model->start_date);
|
$enrichment->setStart($model->start_date);
|
||||||
$enrichment->setEnd($model->end_date);
|
$enrichment->setEnd($model->end_date);
|
||||||
$budget = $enrichment->enrichSingle($model->budget);
|
$budget = $enrichment->enrichSingle($model->budget);
|
||||||
|
|
||||||
$enrichment = new BudgetLimitEnrichment();
|
$enrichment = new BudgetLimitEnrichment();
|
||||||
$enrichment->setUser($user);
|
$enrichment->setUser($user);
|
||||||
|
|
||||||
$parameters = new ParameterBag();
|
$parameters = new ParameterBag();
|
||||||
$parameters->set('start', $model->start_date);
|
$parameters->set('start', $model->start_date);
|
||||||
$parameters->set('end', $model->end_date);
|
$parameters->set('end', $model->end_date);
|
||||||
|
|
||||||
@@ -189,6 +195,7 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
$transformer->setParameters($parameters);
|
$transformer->setParameters($parameters);
|
||||||
$basicMessage['content'] = $transformer->transform($model);
|
$basicMessage['content'] = $transformer->transform($model);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WebhookResponse::NONE->value:
|
case WebhookResponse::NONE->value:
|
||||||
@@ -198,7 +205,7 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
|
|
||||||
case WebhookResponse::TRANSACTIONS->value:
|
case WebhookResponse::TRANSACTIONS->value:
|
||||||
/** @var TransactionGroup $model */
|
/** @var TransactionGroup $model */
|
||||||
$transformer = new TransactionGroupTransformer();
|
$transformer = new TransactionGroupTransformer();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$basicMessage['content'] = $transformer->transformObject($model);
|
$basicMessage['content'] = $transformer->transformObject($model);
|
||||||
@@ -215,13 +222,13 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
|
|
||||||
case WebhookResponse::ACCOUNTS->value:
|
case WebhookResponse::ACCOUNTS->value:
|
||||||
/** @var TransactionGroup $model */
|
/** @var TransactionGroup $model */
|
||||||
$accounts = $this->collectAccounts($model);
|
$accounts = $this->collectAccounts($model);
|
||||||
$enrichment = new AccountEnrichment();
|
$enrichment = new AccountEnrichment();
|
||||||
$enrichment->setDate(null);
|
$enrichment->setDate(null);
|
||||||
$enrichment->setUser($model->user);
|
$enrichment->setUser($model->user);
|
||||||
$accounts = $enrichment->enrich($accounts);
|
$accounts = $enrichment->enrich($accounts);
|
||||||
foreach ($accounts as $account) {
|
foreach ($accounts as $account) {
|
||||||
$transformer = new AccountTransformer();
|
$transformer = new AccountTransformer();
|
||||||
$transformer->setParameters(new ParameterBag());
|
$transformer->setParameters(new ParameterBag());
|
||||||
$basicMessage['content'][] = $transformer->transform($account);
|
$basicMessage['content'][] = $transformer->transform($account);
|
||||||
}
|
}
|
||||||
@@ -251,7 +258,7 @@ class StandardMessageGenerator implements MessageGeneratorInterface
|
|||||||
|
|
||||||
private function storeMessage(Webhook $webhook, array $message): void
|
private function storeMessage(Webhook $webhook, array $message): void
|
||||||
{
|
{
|
||||||
$webhookMessage = new WebhookMessage();
|
$webhookMessage = new WebhookMessage();
|
||||||
$webhookMessage->webhook()->associate($webhook);
|
$webhookMessage->webhook()->associate($webhook);
|
||||||
$webhookMessage->sent = false;
|
$webhookMessage->sent = false;
|
||||||
$webhookMessage->errored = false;
|
$webhookMessage->errored = false;
|
||||||
|
@@ -27,37 +27,19 @@ namespace FireflyIII\Handlers\Events\Model;
|
|||||||
use FireflyIII\Events\Model\BudgetLimit\Created;
|
use FireflyIII\Events\Model\BudgetLimit\Created;
|
||||||
use FireflyIII\Events\Model\BudgetLimit\Deleted;
|
use FireflyIII\Events\Model\BudgetLimit\Deleted;
|
||||||
use FireflyIII\Events\Model\BudgetLimit\Updated;
|
use FireflyIII\Events\Model\BudgetLimit\Updated;
|
||||||
use FireflyIII\Models\AvailableBudget;
|
|
||||||
use FireflyIII\Models\Budget;
|
|
||||||
use FireflyIII\Models\BudgetLimit;
|
|
||||||
use FireflyIII\Repositories\Budget\BudgetLimitRepositoryInterface;
|
|
||||||
use FireflyIII\Support\Observers\RecalculatesAvailableBudgetsTrait;
|
|
||||||
use FireflyIII\User;
|
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
use Psr\Container\ContainerExceptionInterface;
|
|
||||||
use Psr\Container\NotFoundExceptionInterface;
|
|
||||||
use Spatie\Period\Boundaries;
|
|
||||||
use Spatie\Period\Period;
|
|
||||||
use Spatie\Period\Precision;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class BudgetLimitHandler
|
* Class BudgetLimitHandler
|
||||||
*/
|
*/
|
||||||
class BudgetLimitHandler
|
class BudgetLimitHandler
|
||||||
{
|
{
|
||||||
|
|
||||||
public function created(Created $event): void
|
public function created(Created $event): void
|
||||||
{
|
{
|
||||||
Log::debug(sprintf('BudgetLimitHandler::created(#%s)', $event->budgetLimit->id));
|
Log::debug(sprintf('BudgetLimitHandler::created(#%s)', $event->budgetLimit->id));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function deleted(Deleted $event): void
|
public function deleted(Deleted $event): void {}
|
||||||
{
|
|
||||||
|
|
||||||
}
|
public function updated(Updated $event): void {}
|
||||||
|
|
||||||
public function updated(Updated $event): void
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -37,6 +37,7 @@ use Illuminate\Support\Facades\Log;
|
|||||||
class BudgetLimitObserver
|
class BudgetLimitObserver
|
||||||
{
|
{
|
||||||
use RecalculatesAvailableBudgetsTrait;
|
use RecalculatesAvailableBudgetsTrait;
|
||||||
|
|
||||||
public function created(BudgetLimit $budgetLimit): void
|
public function created(BudgetLimit $budgetLimit): void
|
||||||
{
|
{
|
||||||
Log::debug('Observe "created" of a budget limit.');
|
Log::debug('Observe "created" of a budget limit.');
|
||||||
|
@@ -46,7 +46,8 @@ class BudgetObserver
|
|||||||
Log::debug(sprintf('Observe "created" of budget #%d ("%s").', $budget->id, $budget->name));
|
Log::debug(sprintf('Observe "created" of budget #%d ("%s").', $budget->id, $budget->name));
|
||||||
|
|
||||||
// fire event.
|
// fire event.
|
||||||
$user = $budget->user;
|
$user = $budget->user;
|
||||||
|
|
||||||
/** @var MessageGeneratorInterface $engine */
|
/** @var MessageGeneratorInterface $engine */
|
||||||
$engine = app(MessageGeneratorInterface::class);
|
$engine = app(MessageGeneratorInterface::class);
|
||||||
$engine->setUser($user);
|
$engine->setUser($user);
|
||||||
@@ -60,7 +61,7 @@ class BudgetObserver
|
|||||||
public function updated(Budget $budget): void
|
public function updated(Budget $budget): void
|
||||||
{
|
{
|
||||||
Log::debug(sprintf('Observe "updated" of budget #%d ("%s").', $budget->id, $budget->name));
|
Log::debug(sprintf('Observe "updated" of budget #%d ("%s").', $budget->id, $budget->name));
|
||||||
$user = $budget->user;
|
$user = $budget->user;
|
||||||
|
|
||||||
/** @var MessageGeneratorInterface $engine */
|
/** @var MessageGeneratorInterface $engine */
|
||||||
$engine = app(MessageGeneratorInterface::class);
|
$engine = app(MessageGeneratorInterface::class);
|
||||||
@@ -76,10 +77,10 @@ class BudgetObserver
|
|||||||
{
|
{
|
||||||
Log::debug('Observe "deleting" of a budget.');
|
Log::debug('Observe "deleting" of a budget.');
|
||||||
|
|
||||||
$user = $budget->user;
|
$user = $budget->user;
|
||||||
|
|
||||||
/** @var MessageGeneratorInterface $engine */
|
/** @var MessageGeneratorInterface $engine */
|
||||||
$engine = app(MessageGeneratorInterface::class);
|
$engine = app(MessageGeneratorInterface::class);
|
||||||
$engine->setUser($user);
|
$engine->setUser($user);
|
||||||
$engine->setObjects(new Collection()->push($budget));
|
$engine->setObjects(new Collection()->push($budget));
|
||||||
$engine->setTrigger(WebhookTrigger::DESTROY_BUDGET);
|
$engine->setTrigger(WebhookTrigger::DESTROY_BUDGET);
|
||||||
@@ -87,7 +88,7 @@ class BudgetObserver
|
|||||||
|
|
||||||
event(new RequestedSendWebhookMessages());
|
event(new RequestedSendWebhookMessages());
|
||||||
|
|
||||||
$repository = app(AttachmentRepositoryInterface::class);
|
$repository = app(AttachmentRepositoryInterface::class);
|
||||||
$repository->setUser($budget->user);
|
$repository->setUser($budget->user);
|
||||||
|
|
||||||
/** @var Attachment $attachment */
|
/** @var Attachment $attachment */
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace FireflyIII\Support\Observers;
|
namespace FireflyIII\Support\Observers;
|
||||||
|
|
||||||
use FireflyIII\Models\AvailableBudget;
|
use FireflyIII\Models\AvailableBudget;
|
||||||
@@ -152,8 +154,8 @@ trait RecalculatesAvailableBudgetsTrait
|
|||||||
);
|
);
|
||||||
// overlap in days:
|
// overlap in days:
|
||||||
$limitPeriod = Period::make(
|
$limitPeriod = Period::make(
|
||||||
$budgetLimit->start_date,
|
$budgetLimit->start_date,
|
||||||
$budgetLimit->end_date,
|
$budgetLimit->end_date,
|
||||||
precision : Precision::DAY(),
|
precision : Precision::DAY(),
|
||||||
boundaries: Boundaries::EXCLUDE_NONE()
|
boundaries: Boundaries::EXCLUDE_NONE()
|
||||||
);
|
);
|
||||||
@@ -194,8 +196,8 @@ trait RecalculatesAvailableBudgetsTrait
|
|||||||
return '0';
|
return '0';
|
||||||
}
|
}
|
||||||
$limitPeriod = Period::make(
|
$limitPeriod = Period::make(
|
||||||
$budgetLimit->start_date,
|
$budgetLimit->start_date,
|
||||||
$budgetLimit->end_date,
|
$budgetLimit->end_date,
|
||||||
precision : Precision::DAY(),
|
precision : Precision::DAY(),
|
||||||
boundaries: Boundaries::EXCLUDE_NONE()
|
boundaries: Boundaries::EXCLUDE_NONE()
|
||||||
);
|
);
|
||||||
|
@@ -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-08-18',
|
'version' => '6.3.1',
|
||||||
'build_time' => 1755530171,
|
'build_time' => 1755540382,
|
||||||
'api_version' => '2.1.0', // field is no longer used.
|
'api_version' => '2.1.0', // field is no longer used.
|
||||||
'db_version' => 26,
|
'db_version' => 26,
|
||||||
|
|
||||||
|
6
package-lock.json
generated
6
package-lock.json
generated
@@ -5700,9 +5700,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.5.203",
|
"version": "1.5.204",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.203.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.204.tgz",
|
||||||
"integrity": "sha512-uz4i0vLhfm6dLZWbz/iH88KNDV+ivj5+2SA+utpgjKaj9Q0iDLuwk6Idhe9BTxciHudyx6IvTvijhkPvFGUQ0g==",
|
"integrity": "sha512-s9VbBXWxfDrl67PlO4avwh0/GU2vcwx8Fph3wlR8LJl7ySGYId59EFE17VWVcuC3sLWNPENm6Z/uGqKbkPCcXA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
|
0
public/v1/js/.gitkeep
Executable file → Normal file
0
public/v1/js/.gitkeep
Executable file → Normal file
Reference in New Issue
Block a user