From 9f95d7a76f57cab6bef5f017d55f3c3498599b4b Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 18 Sep 2022 12:23:20 +0200 Subject: [PATCH] Fix https://github.com/firefly-iii/firefly-iii/issues/5862 --- app/Helpers/Collector/GroupCollector.php | 9 +++++++++ app/Helpers/Collector/GroupCollectorInterface.php | 8 ++++++++ app/Support/Search/OperatorQuerySearch.php | 3 +++ config/search.php | 1 + 4 files changed, 21 insertions(+) diff --git a/app/Helpers/Collector/GroupCollector.php b/app/Helpers/Collector/GroupCollector.php index 85480f4bcd..5748f439de 100644 --- a/app/Helpers/Collector/GroupCollector.php +++ b/app/Helpers/Collector/GroupCollector.php @@ -832,4 +832,13 @@ class GroupCollector implements GroupCollectorInterface return $array; } + + /** + * @inheritDoc + */ + public function isReconciled(): GroupCollectorInterface + { + $this->query->where('source.reconciled', 1)->where('destination.reconciled', 1); + return $this; + } } diff --git a/app/Helpers/Collector/GroupCollectorInterface.php b/app/Helpers/Collector/GroupCollectorInterface.php index b950f12f1f..7129940f96 100644 --- a/app/Helpers/Collector/GroupCollectorInterface.php +++ b/app/Helpers/Collector/GroupCollectorInterface.php @@ -48,6 +48,14 @@ interface GroupCollectorInterface */ public function amountIs(string $amount): GroupCollectorInterface; + + /** + * Only journals that are reconciled. + * + * @return GroupCollectorInterface + */ + public function isReconciled(): GroupCollectorInterface; + /** * Get transactions where the amount is less than. * diff --git a/app/Support/Search/OperatorQuerySearch.php b/app/Support/Search/OperatorQuerySearch.php index 2004c46515..3ff0601ebc 100644 --- a/app/Support/Search/OperatorQuerySearch.php +++ b/app/Support/Search/OperatorQuerySearch.php @@ -610,6 +610,9 @@ class OperatorQuerySearch implements SearchInterface case 'any_notes': $this->collector->withAnyNotes(); break; + case 'reconciled': + $this->collector->isReconciled(); + break; // // amount // diff --git a/config/search.php b/config/search.php index a81cd55eaa..a2d4cac75d 100644 --- a/config/search.php +++ b/config/search.php @@ -26,6 +26,7 @@ return [ 'operators' => [ 'user_action' => ['alias' => false, 'needs_context' => true,], 'account_id' => ['alias' => false, 'needs_context' => true,], + 'reconciled' => ['alias' => false, 'needs_context' => false,], 'source_account_id' => ['alias' => false, 'needs_context' => true,], 'destination_account_id' => ['alias' => false, 'needs_context' => true,], 'transaction_type' => ['alias' => false, 'needs_context' => true,],