Skip to content

Commit

Permalink
allow admin update default rate provider and default currency for sto…
Browse files Browse the repository at this point in the history
…res (#5918)

* allow admin update default rate provider and default currency for stores

* Updated PR on allowing server admin to update currency

* update server settings to select default currency

* revert standard default currency

* clean up

* Minor rewording

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
  • Loading branch information
TChukwuleta and NicolasDorier committed May 10, 2024
1 parent 84df964 commit 11b38a7
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 3 deletions.
8 changes: 6 additions & 2 deletions BTCPayServer/Controllers/UIUserStoresController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
using BTCPayServer.Client;
using BTCPayServer.Data;
using BTCPayServer.Models.StoreViewModels;
using BTCPayServer.Services;
using BTCPayServer.Services.Rates;
using BTCPayServer.Services.Stores;
using Microsoft.AspNetCore.Authorization;
Expand All @@ -20,18 +21,21 @@ namespace BTCPayServer.Controllers
public class UIUserStoresController : Controller
{
private readonly StoreRepository _repo;
private readonly SettingsRepository _settingsRepository;
private readonly UserManager<ApplicationUser> _userManager;
private readonly RateFetcher _rateFactory;
public string CreatedStoreId { get; set; }

public UIUserStoresController(
UserManager<ApplicationUser> userManager,
StoreRepository storeRepository,
RateFetcher rateFactory)
RateFetcher rateFactory,
SettingsRepository settingsRepository)
{
_repo = storeRepository;
_userManager = userManager;
_rateFactory = rateFactory;
_settingsRepository = settingsRepository;
}

[HttpGet]
Expand Down Expand Up @@ -62,7 +66,7 @@ public async Task<IActionResult> CreateStore(bool skipWizard)
var vm = new CreateStoreViewModel
{
IsFirstStore = !(stores.Any() || skipWizard),
DefaultCurrency = StoreBlob.StandardDefaultCurrency,
DefaultCurrency = (await _settingsRepository.GetSettingAsync<PoliciesSettings>())?.DefaultCurrency ?? StoreBlob.StandardDefaultCurrency,
Exchanges = GetExchangesSelectList(null)
};

Expand Down
2 changes: 2 additions & 0 deletions BTCPayServer/Services/PoliciesSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ public bool EnableNonAdminCreateUserApi

[Display(Name = "Show plugins in pre-release")]
public bool PluginPreReleases { get; set; }
[Display(Name = "Select the Default Currency during Store Creation")]
public string DefaultCurrency { get; set; }

public bool DisableSSHService { get; set; }

Expand Down
4 changes: 4 additions & 0 deletions BTCPayServer/Views/UIServer/Policies.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,10 @@
</div>

<h4 class="mt-5">Customization</h4>
<div class="form-group mb-3">
<label asp-for="DefaultCurrency" class="form-label"></label>
<input asp-for="DefaultCurrency" placeholder="Default Store Currency" class="form-control" currency-selection />
</div>
<div class="form-group mb-5">
<label asp-for="RootAppId" class="form-label"></label>
<select asp-for="RootAppId" asp-items="@(new SelectList(ViewBag.AppsList, nameof(SelectListItem.Value), nameof(SelectListItem.Text), Model.RootAppId))" class="form-select"></select>
Expand Down
2 changes: 1 addition & 1 deletion BTCPayServer/Views/UIServer/_Nav.cshtml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@using BTCPayServer.Configuration
@using BTCPayServer.Configuration
@inject BTCPayServerOptions _btcPayServerOptions

<div class="sticky-header mb-l">
Expand Down

0 comments on commit 11b38a7

Please sign in to comment.