mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-17 14:04:26 +01:00
add invoicemetadata as a tab (#4693)
* add invocie metadata as a tab * Allow forms to add to posdata too in pos app * Cleanup view * Display additional information directly * Update BTCPayServer/Views/Shared/PosData.cshtml * Update BTCPayServer/Models/InvoicingModels/InvoiceDetailsModel.cs --------- Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
This commit is contained in:
@@ -106,6 +106,14 @@ namespace BTCPayServer.Controllers
|
||||
|
||||
var receipt = InvoiceDataBase.ReceiptOptions.Merge(store.GetStoreBlob().ReceiptOptions, invoice.ReceiptOptions);
|
||||
var invoiceState = invoice.GetInvoiceState();
|
||||
var posData = PosDataParser.ParsePosData(invoice.Metadata.PosData);
|
||||
var metaData = PosDataParser.ParsePosData(invoice.Metadata.ToJObject().ToString());
|
||||
var excludes = typeof(InvoiceMetadata).GetProperties()
|
||||
.Select(p => char.ToLowerInvariant(p.Name[0]) + p.Name[1..])
|
||||
.ToList();
|
||||
var additionalData = metaData
|
||||
.Where(dict => !excludes.Contains(dict.Key))
|
||||
.ToDictionary(dict=> dict.Key, dict=> dict.Value);
|
||||
var model = new InvoiceDetailsModel
|
||||
{
|
||||
StoreId = store.Id,
|
||||
@@ -131,7 +139,9 @@ namespace BTCPayServer.Controllers
|
||||
TypedMetadata = invoice.Metadata,
|
||||
StatusException = invoice.ExceptionStatus,
|
||||
Events = invoice.Events,
|
||||
PosData = PosDataParser.ParsePosData(invoice.Metadata.PosData),
|
||||
PosData = posData,
|
||||
Metadata = metaData,
|
||||
AdditionalData = additionalData,
|
||||
Archived = invoice.Archived,
|
||||
CanRefund = invoiceState.CanRefund(),
|
||||
Refunds = invoice.Refunds,
|
||||
|
||||
Reference in New Issue
Block a user