Merge pull request #1637 from sbwalker/dev

fix #1628 - make DBContext Transient, modify Control Panel to use standard Bootstrap 5 offcanvas classes, add auto trimming to file logger, fix issue in File Repository related to populating Url on Add/Update.
This commit is contained in:
Shaun Walker 2021-09-01 08:55:06 -04:00 committed by GitHub
commit 01c7a8fcdb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 158 additions and 158 deletions

View File

@ -14,16 +14,12 @@
@if (_moduleDefinitions != null && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions)) @if (_moduleDefinitions != null && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions))
{ {
<div class="offcanvas offcanvas-end" tabindex="-1" data-bs-scroll="true" data-bs-backdrop="true" id="offcanvasControlPanel" aria-labelledby="offcanvasControlPanelLabel"> <div class="offcanvas offcanvas-end" tabindex="-1" data-bs-scroll="true" data-bs-backdrop="true" id="offcanvasControlPanel" aria-labelledby="offcanvasScrollingLabel">
<div class="@CardClass"> <div class="@HeaderClass">
<div class="@HeaderClass d-flex"> <h5 id="offcanvasScrollingLabel">@Localizer["ControlPanel"]</h5>
<span class="font-weight-bold">@Localizer["ControlPanel"]</span> <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
<div class="ms-auto">
<button type="button" class="btn-close" aria-label="Close" data-bs-dismiss="offcanvas"></button>
</div>
</div> </div>
<div class="@BodyClass"> <div class="@BodyClass">
@if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Admin)) @if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Admin))
{ {
<div class="row d-flex"> <div class="row d-flex">
@ -187,11 +183,10 @@
@if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Host)) @if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Host))
{ {
<hr class="app-rule" /> <hr class="app-rule" />
<NavLink class="btn btn-info col-12" href="@NavigateUrl("admin/update")">@Localizer["System.Update"]</NavLink> <NavLink class="btn btn-info col-12" data-bs-dismiss="offcanvas" href="@NavigateUrl("admin/update")">@Localizer["System.Update"]</NavLink>
} }
</div> </div>
</div> </div>
</div>
} }
@if (ShowLanguageSwitcher) @if (ShowLanguageSwitcher)
@ -280,13 +275,10 @@
public string ButtonClass { get; set; } = "btn-outline-secondary"; public string ButtonClass { get; set; } = "btn-outline-secondary";
[Parameter] [Parameter]
public string CardClass { get; set; } = "card border-secondary mb-3"; public string HeaderClass { get; set; } = "offcanvas-header";
[Parameter] [Parameter]
public string HeaderClass { get; set; } = "card-header"; public string BodyClass { get; set; } = "offcanvas-body overflow-auto";
[Parameter]
public string BodyClass { get; set; } = "card-body";
[Parameter] [Parameter]
public bool ShowLanguageSwitcher { get; set; } = true; public bool ShowLanguageSwitcher { get; set; } = true;

View File

@ -35,8 +35,8 @@ namespace Microsoft.Extensions.DependencyInjection
public static IServiceCollection AddOqtaneDbContext(this IServiceCollection services) public static IServiceCollection AddOqtaneDbContext(this IServiceCollection services)
{ {
services.AddDbContext<MasterDBContext>(options => { }); services.AddDbContext<MasterDBContext>(options => { }, ServiceLifetime.Transient);
services.AddDbContext<TenantDBContext>(options => { }); services.AddDbContext<TenantDBContext>(options => { }, ServiceLifetime.Transient);
return services; return services;
} }

View File

@ -54,6 +54,12 @@ namespace Oqtane.Infrastructure
var filepath = Path.Combine(folder, "error.log"); var filepath = Path.Combine(folder, "error.log");
// only retain an error log for the current day as it is intended for development purposes
if (File.GetCreationTime(filepath).ToUniversalTime().Date < DateTime.UtcNow.Date && File.Exists(filepath))
{
File.Delete(filepath);
}
var logentry = string.Format("{0} [{1}] {2} {3}", "[" + DateTimeOffset.UtcNow.ToString("yyyy-MM-dd HH:mm:ss+00:00") + "]", logLevel.ToString(), formatter(state, exception), exception != null ? exception.StackTrace : ""); var logentry = string.Format("{0} [{1}] {2} {3}", "[" + DateTimeOffset.UtcNow.ToString("yyyy-MM-dd HH:mm:ss+00:00") + "]", logLevel.ToString(), formatter(state, exception), exception != null ? exception.StackTrace : "");
try try

View File

@ -42,6 +42,7 @@ namespace Oqtane.Repository
{ {
_db.File.Add(file); _db.File.Add(file);
_db.SaveChanges(); _db.SaveChanges();
file.Folder = _folderRepository.GetFolder(file.FolderId);
file.Url = GetFileUrl(file, _tenants.GetAlias()); file.Url = GetFileUrl(file, _tenants.GetAlias());
return file; return file;
} }
@ -50,6 +51,7 @@ namespace Oqtane.Repository
{ {
_db.Entry(file).State = EntityState.Modified; _db.Entry(file).State = EntityState.Modified;
_db.SaveChanges(); _db.SaveChanges();
file.Folder = _folderRepository.GetFolder(file.FolderId);
file.Url = GetFileUrl(file, _tenants.GetAlias()); file.Url = GetFileUrl(file, _tenants.GetAlias());
return file; return file;
} }