mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-17 22:14:26 +01:00
Disable internal node options if no internal node configured (#4315)
This commit is contained in:
@@ -108,7 +108,7 @@ namespace BTCPayServer.Controllers
|
||||
if (store == null)
|
||||
return NotFound();
|
||||
|
||||
vm.CanUseInternalNode = CanUseInternalLightning();
|
||||
vm.CanUseInternalNode = CanUseInternalLightning(vm.CryptoCode);
|
||||
|
||||
if (vm.CryptoCode == null)
|
||||
{
|
||||
@@ -122,7 +122,7 @@ namespace BTCPayServer.Controllers
|
||||
LightningSupportedPaymentMethod? paymentMethod = null;
|
||||
if (vm.LightningNodeType == LightningNodeType.Internal)
|
||||
{
|
||||
if (!CanUseInternalLightning())
|
||||
if (!CanUseInternalLightning(network.CryptoCode))
|
||||
{
|
||||
ModelState.AddModelError(nameof(vm.ConnectionString), "You are not authorized to use the internal lightning node");
|
||||
return View(vm);
|
||||
@@ -364,14 +364,14 @@ namespace BTCPayServer.Controllers
|
||||
return RedirectToAction(nameof(LightningSettings), new { storeId, cryptoCode });
|
||||
}
|
||||
|
||||
private bool CanUseInternalLightning()
|
||||
private bool CanUseInternalLightning(string cryptoCode)
|
||||
{
|
||||
return User.IsInRole(Roles.ServerAdmin) || _policiesSettings.AllowLightningInternalNodeForAll;
|
||||
return LightningNetworkOptions.InternalLightningByCryptoCode.ContainsKey(cryptoCode.ToUpperInvariant()) && (User.IsInRole(Roles.ServerAdmin) || _policiesSettings.AllowLightningInternalNodeForAll);
|
||||
}
|
||||
|
||||
private void SetExistingValues(StoreData store, LightningNodeViewModel vm)
|
||||
{
|
||||
vm.CanUseInternalNode = CanUseInternalLightning();
|
||||
vm.CanUseInternalNode = CanUseInternalLightning(vm.CryptoCode);
|
||||
var lightning = GetExistingLightningSupportedPaymentMethod(vm.CryptoCode, store);
|
||||
|
||||
if (lightning != null)
|
||||
|
||||
Reference in New Issue
Block a user