From 35225b2bb9c93bed128594f6e9b44587aec5a146 Mon Sep 17 00:00:00 2001 From: hishamco Date: Tue, 20 Apr 2021 17:29:24 +0300 Subject: [PATCH 1/4] Move SqlServer databases into a separate project --- .../LocalDbDatabase.cs | 3 +-- .../Oqtane.Database.SqlServer.csproj | 15 +++++++++++++++ .../SqlServerDatabase.cs | 5 +---- .../SqlServerDatabaseBase.cs | 2 -- Oqtane.Server/Oqtane.Server.csproj | 2 +- Oqtane.sln | 12 +++++++++--- 6 files changed, 27 insertions(+), 12 deletions(-) rename {Oqtane.Server/Databases => Oqtane.Database.SqlServer}/LocalDbDatabase.cs (95%) create mode 100644 Oqtane.Database.SqlServer/Oqtane.Database.SqlServer.csproj rename {Oqtane.Server/Databases => Oqtane.Database.SqlServer}/SqlServerDatabase.cs (94%) rename {Oqtane.Server/Databases => Oqtane.Database.SqlServer}/SqlServerDatabaseBase.cs (95%) diff --git a/Oqtane.Server/Databases/LocalDbDatabase.cs b/Oqtane.Database.SqlServer/LocalDbDatabase.cs similarity index 95% rename from Oqtane.Server/Databases/LocalDbDatabase.cs rename to Oqtane.Database.SqlServer/LocalDbDatabase.cs index 77be3035..e2de5b7b 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 94% rename from Oqtane.Server/Databases/SqlServerDatabase.cs rename to Oqtane.Database.SqlServer/SqlServerDatabase.cs index cfb852c3..ee194507 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 70d3de3a..c1d87689 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 5f937608..396e43b3 100644 --- a/Oqtane.Server/Oqtane.Server.csproj +++ b/Oqtane.Server/Oqtane.Server.csproj @@ -57,7 +57,6 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - @@ -67,6 +66,7 @@ + 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 From 14801e7f0d794c9c23c810e3e515ed7ef855e7cb Mon Sep 17 00:00:00 2001 From: Leigh Date: Fri, 30 Apr 2021 10:50:12 +0200 Subject: [PATCH 2/4] NuGet Icon Warning The IconURL is depreciate in favor of an embedded icon file in the package --- .../Package/[Owner].[Module].Package.csproj | 7 +++++++ .../External/Package/[Owner].[Module].nuspec | 3 ++- .../Modules/Templates/External/Package/icon.png | Bin 0 -> 4895 bytes .../Package/[Owner].[Theme].Package.csproj | 7 +++++++ .../External/Package/[Owner].[Theme].nuspec | 3 ++- .../Themes/Templates/External/Package/icon.png | Bin 0 -> 4895 bytes 6 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 Oqtane.Server/wwwroot/Modules/Templates/External/Package/icon.png create mode 100644 Oqtane.Server/wwwroot/Themes/Templates/External/Package/icon.png 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 0000000000000000000000000000000000000000..3c43cce4c6604107eab529207edd44c386768ca1 GIT binary patch literal 4895 zcmV+)6X5KLP)Px#1ZP1_K>z@;j|==^1poj7B2Y|JMgRZ*{{H^`{r&v>{G+3zeSLkLoSa!%Sq26M z0|NsE1qDh25)y%dfpBneJ3BizHZ}s;WgrMN3Od zg@uKVj*gI!kau@?goK1!TU(u-or#HwuCA^uEG(Own>95xWMpIy4-c%YtT8b$NJvO^ zb#+owQYI!Qva+&FOiV5=E^KUUnVFfWsHl~dm3Vk~X=!OqO-;46wIU)SI5;>nGc&ff zwmv>SnwpxgudgpJFCQNtjg5^zKR>3Xri_e?dU|?OQ&VRaI57v9W-FfP;gB zZ*Omul$4j3m#3$vmX?-lYiqEuuvAo3h=_N?x0*=>;fLtmHDY5rf{_g*zKv)fg} z^!Chl^G)wePuHtg@2mIf>SH!&J(RLL`Ns{ziweNRq_s9qV=8Pt90B{`il-rL7BcnjL= zUz$gcD7CD%g)pYtT3eksqh<0_wpM4;_{P0lPY!`w%n91sUd{9Lu zT*tNVfPO3=Jjlq|brCfJdcBp*HmI_xg*X9M@rj|VgKXSD9j_;}LQ~pkg|iK{$;W~_ zuFW}UBuYJA9x;6%4wH*kvdQ1nd2m^6WitsIEgOs0ULOWTHlrXWG(vQ0e_JPinBo&Q zOE$qSc@iA_O~mN=ET2(exkOa9$imP`g%b3%r)-{#f~K^Et!$|^+5x@IX2>%7{bM13 zQ6$sD2twk~y20cGRCe1dyLeL>UAoJiS#H2x)Am4; zdo8?WF}Rd^#^3AGX7pAo%}~Km7B6A_s#1UQXE;D|FBvbV=lHd@qwg-8J3COl>=2(% z^xQpBEO8SF217H%U$X!*iEVqDFBp1wP-JZt9^#cC*hkXEd#Wlj0J3AhBd|bC=;^%> zjC>Ll4phiVx)b}E;32jhWOHL3!pG^=vxlEsV0pYf%PV_*2>aMFf$6123tVlUE3mbZ z$%ny%yomOm4Ub@iTSpdYJ?y%A1h_}%}NOU9B( zu_U;ihh`la56%!LCbK$3m~)wZtYyq#?NY&t4mQdKBBCoVN*(}=)>TQFiSF!=^zdYKr>v&DdZ`hPPQ3bCI)Hrqdp?k4A#`vxC-{zz>1*tbJ1u& zCXj+R7LC^-gz^EFWFXTjc9RA6bjJx+Ha3s^pimk_y4e~J6{ByL3>NCpa0gO*UjvVf zjZ19jKZL;Y(4e#}EN@W=Uh1JKR$UH+=5cXW`?=UsPg0KsJKR)E|4;?;JU(dgm91*a`HL-@$#)bz<#Z6fbMCKlaAX~_9r+TdI!(k3` zt7|`~)Nw1^C$elS(53Z6AfiH8LdWAgXiVi5N{+>NvQJH99x+4+ zo5rMxpqfv68i!3lk0nhVR;t%}c$SR$;s|IxMsqH;sL>hHP?t}NGe81VR$^FjvLBP{ z?{WTF7pAefF7gy` z=PcuP;*Exvp>_F9?%cR_Aj|wv^29U2(eiIucN?MBmr;XaLM_OgsLCm@>hYG%;c^Mh z_e=LP=e9V8XLr9FWOL)0FqdI-EP~oz`^Z%+wAsXxEZ-KaBntL4$S_1lbZK@_KvY>^ zZwL2SvDqS+IV4zPoNmy8vcV<9R^TZW@H1caX6?=)~m1*^M&2^2RzA5vR#TUW>T1Qc`GvIx!Vw`Sa#l`ZYQHklp>U^!=ALBsjWuF0RZQYZvBS4j; z!>JFE3fjOXU5J-e@Bz`_qMXn;LF!}z`#$uY(i7eKvMsL_AgzTJG*|Rad&!D!U-?M- zLzfkH!<1`Id#4Pxj)uZU9_dG5d8kn0$%>VA0NVF9(vlFYQ!Qf_UKGzm)NKNHtNYx2 zuvM?kWKz-^CS<~Zl;Q$N;zU~m11NPri*qIyj*4XZpbq4?XD}nHXfu@)k+2uHm6(Q` z3e9p_cXM#ztgm1qNu}er%^K7rpXvG|GI{ESl<^v?C3w`=$SIA0nJWjO51^_RdwUF4 zw>JGz1ces@k3�q3`kwQ;BU888;`$;WJ28OyUNR9n+_GyqC7;X zGWF*?|4RlHOoj@pZ6sE)Olt6ZWV)3~0J8B?(GywW2Pv{3czYIoU=)R^V4kJzIs9vHNe?+pFS5eZX*wiOS75JIJsdhbWW|!Vx{EA?Osq3qC)J=m1fx+bE(6Bv|bvR)DY6V9PvGKf% z2trQxH-B!fis?9~?5w8Z23jAchS!sC64?Z} z6OYEa(Muxf@UXai?QXMr$bs@>R_wZA+g=dhzeB}>3)GV!l}>C47P01$h4K*{c1(y| z*9=JhE91C*3#XYVVRmZ6h{a3d|F|;gm<~T|avdku6@nx9XGF1T8FSPB?`ocV5vdQ* zb8!W>xl@7&n7`p{e5^}QJv!{f)$A1gK{$;5^HZ9qG;30 z{G(BFK<$^)P~lQiJf!oYH`95?*FR7u^u)sBv{do1jSL!iHn^rv}423?YG#(5rpEr2Y9&;#t>I1WNl??MIv%%WwHp7VT5B+zB!j5bZ`g8L3LfG1O1qUU z9aI(R)KB-u15NM;{IqYHG$L(?FFd5>Ut^{MuByUMcqYcTDoO_M*m4m?w80}(2sve! zJcE%Q72DSJ*>_Na6x0r=e>r|mBr%AH4vS~MLG0Q>+JhDS;t+IS)xj?bm;!(5!Edeh zc4F6AHp5zx6cGiki>VXZ>kNw%i(!E^V^pwg)^R&;I|{+ad)W*iF%vm4gFlnrEoM!D ze}(4OB6{Ib`U5UCVR?$;UuYg9EV2)DC-(?8>iwpDZ8f$V=p-@zZeIcbCdDTOIrwX3a0k!E>+ z)>m7*E^h*4M}c1Sad$WWe3&<|B5#0nc~kUo@7T8T2xJV~L)N^xvji@FchFc)4l8z? zIY7?fxXeamkr6P%PQJhU&+dL&a5ZQorf=_#FF6zc$u`EY7F10N{`>leUG9rfT9>!X zdE&d6d|3mV_VW`nKI!hOd*+D3snpfEVBf|EvuJf3B0CE||L@YoyB|1n?%d@WGiH4H z-o$yg+)IhsXxP_*C{SvLd0o21gX$c^_|Ldvu>5edK};Ok^|bZKZGE)*=Ey@PFsc{Wd!6 R-3I^w002ovPDHLkV1nKx-0T1V literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..3c43cce4c6604107eab529207edd44c386768ca1 GIT binary patch literal 4895 zcmV+)6X5KLP)Px#1ZP1_K>z@;j|==^1poj7B2Y|JMgRZ*{{H^`{r&v>{G+3zeSLkLoSa!%Sq26M z0|NsE1qDh25)y%dfpBneJ3BizHZ}s;WgrMN3Od zg@uKVj*gI!kau@?goK1!TU(u-or#HwuCA^uEG(Own>95xWMpIy4-c%YtT8b$NJvO^ zb#+owQYI!Qva+&FOiV5=E^KUUnVFfWsHl~dm3Vk~X=!OqO-;46wIU)SI5;>nGc&ff zwmv>SnwpxgudgpJFCQNtjg5^zKR>3Xri_e?dU|?OQ&VRaI57v9W-FfP;gB zZ*Omul$4j3m#3$vmX?-lYiqEuuvAo3h=_N?x0*=>;fLtmHDY5rf{_g*zKv)fg} z^!Chl^G)wePuHtg@2mIf>SH!&J(RLL`Ns{ziweNRq_s9qV=8Pt90B{`il-rL7BcnjL= zUz$gcD7CD%g)pYtT3eksqh<0_wpM4;_{P0lPY!`w%n91sUd{9Lu zT*tNVfPO3=Jjlq|brCfJdcBp*HmI_xg*X9M@rj|VgKXSD9j_;}LQ~pkg|iK{$;W~_ zuFW}UBuYJA9x;6%4wH*kvdQ1nd2m^6WitsIEgOs0ULOWTHlrXWG(vQ0e_JPinBo&Q zOE$qSc@iA_O~mN=ET2(exkOa9$imP`g%b3%r)-{#f~K^Et!$|^+5x@IX2>%7{bM13 zQ6$sD2twk~y20cGRCe1dyLeL>UAoJiS#H2x)Am4; zdo8?WF}Rd^#^3AGX7pAo%}~Km7B6A_s#1UQXE;D|FBvbV=lHd@qwg-8J3COl>=2(% z^xQpBEO8SF217H%U$X!*iEVqDFBp1wP-JZt9^#cC*hkXEd#Wlj0J3AhBd|bC=;^%> zjC>Ll4phiVx)b}E;32jhWOHL3!pG^=vxlEsV0pYf%PV_*2>aMFf$6123tVlUE3mbZ z$%ny%yomOm4Ub@iTSpdYJ?y%A1h_}%}NOU9B( zu_U;ihh`la56%!LCbK$3m~)wZtYyq#?NY&t4mQdKBBCoVN*(}=)>TQFiSF!=^zdYKr>v&DdZ`hPPQ3bCI)Hrqdp?k4A#`vxC-{zz>1*tbJ1u& zCXj+R7LC^-gz^EFWFXTjc9RA6bjJx+Ha3s^pimk_y4e~J6{ByL3>NCpa0gO*UjvVf zjZ19jKZL;Y(4e#}EN@W=Uh1JKR$UH+=5cXW`?=UsPg0KsJKR)E|4;?;JU(dgm91*a`HL-@$#)bz<#Z6fbMCKlaAX~_9r+TdI!(k3` zt7|`~)Nw1^C$elS(53Z6AfiH8LdWAgXiVi5N{+>NvQJH99x+4+ zo5rMxpqfv68i!3lk0nhVR;t%}c$SR$;s|IxMsqH;sL>hHP?t}NGe81VR$^FjvLBP{ z?{WTF7pAefF7gy` z=PcuP;*Exvp>_F9?%cR_Aj|wv^29U2(eiIucN?MBmr;XaLM_OgsLCm@>hYG%;c^Mh z_e=LP=e9V8XLr9FWOL)0FqdI-EP~oz`^Z%+wAsXxEZ-KaBntL4$S_1lbZK@_KvY>^ zZwL2SvDqS+IV4zPoNmy8vcV<9R^TZW@H1caX6?=)~m1*^M&2^2RzA5vR#TUW>T1Qc`GvIx!Vw`Sa#l`ZYQHklp>U^!=ALBsjWuF0RZQYZvBS4j; z!>JFE3fjOXU5J-e@Bz`_qMXn;LF!}z`#$uY(i7eKvMsL_AgzTJG*|Rad&!D!U-?M- zLzfkH!<1`Id#4Pxj)uZU9_dG5d8kn0$%>VA0NVF9(vlFYQ!Qf_UKGzm)NKNHtNYx2 zuvM?kWKz-^CS<~Zl;Q$N;zU~m11NPri*qIyj*4XZpbq4?XD}nHXfu@)k+2uHm6(Q` z3e9p_cXM#ztgm1qNu}er%^K7rpXvG|GI{ESl<^v?C3w`=$SIA0nJWjO51^_RdwUF4 zw>JGz1ces@k3�q3`kwQ;BU888;`$;WJ28OyUNR9n+_GyqC7;X zGWF*?|4RlHOoj@pZ6sE)Olt6ZWV)3~0J8B?(GywW2Pv{3czYIoU=)R^V4kJzIs9vHNe?+pFS5eZX*wiOS75JIJsdhbWW|!Vx{EA?Osq3qC)J=m1fx+bE(6Bv|bvR)DY6V9PvGKf% z2trQxH-B!fis?9~?5w8Z23jAchS!sC64?Z} z6OYEa(Muxf@UXai?QXMr$bs@>R_wZA+g=dhzeB}>3)GV!l}>C47P01$h4K*{c1(y| z*9=JhE91C*3#XYVVRmZ6h{a3d|F|;gm<~T|avdku6@nx9XGF1T8FSPB?`ocV5vdQ* zb8!W>xl@7&n7`p{e5^}QJv!{f)$A1gK{$;5^HZ9qG;30 z{G(BFK<$^)P~lQiJf!oYH`95?*FR7u^u)sBv{do1jSL!iHn^rv}423?YG#(5rpEr2Y9&;#t>I1WNl??MIv%%WwHp7VT5B+zB!j5bZ`g8L3LfG1O1qUU z9aI(R)KB-u15NM;{IqYHG$L(?FFd5>Ut^{MuByUMcqYcTDoO_M*m4m?w80}(2sve! zJcE%Q72DSJ*>_Na6x0r=e>r|mBr%AH4vS~MLG0Q>+JhDS;t+IS)xj?bm;!(5!Edeh zc4F6AHp5zx6cGiki>VXZ>kNw%i(!E^V^pwg)^R&;I|{+ad)W*iF%vm4gFlnrEoM!D ze}(4OB6{Ib`U5UCVR?$;UuYg9EV2)DC-(?8>iwpDZ8f$V=p-@zZeIcbCdDTOIrwX3a0k!E>+ z)>m7*E^h*4M}c1Sad$WWe3&<|B5#0nc~kUo@7T8T2xJV~L)N^xvji@FchFc)4l8z? zIY7?fxXeamkr6P%PQJhU&+dL&a5ZQorf=_#FF6zc$u`EY7F10N{`>leUG9rfT9>!X zdE&d6d|3mV_VW`nKI!hOd*+D3snpfEVBf|EvuJf3B0CE||L@YoyB|1n?%d@WGiH4H z-o$yg+)IhsXxP_*C{SvLd0o21gX$c^_|Ldvu>5edK};Ok^|bZKZGE)*=Ey@PFsc{Wd!6 R-3I^w002ovPDHLkV1nKx-0T1V literal 0 HcmV?d00001 From bc2e3a7333609c10f128fa0c206054e9fd528dd4 Mon Sep 17 00:00:00 2001 From: Leigh Date: Fri, 30 Apr 2021 09:36:50 +0200 Subject: [PATCH 3/4] Permissions for edit are applied from the page permissions. --- Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor index 5c93bc9c..b2656741 100644 --- a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor +++ b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor @@ -369,7 +369,10 @@ module.PageId = PageState.Page.PageId; module.ModuleDefinitionName = ModuleDefinitionName; module.AllPages = false; - module.Permissions = PageState.Page.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()) }); module = await ModuleService.AddModuleAsync(module); ModuleId = module.ModuleId.ToString(); } From 2be48e910e56e687bd9e7ce8097a1180cecaa899 Mon Sep 17 00:00:00 2001 From: Leigh Date: Fri, 30 Apr 2021 14:15:56 +0200 Subject: [PATCH 4/4] Set module view permissions to page edit permissions --- Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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(); }