mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-17 22:14:26 +01:00
Implement store templates (#6704)
* Implement store templates * Use the template for the default rate rules * Polish messages * Do not show exchange selection if template has a script
This commit is contained in:
@@ -24,7 +24,6 @@ namespace BTCPayServer.Controllers
|
||||
{
|
||||
private readonly StoreRepository _repo;
|
||||
private readonly IStringLocalizer StringLocalizer;
|
||||
private readonly SettingsRepository _settingsRepository;
|
||||
private readonly UserManager<ApplicationUser> _userManager;
|
||||
private readonly DefaultRulesCollection _defaultRules;
|
||||
private readonly RateFetcher _rateFactory;
|
||||
@@ -35,15 +34,13 @@ namespace BTCPayServer.Controllers
|
||||
DefaultRulesCollection defaultRules,
|
||||
StoreRepository storeRepository,
|
||||
IStringLocalizer stringLocalizer,
|
||||
RateFetcher rateFactory,
|
||||
SettingsRepository settingsRepository)
|
||||
RateFetcher rateFactory)
|
||||
{
|
||||
_repo = storeRepository;
|
||||
StringLocalizer = stringLocalizer;
|
||||
_userManager = userManager;
|
||||
_defaultRules = defaultRules;
|
||||
_rateFactory = rateFactory;
|
||||
_settingsRepository = settingsRepository;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
@@ -71,12 +68,16 @@ namespace BTCPayServer.Controllers
|
||||
public async Task<IActionResult> CreateStore(bool skipWizard)
|
||||
{
|
||||
var stores = await _repo.GetStoresByUserId(GetUserId());
|
||||
var defaultCurrency = (await _settingsRepository.GetSettingAsync<PoliciesSettings>())?.DefaultCurrency ?? StoreBlob.StandardDefaultCurrency;
|
||||
var defaultTemplate = await _repo.GetDefaultStoreTemplate();
|
||||
var blob = defaultTemplate.GetStoreBlob();
|
||||
var vm = new CreateStoreViewModel
|
||||
{
|
||||
Name = defaultTemplate.StoreName,
|
||||
IsFirstStore = !(stores.Any() || skipWizard),
|
||||
DefaultCurrency = defaultCurrency,
|
||||
Exchanges = GetExchangesSelectList(defaultCurrency, null)
|
||||
DefaultCurrency = blob.DefaultCurrency,
|
||||
Exchanges = GetExchangesSelectList(blob.DefaultCurrency, null),
|
||||
CanEditPreferredExchange = blob.GetRateSettings(false)?.RateScripting is not true,
|
||||
PreferredExchange = blob.GetRateSettings(false)?.PreferredExchange
|
||||
};
|
||||
|
||||
return View(vm);
|
||||
@@ -90,12 +91,14 @@ namespace BTCPayServer.Controllers
|
||||
{
|
||||
var stores = await _repo.GetStoresByUserId(GetUserId());
|
||||
vm.IsFirstStore = !stores.Any();
|
||||
var defaultCurrency = (await _settingsRepository.GetSettingAsync<PoliciesSettings>())?.DefaultCurrency ?? StoreBlob.StandardDefaultCurrency;
|
||||
var template = await _repo.GetDefaultStoreTemplate();
|
||||
var defaultCurrency = template.GetStoreBlob().DefaultCurrency ?? StoreBlob.StandardDefaultCurrency;
|
||||
vm.Exchanges = GetExchangesSelectList(defaultCurrency, null);
|
||||
return View(vm);
|
||||
}
|
||||
|
||||
var store = new StoreData { StoreName = vm.Name };
|
||||
var store = await _repo.GetDefaultStoreTemplate();
|
||||
store.StoreName = vm.Name;
|
||||
var blob = store.GetStoreBlob();
|
||||
blob.DefaultCurrency = vm.DefaultCurrency;
|
||||
blob.GetOrCreateRateSettings(false).PreferredExchange = vm.PreferredExchange;
|
||||
|
||||
Reference in New Issue
Block a user