mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-02-22 14:22:40 +01:00
* Server Users: More precise message when inviting users This lets the admin who invited a new user know whether or not an email has been sent. If the SMTP server hasn't been set up, they need to share the invite link with the user. * Onboarding: Invite new users - Separates the user self-registration and invite cases - Adds invitation email for users created by the admin - Adds invitation tokens to verify user was invited - Adds handler action for invite links - Refactors `UserEventHostedService` * Remove duplicate status message from views that use the wizard layout * Auto-approve users created by an admin * Notify admins via email if a new account requires approval * Update wording * Fix update user error * Fix redirect to email confirmation in invite action * Fix precondition checks after signup * Improve admin notification Send notification only if the user does not require email confirmation or when they confirmed their email address. Rationale: We want to inform admins only about qualified users and not annoy them with bot registrations. * Allow approval alongside resending confirm email * Use user email in log messages instead of ID * Prevent unnecessary notification after email confirmation * Use ApplicationUser type explicitly * Fix after rebase * Refactoring: Do not subclass UserRegisteredEvent
81 lines
2.3 KiB
Text
81 lines
2.3 KiB
Text
@using BTCPayServer.Services
|
|
@using Microsoft.AspNetCore.Mvc.TagHelpers
|
|
@using BTCPayServer.Components.MainLogo
|
|
@inject SettingsRepository SettingsRepository
|
|
@{
|
|
Layout = "_LayoutSimple";
|
|
ViewBag.ShowTitle ??= true;
|
|
ViewBag.ShowLeadText ??= false;
|
|
|
|
var settings = await SettingsRepository.GetSettingAsync<ServerSettings>() ?? new ServerSettings();
|
|
}
|
|
|
|
@section PageHeadContent {
|
|
<style>
|
|
.alert {
|
|
max-width: 35em;
|
|
margin: var(--btcpay-space-l) auto;
|
|
}
|
|
.account-form {
|
|
max-width: 35em;
|
|
margin: 0 auto var(--btcpay-space-xl);
|
|
padding: 2rem;
|
|
background: var(--btcpay-bg-tile);
|
|
border-radius: var(--btcpay-border-radius);
|
|
}
|
|
.account-form h4 {
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
.main-logo { height: 4.5rem; max-width: 18rem; }
|
|
.main-logo-btcpay .main-logo-btcpay--large { display: none; }
|
|
</style>
|
|
@await RenderSectionAsync("PageHeadContent", false)
|
|
}
|
|
|
|
@section PageFootContent {
|
|
<partial name="_ValidationScriptsPartial" />
|
|
@await RenderSectionAsync("PageFootContent", false)
|
|
}
|
|
|
|
<div class="row justify-content-center mb-2">
|
|
<div class="col text-center">
|
|
<a asp-controller="UIHome" asp-action="Index" tabindex="-1" class="d-inline-block navbar-brand mx-0 mb-4">
|
|
<vc:main-logo />
|
|
</a>
|
|
|
|
<h1 class="h2 mb-3">Welcome to @(string.IsNullOrWhiteSpace(settings.ServerName) ? "your BTCPay\u00a0Server" : settings.ServerName)</h1>
|
|
@if (ViewBag.ShowLeadText)
|
|
{
|
|
<p class="lead">
|
|
<span class="d-sm-block">A self-hosted, open-source bitcoin payment processor.</span>
|
|
<span class="d-sm-block">It is secure, private, censorship-resistant and free.</span>
|
|
</p>
|
|
}
|
|
|
|
<partial name="_StatusMessage"/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="account-form">
|
|
@if (ViewBag.ShowTitle)
|
|
{
|
|
<h4 v-pre>@ViewData["Title"]</h4>
|
|
}
|
|
@RenderBody()
|
|
</div>
|
|
|
|
@if (!string.IsNullOrWhiteSpace(settings.ContactUrl))
|
|
{
|
|
<p class="text-center mt-n5 mb-5 pt-2">
|
|
<a class="text-secondary" href="@settings.ContactUrl" id="ContactLink">Contact Us</a>
|
|
</p>
|
|
}
|
|
|
|
<div class="row justify-content-center mt-5">
|
|
<div class="col">
|
|
<partial name="_BTCPaySupporters"/>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|