Merge pull request #63 from Moonlight-Panel/WebsiteManagerRedesign

domain view redesigned | fixed some masu at midnight
This commit is contained in:
Daniel Balk
2023-04-13 15:52:50 +02:00
committed by GitHub
3 changed files with 75 additions and 70 deletions

View File

@@ -6,96 +6,97 @@
@inject SmartTranslateService SmartTranslateService @inject SmartTranslateService SmartTranslateService
@inject WebsiteService WebsiteService @inject WebsiteService WebsiteService
<div class="card card-flush h-xl-100"> <LazyLoader @ref="LazyLoader" Load="Load">
<LazyLoader @ref="LazyLoader" Load="Load"> <div class="card w-100 mb-4">
<div class="card-header"> <div class="card-body py-2">
<span class="card-toolbar">
<div class="mt-4"> <div class="my-4 w-100">
<SmartForm Model="Model" OnValidSubmit="OnValidSubmit"> <SmartForm Model="Model" OnValidSubmit="OnValidSubmit">
<div class="input-group"> <div class="input-group">
<InputText @bind-Value="Model.Name" type="text" class="form-control" placeholder="@(SmartTranslateService.Translate("Name"))"></InputText> <InputText @bind-Value="Model.Name" type="text" class="form-control" placeholder="@(SmartTranslateService.Translate("Name"))"></InputText>
<InputText @bind-Value="Model.Password" type="password" class="form-control" placeholder="@(SmartTranslateService.Translate("Password"))"></InputText> <InputText @bind-Value="Model.Password" type="password" class="form-control" placeholder="@(SmartTranslateService.Translate("Password"))"></InputText>
<button class="btn btn-primary" type="submit"> <button class="btn btn-primary" type="submit">
<TL>Create</TL> <TL>Create</TL>
</button> </button>
</div> </div>
</SmartForm> </SmartForm>
</div> </div>
</span>
</div> </div>
<div class="card-body pt-2"> </div>
@if (Databases.Any()) @if (Databases.Any())
{ {
<div class="accordion" id="databases"> @foreach (var databases in Databases.Chunk(2))
@foreach (var database in Databases) {
{ <div class="row">
<div class="accordion-item"> @foreach (var database in databases)
<h2 class="accordion-header" id="databases_header_@(database.Id)"> {
<button class="accordion-button fs-4 fw-semibold" type="button" data-bs-toggle="collapse" data-bs-target="#databases_body_@(database.Id)"> <div class="col-sm-6">
@(database.Name) - @(database.Type.ToUpper()) <div class="card">
</button> <div class="card-header">
</h2> <div class="card-title">
<div id="databases_body_@(database.Id)" class="accordion-collapse collapse" data-bs-parent="#databases"> <span>@(database.Name) - @(database.Type.ToUpper().Replace("MYSQL", "MySQL"))</span>
<div class="accordion-body"> </div>
<div class="mt-7 row fv-row mb-7"> </div>
<div class="col-md-3 text-md-start"> <div class="card-body me-1">
<table class="w-100 table-layout-fixed">
<tr>
<td class="w-25">
<label class="fs-6 fw-semibold form-label mt-3"> <label class="fs-6 fw-semibold form-label mt-3">
<TL>Host</TL> <TL>Host</TL>
</label> </label>
</div> </td>
<div class="col-md-9"> <td class="pb-2">
<input type="text" class="form-control form-control-solid disabled" disabled="disabled" value="@(Host)"> <input type="text" class="form-control form-control-solid disabled" disabled="disabled" value="@(Host)">
</div> </td>
</div> </tr>
<div class="mt-7 row fv-row mb-7"> <tr>
<div class="col-md-3 text-md-start"> <td>
<label class="fs-6 fw-semibold form-label mt-3"> <label class="fs-6 fw-semibold form-label mt-3">
<TL>Port</TL> <TL>Port</TL>
</label> </label>
</div> </td>
<div class="col-md-9"> <td class="pb-2">
<input type="text" class="form-control form-control-solid disabled" disabled="disabled" value="@(DatabaseServer.Port)"> <input type="text" class="form-control form-control-solid disabled" disabled="disabled" value="@(DatabaseServer.Port)">
</div> </td>
</div> </tr>
<div class="mt-7 row fv-row mb-7"> <tr>
<div class="col-md-3 text-md-start"> <td>
<label class="fs-6 fw-semibold form-label mt-3"> <label class="fs-6 fw-semibold form-label mt-3">
<TL>Username</TL> <TL>Username</TL>
</label> </label>
</div> </td>
<div class="col-md-9"> <td class="pb-2">
<input type="text" class="form-control form-control-solid disabled" disabled="disabled" value="@(database.Name)"> <input type="text" class="form-control form-control-solid disabled" disabled="disabled" value="@(database.Name)">
</div> </td>
</div> </tr>
<div class="mt-7 row fv-row mb-7"> <tr>
<div class="col-md-3 text-md-start"> <td>
<label class="fs-6 fw-semibold form-label mt-3"> <label class="fs-6 fw-semibold form-label mt-3">
<TL>Database</TL> <TL>Database</TL>
</label> </label>
</div> </td>
<div class="col-md-9"> <td class="pb-2">
<input type="text" class="form-control form-control-solid disabled" disabled="disabled" value="@(database.Name)"> <input type="text" class="form-control form-control-solid disabled" disabled="disabled" value="@(database.Name)">
</div> </td>
</div> </tr>
<div class="text-end"> </table>
<DeleteButton Confirm="true" OnClick="() => DeleteDatabase(database)" /> <div class="text-end mt-2">
</div> <DeleteButton Confirm="true" OnClick="() => DeleteDatabase(database)"/>
</div> </div>
</div> </div>
</div> </div>
} </div>
</div> }
} </div>
else }
{ }
<div class="alert alert-warning"> else
<TL>No databases found for this website</TL> {
</div> <div class="alert alert-warning">
} <TL>No databases found for this website</TL>
</div> </div>
</LazyLoader> }
</LazyLoader>
</div>
@code @code
{ {

View File

@@ -132,7 +132,10 @@
private async Task OnValidSubmit() private async Task OnValidSubmit()
{ {
if (WebsiteRepository.Get().Count() < (await SubscriptionService.GetLimit("websites")).Amount) if (WebsiteRepository
.Get()
.Include(x => x.Owner)
.Count(x => x.Owner.Id == User.Id) < (await SubscriptionService.GetLimit("websites")).Amount)
{ {
var website = await WebsiteService.Create(Model.BaseDomain, User, PleskServer); var website = await WebsiteService.Create(Model.BaseDomain, User, PleskServer);

View File

@@ -565,3 +565,4 @@ Guest;Guest
You need a domain;You need a domain You need a domain;You need a domain
New post;New post New post;New post
New entry;New entry New entry;New entry
You reached the maximum amount of websites in your subscription;You reached the maximum amount of websites in your subscription