Rename LockSubscription, remove the link if not available

This commit is contained in:
nicolas.dorier 2018-05-10 16:02:49 +09:00
parent d41a5a65a2
commit 66a68d6180
3 changed files with 29 additions and 7 deletions

View file

@ -41,6 +41,13 @@ namespace BTCPayServer.HostedServices
{ {
get { return _creativeStartUri; } get { return _creativeStartUri; }
} }
public bool ShowRegister { get; set; }
internal void Update(PoliciesSettings data)
{
ShowRegister = !data.LockSubscription;
}
} }
public class CssThemeManagerHostedService : BaseAsyncService public class CssThemeManagerHostedService : BaseAsyncService
@ -58,10 +65,19 @@ namespace BTCPayServer.HostedServices
{ {
return new[] return new[]
{ {
CreateLoopTask(ListenForThemeChanges) CreateLoopTask(ListenForThemeChanges),
CreateLoopTask(ListenForPoliciesChanges),
}; };
} }
async Task ListenForPoliciesChanges()
{
await new SynchronizationContextRemover();
var data = (await _SettingsRepository.GetSettingAsync<PoliciesSettings>()) ?? new PoliciesSettings();
_CssThemeManager.Update(data);
await _SettingsRepository.WaitSettingsChanged<PoliciesSettings>(Cancellation);
}
async Task ListenForThemeChanges() async Task ListenForThemeChanges()
{ {
await new SynchronizationContextRemover(); await new SynchronizationContextRemover();

View file

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Newtonsoft.Json; using Newtonsoft.Json;
@ -8,12 +9,14 @@ namespace BTCPayServer.Services
{ {
public class PoliciesSettings public class PoliciesSettings
{ {
[Display(Name = "Requires a confirmation mail for registering")]
public bool RequiresConfirmedEmail public bool RequiresConfirmedEmail
{ {
get; set; get; set;
} }
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)] [JsonProperty(DefaultValueHandling = DefaultValueHandling.Populate)]
[Display(Name = "Disable registration")]
public bool LockSubscription { get; set; } public bool LockSubscription { get; set; }
} }
} }

View file

@ -31,7 +31,7 @@
<body id="page-top"> <body id="page-top">
@{ @{
if (ViewBag.AlwaysShrinkNavBar == null) if(ViewBag.AlwaysShrinkNavBar == null)
{ {
ViewBag.AlwaysShrinkNavBar = true; ViewBag.AlwaysShrinkNavBar = true;
} }
@ -43,7 +43,7 @@
<div class="container"> <div class="container">
<a class="navbar-brand js-scroll-trigger" href="~/"> <a class="navbar-brand js-scroll-trigger" href="~/">
<img src="~/img/logo.png" height="45"> <img src="~/img/logo.png" height="45">
@if (env.NetworkType != NBitcoin.NetworkType.Mainnet) @if(env.NetworkType != NBitcoin.NetworkType.Mainnet)
{ {
<span class="badge badge-warning" style="font-size:10px;">@env.NetworkType.ToString()</span> <span class="badge badge-warning" style="font-size:10px;">@env.NetworkType.ToString()</span>
} }
@ -53,9 +53,9 @@
</button> </button>
<div class="collapse navbar-collapse" id="navbarResponsive"> <div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto"> <ul class="navbar-nav ml-auto">
@if (SignInManager.IsSignedIn(User)) @if(SignInManager.IsSignedIn(User))
{ {
@if (User.IsInRole(Roles.ServerAdmin)) @if(User.IsInRole(Roles.ServerAdmin))
{ {
<li class="nav-item"><a asp-area="" asp-controller="Server" asp-action="ListUsers" class="nav-link js-scroll-trigger">Server settings</a></li> <li class="nav-item"><a asp-area="" asp-controller="Server" asp-action="ListUsers" class="nav-link js-scroll-trigger">Server settings</a></li>
} }
@ -70,7 +70,10 @@
</li>} </li>}
else else
{ {
<li class="nav-item"><a asp-area="" asp-controller="Account" asp-action="Register" class="nav-link js-scroll-trigger">Register</a></li> @if(themeManager.ShowRegister)
{
<li class="nav-item"><a asp-area="" asp-controller="Account" asp-action="Register" class="nav-link js-scroll-trigger">Register</a></li>
}
<li class="nav-item"><a asp-area="" asp-controller="Account" asp-action="Login" class="nav-link js-scroll-trigger">Log in</a></li>} <li class="nav-item"><a asp-area="" asp-controller="Account" asp-action="Login" class="nav-link js-scroll-trigger">Log in</a></li>}
</ul> </ul>
@ -84,7 +87,7 @@
<div class="container text-right">@env.ToString()</div> <div class="container text-right">@env.ToString()</div>
</footer> </footer>
@if (!dashboard.IsFullySynched()) @if(!dashboard.IsFullySynched())
{ {
<partial name="SyncModal" /> <partial name="SyncModal" />
} }