diff --git a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor index b2656741..e53b97a1 100644 --- a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor +++ b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor @@ -369,10 +369,12 @@ module.PageId = PageState.Page.PageId; module.ModuleDefinitionName = ModuleDefinitionName; module.AllPages = false; + + // set module view permissions to page edit permissions List permissions = UserSecurity.GetPermissionStrings(PageState.Page.Permissions); - permissions.Remove(permissions.Find(p => p.PermissionName == PermissionNames.View)); - List editpermissions = permissions.Find(p => p.PermissionName == PermissionNames.Edit).Permissions.Split(";").ToList(); - permissions.Add(new PermissionString { PermissionName = PermissionNames.View, Permissions = string.Join(";", editpermissions.ToArray()) }); + permissions.Find(p => p.PermissionName == PermissionNames.View).Permissions = permissions.Find(p => p.PermissionName == PermissionNames.Edit).Permissions; + module.Permissions = UserSecurity.SetPermissionStrings(permissions); + module = await ModuleService.AddModuleAsync(module); ModuleId = module.ModuleId.ToString(); } diff --git a/Oqtane.Server/Databases/LocalDbDatabase.cs b/Oqtane.Database.SqlServer/LocalDbDatabase.cs similarity index 83% rename from Oqtane.Server/Databases/LocalDbDatabase.cs rename to Oqtane.Database.SqlServer/LocalDbDatabase.cs index e70010ae..5ad80798 100644 --- a/Oqtane.Server/Databases/LocalDbDatabase.cs +++ b/Oqtane.Database.SqlServer/LocalDbDatabase.cs @@ -1,9 +1,8 @@ using System; using System.Collections.Generic; using Oqtane.Models; -using Oqtane.Repository.Databases; -namespace Oqtane.Databases +namespace Oqtane.Repository.Databases { public class LocalDbDatabase : SqlServerDatabaseBase { diff --git a/Oqtane.Database.SqlServer/Oqtane.Database.SqlServer.csproj b/Oqtane.Database.SqlServer/Oqtane.Database.SqlServer.csproj new file mode 100644 index 00000000..c61607a7 --- /dev/null +++ b/Oqtane.Database.SqlServer/Oqtane.Database.SqlServer.csproj @@ -0,0 +1,15 @@ + + + + net5.0 + + + + + + + + + + + diff --git a/Oqtane.Server/Databases/SqlServerDatabase.cs b/Oqtane.Database.SqlServer/SqlServerDatabase.cs similarity index 72% rename from Oqtane.Server/Databases/SqlServerDatabase.cs rename to Oqtane.Database.SqlServer/SqlServerDatabase.cs index 669cc50a..a3c07d44 100644 --- a/Oqtane.Server/Databases/SqlServerDatabase.cs +++ b/Oqtane.Database.SqlServer/SqlServerDatabase.cs @@ -1,11 +1,8 @@ using System; using System.Collections.Generic; using Oqtane.Models; -using Oqtane.Repository.Databases; -// ReSharper disable ArrangeObjectCreationWhenTypeNotEvident - -namespace Oqtane.Databases +namespace Oqtane.Repository.Databases { public class SqlServerDatabase : SqlServerDatabaseBase { diff --git a/Oqtane.Server/Databases/SqlServerDatabaseBase.cs b/Oqtane.Database.SqlServer/SqlServerDatabaseBase.cs similarity index 95% rename from Oqtane.Server/Databases/SqlServerDatabaseBase.cs rename to Oqtane.Database.SqlServer/SqlServerDatabaseBase.cs index afe1a762..a21966c0 100644 --- a/Oqtane.Server/Databases/SqlServerDatabaseBase.cs +++ b/Oqtane.Database.SqlServer/SqlServerDatabaseBase.cs @@ -2,8 +2,6 @@ using System.Collections.Generic; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Migrations.Operations; using Microsoft.EntityFrameworkCore.Migrations.Operations.Builders; -using Oqtane.Databases; -using Oqtane.Interfaces; using Oqtane.Models; using Oqtane.Shared; diff --git a/Oqtane.Server/Oqtane.Server.csproj b/Oqtane.Server/Oqtane.Server.csproj index 37f69666..879ac2eb 100644 --- a/Oqtane.Server/Oqtane.Server.csproj +++ b/Oqtane.Server/Oqtane.Server.csproj @@ -38,7 +38,6 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - @@ -48,6 +47,7 @@ + diff --git a/Oqtane.Server/wwwroot/Modules/Templates/External/Package/[Owner].[Module].Package.csproj b/Oqtane.Server/wwwroot/Modules/Templates/External/Package/[Owner].[Module].Package.csproj index cef85f51..680a66c7 100644 --- a/Oqtane.Server/wwwroot/Modules/Templates/External/Package/[Owner].[Module].Package.csproj +++ b/Oqtane.Server/wwwroot/Modules/Templates/External/Package/[Owner].[Module].Package.csproj @@ -5,6 +5,13 @@ false + + + True + + + + diff --git a/Oqtane.Server/wwwroot/Modules/Templates/External/Package/[Owner].[Module].nuspec b/Oqtane.Server/wwwroot/Modules/Templates/External/Package/[Owner].[Module].nuspec index df6e4997..4d879f4a 100644 --- a/Oqtane.Server/wwwroot/Modules/Templates/External/Package/[Owner].[Module].nuspec +++ b/Oqtane.Server/wwwroot/Modules/Templates/External/Package/[Owner].[Module].nuspec @@ -11,7 +11,7 @@ false MIT https://github.com/oqtane/oqtane.framework - https://www.oqtane.org/Portals/0/icon.jpg + icon.png oqtane module @@ -27,5 +27,6 @@ + \ No newline at end of file diff --git a/Oqtane.Server/wwwroot/Modules/Templates/External/Package/icon.png b/Oqtane.Server/wwwroot/Modules/Templates/External/Package/icon.png new file mode 100644 index 00000000..3c43cce4 Binary files /dev/null and b/Oqtane.Server/wwwroot/Modules/Templates/External/Package/icon.png differ diff --git a/Oqtane.Server/wwwroot/Themes/Templates/External/Package/[Owner].[Theme].Package.csproj b/Oqtane.Server/wwwroot/Themes/Templates/External/Package/[Owner].[Theme].Package.csproj index 30043010..a415f456 100644 --- a/Oqtane.Server/wwwroot/Themes/Templates/External/Package/[Owner].[Theme].Package.csproj +++ b/Oqtane.Server/wwwroot/Themes/Templates/External/Package/[Owner].[Theme].Package.csproj @@ -5,6 +5,13 @@ false + + + True + + + + diff --git a/Oqtane.Server/wwwroot/Themes/Templates/External/Package/[Owner].[Theme].nuspec b/Oqtane.Server/wwwroot/Themes/Templates/External/Package/[Owner].[Theme].nuspec index e73d4618..9f373b2a 100644 --- a/Oqtane.Server/wwwroot/Themes/Templates/External/Package/[Owner].[Theme].nuspec +++ b/Oqtane.Server/wwwroot/Themes/Templates/External/Package/[Owner].[Theme].nuspec @@ -11,7 +11,7 @@ false MIT https://github.com/oqtane/oqtane.framework - https://www.oqtane.org/Portals/0/icon.jpg + icon.png oqtane module @@ -23,5 +23,6 @@ + \ No newline at end of file diff --git a/Oqtane.Server/wwwroot/Themes/Templates/External/Package/icon.png b/Oqtane.Server/wwwroot/Themes/Templates/External/Package/icon.png new file mode 100644 index 00000000..3c43cce4 Binary files /dev/null and b/Oqtane.Server/wwwroot/Themes/Templates/External/Package/icon.png differ diff --git a/Oqtane.sln b/Oqtane.sln index 9548b9c6..56aec43f 100644 --- a/Oqtane.sln +++ b/Oqtane.sln @@ -20,11 +20,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution README.md = README.md EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Oqtane.Database.MySQL", "Oqtane.Database.MySQL\Oqtane.Database.MySQL.csproj", "{A996FD2D-DAC8-4DFA-92B2-51DF32C6E014}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Oqtane.Database.MySQL", "Oqtane.Database.MySQL\Oqtane.Database.MySQL.csproj", "{A996FD2D-DAC8-4DFA-92B2-51DF32C6E014}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Oqtane.Database.PostgreSQL", "Oqtane.Database.PostgreSQL\Oqtane.Database.PostgreSQL.csproj", "{3B29B35F-65E7-4819-9AED-EAC7FCFA309B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Oqtane.Database.PostgreSQL", "Oqtane.Database.PostgreSQL\Oqtane.Database.PostgreSQL.csproj", "{3B29B35F-65E7-4819-9AED-EAC7FCFA309B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Oqtane.Database.Sqlite", "Oqtane.Database.Sqlite\Oqtane.Database.Sqlite.csproj", "{E4F50CA9-19A6-465A-9469-C033748AD95B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Oqtane.Database.Sqlite", "Oqtane.Database.Sqlite\Oqtane.Database.Sqlite.csproj", "{E4F50CA9-19A6-465A-9469-C033748AD95B}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Oqtane.Database.SqlServer", "Oqtane.Database.SqlServer\Oqtane.Database.SqlServer.csproj", "{033DCA37-6354-4A3D-8250-4EC20740EE19}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -64,6 +66,10 @@ Global {E4F50CA9-19A6-465A-9469-C033748AD95B}.Debug|Any CPU.Build.0 = Debug|Any CPU {E4F50CA9-19A6-465A-9469-C033748AD95B}.Release|Any CPU.ActiveCfg = Release|Any CPU {E4F50CA9-19A6-465A-9469-C033748AD95B}.Release|Any CPU.Build.0 = Release|Any CPU + {033DCA37-6354-4A3D-8250-4EC20740EE19}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {033DCA37-6354-4A3D-8250-4EC20740EE19}.Debug|Any CPU.Build.0 = Debug|Any CPU + {033DCA37-6354-4A3D-8250-4EC20740EE19}.Release|Any CPU.ActiveCfg = Release|Any CPU + {033DCA37-6354-4A3D-8250-4EC20740EE19}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE