btcpayserver/BTCPayServer/Views/UIStores/StoreUsers.cshtml
2023-01-21 19:08:12 +01:00

69 lines
2.7 KiB
Plaintext

@using BTCPayServer.Abstractions.Models
@model StoreUsersViewModel
@{
Layout = "../Shared/_NavLayout.cshtml";
ViewData.SetActivePage(StoreNavPages.Users, "Store Users", Context.GetStoreData().Id);
}
<div class="row">
<div class="col-xxl-constrain col-xl-8">
<h3 class="mb-3">@ViewData["Title"]</h3>
<p>
Give other registered BTCPay Server users access to your store.<br />
Guests will not be able to see or modify the store settings.
</p>
@if (!ViewContext.ModelState.IsValid)
{
<div asp-validation-summary="All" class="text-danger"></div>
}
<form method="post">
<div class="d-flex">
<div class="flex-grow-1">
<input asp-for="Email" type="text" class="form-control" placeholder="user@example.com">
</div>
<div class="ms-3">
<select asp-for="Role" class="form-select">
<option value="@StoreRoles.Owner">Owner</option>
<option value="@StoreRoles.Guest">Guest</option>
</select>
</div>
<div class="ms-3">
<button type="submit" role="button" class="btn btn-primary"><span class="fa fa-plus"></span> Add User</button>
</div>
</div>
</form>
<div class="form-group">
<table class="table table-hover table-responsive-md">
<thead>
<tr>
<th>Email</th>
<th>Role</th>
<th style="text-align:right">Actions</th>
</tr>
</thead>
<tbody>
@foreach (var user in Model.Users)
{
<tr>
<td>@user.Email</td>
<td>@user.Role</td>
<td style="text-align:right">
<a asp-action="DeleteStoreUser" asp-route-storeId="@Model.StoreId" asp-route-userId="@user.Id" data-bs-toggle="modal" data-bs-target="#ConfirmModal" data-description="This action will prevent <strong>@Html.Encode(user.Email)</strong> from accessing this store and its settings." data-confirm-input="REMOVE">Remove</a>
</td>
</tr>
}
</tbody>
</table>
</div>
</div>
</div>
<partial name="_Confirm" model="@(new ConfirmModel("Remove store user", "This action will prevent the user from accessing this store and its settings. Are you sure?", "Delete"))" />
@section PageFootContent {
<partial name="_ValidationScriptsPartial" />
}