mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-17 14:04:26 +01:00
@@ -194,17 +194,17 @@ namespace BTCPayServer.Controllers
|
||||
|
||||
var prBlob = result.GetBlob();
|
||||
var prFormId = prBlob.FormId;
|
||||
switch (prFormId)
|
||||
var formConfig = prFormId is null ? null : Forms.UIFormsController.GetFormData(prFormId)?.Config;
|
||||
switch (formConfig)
|
||||
{
|
||||
case null:
|
||||
case { } when string.IsNullOrEmpty(prFormId):
|
||||
case { } when Request.Method == "GET" && prBlob.FormResponse is not null:
|
||||
case { } when !this.Request.HasFormContentType && prBlob.FormResponse is not null:
|
||||
return RedirectToAction("ViewPaymentRequest", new { payReqId });
|
||||
case { } when Request.Method == "GET" && prBlob.FormResponse is null:
|
||||
case { } when !this.Request.HasFormContentType && prBlob.FormResponse is null:
|
||||
break;
|
||||
default:
|
||||
// POST case: Handle form submit
|
||||
var formData = Form.Parse(UIFormsController.GetFormData(prFormId).Config);
|
||||
var formData = Form.Parse(formConfig);
|
||||
formData.ApplyValuesFromForm(Request.Form);
|
||||
if (FormProviders.Validate(formData, ModelState))
|
||||
{
|
||||
|
||||
@@ -57,7 +57,7 @@ public class UIFormsController : Controller
|
||||
if (formData?.Config is null)
|
||||
return NotFound();
|
||||
|
||||
if (command is not "Submit")
|
||||
if (!Request.HasFormContentType)
|
||||
return GetFormView(formData, redirectUrl);
|
||||
|
||||
var conf = Form.Parse(formData.Config);
|
||||
|
||||
@@ -225,16 +225,16 @@ namespace BTCPayServer.Plugins.PointOfSale.Controllers
|
||||
|
||||
var store = await _appService.GetStore(app);
|
||||
var posFormId = settings.FormId;
|
||||
|
||||
var formConfig = posFormId is null ? null : Forms.UIFormsController.GetFormData(posFormId)?.Config;
|
||||
JObject formResponse = null;
|
||||
switch (posFormId)
|
||||
switch (formConfig)
|
||||
{
|
||||
case null:
|
||||
case { } when string.IsNullOrEmpty(posFormId):
|
||||
case { } when !this.Request.HasFormContentType:
|
||||
break;
|
||||
|
||||
default:
|
||||
// POST case: Handle form submit
|
||||
var formData = Form.Parse(Forms.UIFormsController.GetFormData(posFormId).Config);
|
||||
var formData = Form.Parse(formConfig);
|
||||
formData.ApplyValuesFromForm(this.Request.Form);
|
||||
|
||||
if (FormProviders.Validate(formData, ModelState))
|
||||
|
||||
@@ -36,5 +36,5 @@ public static class CheckoutFormSelectList
|
||||
typeof(GenericFormOption).DisplayName(opt.ToString());
|
||||
|
||||
private static SelectListItem GenericOptionItem(GenericFormOption opt) =>
|
||||
new() { Text = DisplayName(opt), Value = opt.ToString() };
|
||||
new() { Text = DisplayName(opt), Value = opt == GenericFormOption.None ? null : opt.ToString() };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user