From 4ca152da7cac87ecff7065ae077d72e0985be70b Mon Sep 17 00:00:00 2001 From: Dennis Reimann Date: Tue, 8 Feb 2022 16:05:41 +0100 Subject: [PATCH] Fix paid invoice filter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #3434 by reverting the filter changes done [here](https://github.com/btcpayserver/btcpayserver/commit/ec68d2a0e67421a433e7b256b2d19e19b0785b8a#diff-b7a89b0b45f062f004cdfe6ca8484f6ca519044f63485fd15986af5f7dd5ec76L219). The new labels are only used in the UI ­— when filtering one needs to use the old labels, as the filter docs in the view already suggest. --- .../Services/Invoices/InvoiceRepository.cs | 20 ++++++++++++++++++- .../Views/UIInvoice/ListInvoices.cshtml | 8 +++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/BTCPayServer/Services/Invoices/InvoiceRepository.cs b/BTCPayServer/Services/Invoices/InvoiceRepository.cs index 90e925ad2..aea310b7e 100644 --- a/BTCPayServer/Services/Invoices/InvoiceRepository.cs +++ b/BTCPayServer/Services/Invoices/InvoiceRepository.cs @@ -651,7 +651,25 @@ namespace BTCPayServer.Services.Invoices if (queryObject.Status != null && queryObject.Status.Length > 0) { - var statusSet = queryObject.Status.ToHashSet().ToArray(); + HashSet statusSet = new HashSet(); + // We make sure here that the old filters still work + foreach (var status in queryObject.Status.Select(s => s.ToLowerInvariant())) + { + if (status == "paid") + statusSet.Add("processing"); + if (status == "processing") + statusSet.Add("paid"); + if (status == "confirmed") + { + statusSet.Add("complete"); + statusSet.Add("settled"); + } + if (status == "settled") + { + statusSet.Add("complete"); + statusSet.Add("confirmed"); + } + } query = query.Where(i => statusSet.Contains(i.Status)); } diff --git a/BTCPayServer/Views/UIInvoice/ListInvoices.cshtml b/BTCPayServer/Views/UIInvoice/ListInvoices.cshtml index 3642a5b3c..42098e6d7 100644 --- a/BTCPayServer/Views/UIInvoice/ListInvoices.cshtml +++ b/BTCPayServer/Views/UIInvoice/ListInvoices.cshtml @@ -327,10 +327,9 @@ - +
@if (Model.Total > 0) { -
@@ -403,11 +402,10 @@ else { - @invoice.Status.Status.ToModernStatus().ToString() @* @invoice.Status.ToString().ToLower() *@ + @invoice.Status.Status.ToModernStatus().ToString() @if (invoice.Status.ExceptionStatus != InvoiceExceptionStatus.None) { - @String.Format("({0})", @invoice.Status.ExceptionStatus.ToString()) - ; + @($"({invoice.Status.ExceptionStatus.ToString()})") } }