Added AdminPages to admin dashboard and navigation + created 2.0 todo list

This commit is contained in:
2024-10-06 11:09:00 +02:00
parent 9cf818c55d
commit 6a110d5b8b
12 changed files with 90 additions and 28 deletions

View File

@@ -7,6 +7,7 @@ public interface IAdminPageGenerator<TModel> {
IAdminPageGenerator<TModel> Title(string title);
IAdminPageGenerator<TModel> Description(string description);
IAdminPageGenerator<TModel> Url(string url);
IAdminPageGenerator<TModel> ViewPermission(string permission);
IAdminPageGenerator<TModel> CreatePermission(string permission);

View File

@@ -73,6 +73,11 @@ internal class AdminContextGenerator : IAdminContextGenerator {
generator.Description(attribute?.Description);
}
if (attributes.Any(a => a is AdminUrlAttribute)) {
var attribute = attributes.Single(a => a is AdminUrlAttribute) as AdminUrlAttribute;
generator.Url(attribute?.Url);
}
if (attributes.Any(a => a is AdminPermissionsAttribute)) {
var attribute = attributes.Single(a => a is AdminPermissionsAttribute) as AdminPermissionsAttribute;
generator.CreatePermission(attribute?.Permissions.Create);

View File

@@ -39,6 +39,7 @@ internal sealed class AdminPageGenerator<TModel> : IAdminPageGenerator<TModel>,
public IAdminPageGenerator<TModel> Title(string title) {
_page.Title = title;
_page.Url ??= title.ToLower();
return this;
}
@@ -47,6 +48,11 @@ internal sealed class AdminPageGenerator<TModel> : IAdminPageGenerator<TModel>,
return this;
}
public IAdminPageGenerator<TModel> Url(string url) {
_page.Url = url;
return this;
}
public IAdminPageGenerator<TModel> ViewPermission(string permission) {
_page.Permissions.View = permission;
return this;