diff --git a/app/Api/V1/Controllers/Models/Transaction/UpdateController.php b/app/Api/V1/Controllers/Models/Transaction/UpdateController.php index 2f43066cb5..7c504e07dc 100644 --- a/app/Api/V1/Controllers/Models/Transaction/UpdateController.php +++ b/app/Api/V1/Controllers/Models/Transaction/UpdateController.php @@ -29,6 +29,7 @@ use FireflyIII\Api\V1\Requests\Models\Transaction\UpdateRequest; use FireflyIII\Events\Model\TransactionGroup\TransactionGroupEventFlags; use FireflyIII\Events\Model\TransactionGroup\TransactionGroupEventObjects; use FireflyIII\Events\Model\TransactionGroup\UpdatedSingleTransactionGroup; +use FireflyIII\Events\Model\Webhook\WebhookMessagesRequestSending; use FireflyIII\Helpers\Collector\GroupCollectorInterface; use FireflyIII\Models\TransactionGroup; use FireflyIII\Repositories\TransactionGroup\TransactionGroupRepositoryInterface; @@ -92,6 +93,9 @@ class UpdateController extends Controller $flags->fireWebhooks = $fireWebhooks; $flags->recalculateCredit = $runRecalculations; event(new UpdatedSingleTransactionGroup($flags, $objects)); + if($flags->fireWebhooks) { + event(new WebhookMessagesRequestSending()); + } /** @var User $admin */ $admin = auth()->user(); diff --git a/app/Console/Commands/Correction/CorrectsGroupAccounts.php b/app/Console/Commands/Correction/CorrectsGroupAccounts.php index 7997c6ab81..97e1d0c066 100644 --- a/app/Console/Commands/Correction/CorrectsGroupAccounts.php +++ b/app/Console/Commands/Correction/CorrectsGroupAccounts.php @@ -28,6 +28,7 @@ use FireflyIII\Console\Commands\ShowsFriendlyMessages; use FireflyIII\Events\Model\TransactionGroup\TransactionGroupEventFlags; use FireflyIII\Events\Model\TransactionGroup\TransactionGroupEventObjects; use FireflyIII\Events\Model\TransactionGroup\UpdatedSingleTransactionGroup; +use FireflyIII\Events\Model\Webhook\WebhookMessagesRequestSending; use FireflyIII\Models\TransactionGroup; use FireflyIII\Models\TransactionJournal; use Illuminate\Console\Command; @@ -64,7 +65,7 @@ class CorrectsGroupAccounts extends Command $objects->appendFromTransactionGroup($group); } event(new UpdatedSingleTransactionGroup($flags, $objects)); - + event(new WebhookMessagesRequestSending()); return 0; } } diff --git a/app/Http/Controllers/Transaction/BulkController.php b/app/Http/Controllers/Transaction/BulkController.php index d5eccd4068..19625e2dec 100644 --- a/app/Http/Controllers/Transaction/BulkController.php +++ b/app/Http/Controllers/Transaction/BulkController.php @@ -27,6 +27,7 @@ namespace FireflyIII\Http\Controllers\Transaction; use FireflyIII\Events\Model\TransactionGroup\TransactionGroupEventFlags; use FireflyIII\Events\Model\TransactionGroup\TransactionGroupEventObjects; use FireflyIII\Events\Model\TransactionGroup\UpdatedSingleTransactionGroup; +use FireflyIII\Events\Model\Webhook\WebhookMessagesRequestSending; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Requests\BulkEditJournalRequest; use FireflyIII\Models\TransactionJournal; @@ -126,6 +127,8 @@ class BulkController extends Controller $objects->appendFromTransactionGroup($journal->transactionGroup); } event(new UpdatedSingleTransactionGroup($flags, $objects)); + event(new WebhookMessagesRequestSending()); + Preferences::mark(); $request->session()->flash('success', trans_choice('firefly.mass_edited_transactions_success', $count)); diff --git a/app/Http/Controllers/Transaction/ConvertController.php b/app/Http/Controllers/Transaction/ConvertController.php index 8ea0c486c4..fea68500b2 100644 --- a/app/Http/Controllers/Transaction/ConvertController.php +++ b/app/Http/Controllers/Transaction/ConvertController.php @@ -29,6 +29,7 @@ use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Events\Model\TransactionGroup\TransactionGroupEventFlags; use FireflyIII\Events\Model\TransactionGroup\TransactionGroupEventObjects; use FireflyIII\Events\Model\TransactionGroup\UpdatedSingleTransactionGroup; +use FireflyIII\Events\Model\Webhook\WebhookMessagesRequestSending; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Models\Account; @@ -310,6 +311,8 @@ class ConvertController extends Controller $flags = new TransactionGroupEventFlags(); $objects = TransactionGroupEventObjects::collectFromTransactionGroup($group); event(new UpdatedSingleTransactionGroup($flags, $objects)); + event(new WebhookMessagesRequestSending()); + return redirect(route('transactions.show', [$group->id])); } diff --git a/app/Http/Controllers/Transaction/MassController.php b/app/Http/Controllers/Transaction/MassController.php index 525990a261..4d06375894 100644 --- a/app/Http/Controllers/Transaction/MassController.php +++ b/app/Http/Controllers/Transaction/MassController.php @@ -29,6 +29,7 @@ use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Events\Model\TransactionGroup\TransactionGroupEventFlags; use FireflyIII\Events\Model\TransactionGroup\TransactionGroupEventObjects; use FireflyIII\Events\Model\TransactionGroup\UpdatedSingleTransactionGroup; +use FireflyIII\Events\Model\Webhook\WebhookMessagesRequestSending; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Requests\MassDeleteJournalRequest; @@ -221,12 +222,11 @@ class MassController extends Controller // call service to update. $service->setData($data); $service->update(); - // trigger rules - $runRecalculations = $service->isCompareHashChanged(); $flags = new TransactionGroupEventFlags(); - $flags->recalculateCredit = $runRecalculations; $objects = TransactionGroupEventObjects::collectFromTransactionGroup($journal->transactionGroup); event(new UpdatedSingleTransactionGroup($flags, $objects)); + event(new WebhookMessagesRequestSending()); + } private function getDateFromRequest(MassEditJournalRequest $request, int $journalId, string $key): ?Carbon diff --git a/app/Repositories/TransactionGroup/TransactionGroupRepository.php b/app/Repositories/TransactionGroup/TransactionGroupRepository.php index dbb0876367..3afc0ec423 100644 --- a/app/Repositories/TransactionGroup/TransactionGroupRepository.php +++ b/app/Repositories/TransactionGroup/TransactionGroupRepository.php @@ -421,8 +421,10 @@ class TransactionGroupRepository implements TransactionGroupRepositoryInterface, $flags->fireWebhooks = $data['fire_webhooks'] ?? true; $flags->batchSubmission = $data['batch_submission'] ?? false; event(new CreatedSingleTransactionGroup($flags, $objects)); - Log::debug(sprintf('send event WebhookMessagesRequestSending from %s', __METHOD__)); - event(new WebhookMessagesRequestSending()); + if($flags->fireWebhooks) { + Log::debug(sprintf('send event WebhookMessagesRequestSending from %s', __METHOD__)); + event(new WebhookMessagesRequestSending()); + } return $transactionGroup; } diff --git a/app/Services/Internal/Destroy/TransactionGroupDestroyService.php b/app/Services/Internal/Destroy/TransactionGroupDestroyService.php index 1764f4bef9..229a5ea763 100644 --- a/app/Services/Internal/Destroy/TransactionGroupDestroyService.php +++ b/app/Services/Internal/Destroy/TransactionGroupDestroyService.php @@ -27,6 +27,7 @@ namespace FireflyIII\Services\Internal\Destroy; use FireflyIII\Events\Model\TransactionGroup\DestroyedSingleTransactionGroup; use FireflyIII\Events\Model\TransactionGroup\TransactionGroupEventFlags; use FireflyIII\Events\Model\TransactionGroup\TransactionGroupEventObjects; +use FireflyIII\Events\Model\Webhook\WebhookMessagesRequestSending; use FireflyIII\Models\TransactionGroup; use Illuminate\Support\Facades\Log; @@ -49,5 +50,6 @@ class TransactionGroupDestroyService // trigger just after destruction $flags = new TransactionGroupEventFlags(); event(new DestroyedSingleTransactionGroup($flags, $objects)); + event(new WebhookMessagesRequestSending()); } }