Support for third party modules, improved error handling, standardardized enum naming, reorganized interface definitions, support for DB script upgrades, added Settings entity

This commit is contained in:
Shaun Walker
2019-08-14 09:34:35 -04:00
parent 916109015f
commit b71f007981
78 changed files with 809 additions and 261 deletions

View File

@ -54,23 +54,26 @@
if (moduleType != null)
{
var moduleobject = Activator.CreateInstance(moduleType);
SecurityAccessLevelEnum SecurityAccessLevel = (SecurityAccessLevelEnum)moduleType.GetProperty("SecurityAccessLevel").GetValue(moduleobject, null);
SecurityAccessLevel SecurityAccessLevel = (SecurityAccessLevel)moduleType.GetProperty("SecurityAccessLevel").GetValue(moduleobject, null);
switch (SecurityAccessLevel)
{
case SecurityAccessLevelEnum.Anonymous:
case SecurityAccessLevel.Anonymous:
authorized = true;
break;
case SecurityAccessLevelEnum.View:
case SecurityAccessLevel.View:
authorized = UserService.IsAuthorized(PageState.User, ModuleState.ViewPermissions);
break;
case SecurityAccessLevelEnum.Edit:
case SecurityAccessLevel.Edit:
authorized = UserService.IsAuthorized(PageState.User, ModuleState.EditPermissions);
break;
case SecurityAccessLevelEnum.Admin:
case SecurityAccessLevel.Admin:
authorized = UserService.IsAuthorized(PageState.User, Constants.AdminRole);
break;
case SecurityAccessLevelEnum.Host:
authorized = PageState.User.IsSuperUser;
case SecurityAccessLevel.Host:
if (PageState.User != null)
{
authorized = PageState.User.IsSuperUser;
}
break;
}
}

View File

@ -0,0 +1,44 @@
@using Oqtane.Modules
@inherits ModuleBase
@if (authorized)
{
<div class="@type">
@Message
</div>
}
@code {
[Parameter]
private MessageType Type { get; set; }
[Parameter]
private string Message { get; set; }
string type = "alert alert-success"; // optional
bool authorized = false;
protected override void OnInit()
{
if (PageState.User != null)
{
authorized = PageState.User.IsSuperUser;
}
switch (Type)
{
case MessageType.Success:
type = "alert alert-success";
break;
case MessageType.Info:
type = "alert alert-info";
break;
case MessageType.Warning:
type = "alert alert-warning";
break;
case MessageType.Error:
type = "alert alert-danger";
break;
}
}
}