2016-09-13 8 views
0

DNNの別のページからモジュールのリストをコピーしています。これを行う際に、すべてのユーザーがモジュールを表示するための表示権限を設定する必要があります。他のページ(コピー元)の設定も異なります。以下は他のプロパティを設定する例です。別のページからモジュールをコピーするときに、DNNモジュールへの表示アクセス許可を与えます。

ModuleInfo newModule = new ModuleInfo(); 
        newModule.ModuleDefID = module.ModuleDefID; 
        newModule.AllTabs = false; 
        newModule.PortalID = PortalId; 
        newModule.ContentItemId = module.ContentItemId; 
        newModule.ModuleTitle = module.ModuleTitle; 
        newModule.PaneName = module.PaneName; 
        newModule.TabID = NewTabInfo.TabID; 
        newModule.ContainerSrc = module.ContainerSrc; 
        newModule.ModuleOrder = module.ModuleOrder; 
        newModule.DisplayPrint = module.DisplayPrint; 
        newModule.DisplayTitle = module.DisplayTitle; 
        newModule.IsShareable = module.IsShareable; 
        newModule.IsShareableViewOnly = module.IsShareableViewOnly; 
        newModule.ModulePermissions=module.ModulePermissions; 
        newModule.IsWebSlice = module.IsWebSlice; 
        newModule.WebSliceTitle = module.WebSliceTitle; 
        newModule.Footer = module.Footer; 
        newModule.Header = module.Header; 

答えて

1

コードビハインドでdotnetnukeモジュールにロール権限を動的に追加するスニペットです。

//get the current ModuleInfo 
ModuleInfo newModule = ModuleController.Instance.GetModule(ModuleId, TabId, false); 
//or create a new module 
ModuleInfo newModule = new ModuleInfo(); 

//clear the old permissions 
newModule.ModulePermissions.Clear(); 

//add admin view permission 
ModulePermissionInfo modulePermissionInfo1 = new ModulePermissionInfo(); 
modulePermissionInfo1.ModuleID = ModuleId; 
modulePermissionInfo1.AllowAccess = true; 
//view permission id, 1 = view, 2 = edit 
modulePermissionInfo1.PermissionID = 1; 
//administrator role id (from Roles table in dnn database) 
modulePermissionInfo1.RoleID = 0; 

//add admin edit permission 
ModulePermissionInfo modulePermissionInfo2 = new ModulePermissionInfo(); 
modulePermissionInfo2.ModuleID = ModuleId; 
modulePermissionInfo2.AllowAccess = true; 
//view permission id, 1 = view, 2 = edit 
modulePermissionInfo2.PermissionID = 2; 
//administrator role id (from Roles table in dnn database) 
modulePermissionInfo2.RoleID = 0; 

//add all users view permission 
ModulePermissionInfo modulePermissionInfo3 = new ModulePermissionInfo(); 
modulePermissionInfo3.ModuleID = ModuleId; 
modulePermissionInfo3.AllowAccess = true; 
//edit permission id, 1 = view, 2 = edit 
modulePermissionInfo3.PermissionID = 1; 
//all users role id (from Roles table in dnn database) 
modulePermissionInfo3.RoleID = -1; 

//add the ModulePermissionInfo to the module 
newModule.ModulePermissions.Add(modulePermissionInfo1); 
newModule.ModulePermissions.Add(modulePermissionInfo2); 
newModule.ModulePermissions.Add(modulePermissionInfo3); 

//save the permissions 
ModulePermissionController.SaveModulePermissions(newModule); 

//clear the dnn cache (if it is the current module, not a new one) 
DotNetNuke.Common.Utilities.DataCache.ClearModuleCache(TabId); 
DotNetNuke.Common.Utilities.DataCache.ClearTabsCache(PortalId); 
DotNetNuke.Common.Utilities.DataCache.ClearPortalCache(PortalId, false); 
+0

ありがとう、これは私に多くの助けと私は私の問題を修正しました。 –

関連する問題