496 lines
30 KiB
VB.net
496 lines
30 KiB
VB.net
Imports System
|
|
Imports System.ComponentModel
|
|
Imports System.Collections.Generic
|
|
Imports System.Diagnostics
|
|
Imports System.Text
|
|
|
|
Imports DevExpress.ExpressApp
|
|
Imports DevExpress.ExpressApp.Actions
|
|
Imports DevExpress.Persistent.Base
|
|
Imports DevExpress.Xpo
|
|
Imports DevExpress.Data.Filtering
|
|
Imports System.IO
|
|
Imports System.Security
|
|
Imports System.Xml
|
|
|
|
Imports System.Security.Principal
|
|
|
|
Imports DevExpress.Persistent.BaseImpl
|
|
Imports DevExpress.Persistent.Base.Security
|
|
|
|
Imports DevExpress.ExpressApp.Security
|
|
Imports DevExpress.ExpressApp.Updating
|
|
Imports DevExpress.ExpressApp.Win.Editors
|
|
Imports Nuvolar.Module
|
|
|
|
|
|
Public Class CustomRoleEditorVC
|
|
Inherits DevExpress.ExpressApp.ViewController(Of ListView)
|
|
Private _GridListEditor As GridListEditor
|
|
Protected _selection As ArrayList
|
|
Protected _noselect As Boolean = False
|
|
|
|
Public Sub New()
|
|
MyBase.New()
|
|
_selection = New ArrayList()
|
|
InitializeComponent()
|
|
RegisterActions(components)
|
|
End Sub
|
|
Protected Overrides Sub OnActivated()
|
|
MyBase.OnActivated()
|
|
''____________Továbbgondolásig letíltva!__________________________>>>>
|
|
'Frame.GetController(Of CustomRoleEditorVC).aCustomRoleSave.Active.SetItemValue("", False)
|
|
''____________Továbbgondolásig letíltva!__________________________<<<
|
|
|
|
If View.Id = "PermissionMatrix_ListView" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
|
|
Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", False)
|
|
AddHandler View.SelectionChanged, AddressOf PermissionMatrix_selection_changed
|
|
End If
|
|
|
|
'// Permission matrix beállítása Modelbõl
|
|
|
|
End Sub
|
|
Protected Overrides Sub OnDeactivated()
|
|
MyBase.OnDeactivated()
|
|
If View.Id = "PermissionMatrix_ListView" Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
|
|
Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", True)
|
|
|
|
RemoveHandler View.SelectionChanged, AddressOf PermissionMatrix_selection_changed
|
|
End If
|
|
End Sub
|
|
|
|
Protected Overrides Sub OnViewControlsCreated()
|
|
MyBase.OnViewControlsCreated()
|
|
'If View.Id = "PermissionMatrix_ListView" Then
|
|
' Dim _ListView As ListView = CType(View, ListView)
|
|
' _GridListEditor = TryCast(View.Editor, GridListEditor)
|
|
' If _GridListEditor IsNot Nothing Then
|
|
' _GridListEditor.AllowEdit = True
|
|
' For i As Integer = 0 To _GridListEditor.Columns.Count - 1
|
|
' If _GridListEditor.GridView.Columns(i).FieldName <> "IsCreate" And _
|
|
' _GridListEditor.GridView.Columns(i).FieldName <> "IsRead" And _
|
|
' _GridListEditor.GridView.Columns(i).FieldName <> "IsWrite" And _
|
|
' _GridListEditor.GridView.Columns(i).FieldName <> "IsNavigate" And _
|
|
' _GridListEditor.GridView.Columns(i).FieldName <> "IsDelete" Then
|
|
' _GridListEditor.GridView.Columns(i).OptionsColumn.ReadOnly = True
|
|
' _GridListEditor.GridView.Columns(i).OptionsColumn.AllowEdit = False
|
|
' _GridListEditor.GridView.Columns(i).OptionsColumn.TabStop = False
|
|
' End If
|
|
' Next i
|
|
' End If
|
|
'End If
|
|
End Sub
|
|
Sub PermissionMatrix_selection_changed(ByVal sender As Object, ByVal e As System.EventArgs)
|
|
If View Is Nothing Then Exit Sub
|
|
If View.Id = "PermissionMatrix_ListView" Then
|
|
If _noselect = False Then
|
|
_selection.Clear()
|
|
For Each _PermissionMatrix As PermissionMatrix In View.SelectedObjects
|
|
_selection.Add(_PermissionMatrix)
|
|
Next
|
|
End If
|
|
End If
|
|
End Sub
|
|
Sub CreatePermissionMatrix(ByVal ObjectSpace As Xpo.XPObjectSpace)
|
|
Dim _PermissionMatrix_Collection As XPCollection(Of PermissionMatrix) = New XPCollection(Of PermissionMatrix)(ObjectSpace.Session, CriteriaOperator.Parse("Oid=Oid"))
|
|
Dim _Role_Collection As XPCollection(Of Role) = New XPCollection(Of Role)(ObjectSpace.Session, CriteriaOperator.Parse("Oid=Oid"))
|
|
|
|
Dim _Type As Type
|
|
Dim _Role As Role
|
|
Dim _Permission As IPermission
|
|
Dim _XMLDocument As New XmlDocument
|
|
Dim _XmlNodes As Xml.XmlNodeList
|
|
Dim _XmlNode As Xml.XmlNode
|
|
Dim _XmlNode1 As Xml.XmlNode
|
|
Dim i As Long
|
|
Dim _PermissionMatrix As PermissionMatrix
|
|
Dim _OT As String
|
|
ObjectSpace.Delete(_PermissionMatrix_Collection)
|
|
|
|
For Each _Role In _Role_Collection
|
|
|
|
|
|
For Each _Permission In _Role.Permissions
|
|
_XMLDocument.LoadXml(_Permission.ToXml.ToString)
|
|
_XmlNodes = _XMLDocument.SelectNodes("IPermission")
|
|
For Each _XmlNode In _XmlNodes
|
|
i = 0
|
|
For Each _XmlNode1 In _XmlNode.SelectNodes("ParticularAccessItem")
|
|
If i = 0 Then
|
|
|
|
_PermissionMatrix = ObjectSpace.CreateObject(Of PermissionMatrix)()
|
|
_PermissionMatrix.Role = _Role
|
|
|
|
_OT = Replace(_XmlNode1.Attributes("objectType").Value.ToString, "Nuvolar.Module.", "")
|
|
_PermissionMatrix.ObjectType = _OT
|
|
End If
|
|
If _XmlNode1.Attributes("access").Value.ToString = "Create" Then
|
|
If _XmlNode1.Attributes("modifier").Value.ToString = "Allow" Then _PermissionMatrix.IsCreate = ePermissionType.Allow
|
|
If _XmlNode1.Attributes("modifier").Value.ToString = "Deny" Then _PermissionMatrix.IsCreate = ePermissionType.Deny
|
|
End If
|
|
If _XmlNode1.Attributes("access").Value.ToString = "Read" Then
|
|
If _XmlNode1.Attributes("modifier").Value.ToString = "Allow" Then _PermissionMatrix.IsRead = ePermissionType.Allow
|
|
If _XmlNode1.Attributes("modifier").Value.ToString = "Deny" Then _PermissionMatrix.IsRead = ePermissionType.Deny
|
|
End If
|
|
If _XmlNode1.Attributes("access").Value.ToString = "Write" Then
|
|
If _XmlNode1.Attributes("modifier").Value.ToString = "Allow" Then _PermissionMatrix.IsWrite = ePermissionType.Allow
|
|
If _XmlNode1.Attributes("modifier").Value.ToString = "Deny" Then _PermissionMatrix.IsWrite = ePermissionType.Deny
|
|
End If
|
|
If _XmlNode1.Attributes("access").Value.ToString = "Delete" Then
|
|
If _XmlNode1.Attributes("modifier").Value.ToString = "Allow" Then _PermissionMatrix.IsDelete = ePermissionType.Allow
|
|
If _XmlNode1.Attributes("modifier").Value.ToString = "Deny" Then _PermissionMatrix.IsDelete = ePermissionType.Deny
|
|
End If
|
|
If _XmlNode1.Attributes("access").Value.ToString = "Navigate" Then
|
|
If _XmlNode1.Attributes("modifier").Value.ToString = "Allow" Then _PermissionMatrix.IsNavigate = ePermissionType.Allow
|
|
If _XmlNode1.Attributes("modifier").Value.ToString = "Deny" Then _PermissionMatrix.IsNavigate = ePermissionType.Deny
|
|
End If
|
|
i += 1
|
|
Next
|
|
_PermissionMatrix.Save()
|
|
Next
|
|
Next
|
|
Next
|
|
ObjectSpace.CommitChanges()
|
|
View.Refresh()
|
|
End Sub
|
|
Private Sub aCustomRoleLoad_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aCustomRoleLoad.Execute
|
|
Me.CreatePermissionMatrix(View.ObjectSpace)
|
|
End Sub
|
|
Private Sub aCustomRoleSave_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aCustomRoleSave.Execute
|
|
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
|
|
' Dim _PermissionMatrix_Collection As XPCollection(Of PermissionMatrix) = New XPCollection(Of PermissionMatrix)(_ocur.Session, CriteriaOperator.Parse("IsCreate=? AND IsDelete=? AND IsNavigate=? AND IsRead=? AND IsWrite=?", _
|
|
' ePermissionType.NotSet, ePermissionType.NotSet, ePermissionType.NotSet, ePermissionType.NotSet, ePermissionType.NotSet))
|
|
Dim _ObjectName As String = ""
|
|
Dim _PermissionMatrix_Collection As XPCollection(Of PermissionMatrix) = New XPCollection(Of PermissionMatrix)(_ocur.Session, CriteriaOperator.Parse("1=1"))
|
|
Dim _Role_Collection As XPCollection(Of Role) = New XPCollection(Of Role)(_ocur.Session, CriteriaOperator.Parse("Oid=Oid"))
|
|
Dim _PersistentPermission_Collection As XPCollection = _ocur.CreateCollection(GetType(PersistentPermission), CriteriaOperator.Parse("1=1"))
|
|
|
|
For Each _Role As Role In _Role_Collection
|
|
For Each _PermissionMatrix As PermissionMatrix In _PermissionMatrix_Collection
|
|
If _PermissionMatrix.Role Is _Role Then
|
|
Dim _PersistentPermissionXPColl As XPCollection = _ocur.CreateCollection(GetType(PersistentPermission), CriteriaOperator.Parse("Role=?", _Role))
|
|
For Each _PersistentPermission As PersistentPermission In _PersistentPermissionXPColl
|
|
If TryCast(_PersistentPermission.Permission, EditModelPermission) IsNot Nothing Then
|
|
_ObjectName = TryCast(_PersistentPermission.Permission, EditModelPermission).GetType.ToString
|
|
End If
|
|
If TryCast(_PersistentPermission.Permission, ObjectAccessPermission) IsNot Nothing Then
|
|
_ObjectName = TryCast(_PersistentPermission.Permission, ObjectAccessPermission).AccessItemList(0).ObjectTypeInfo.FullName
|
|
End If
|
|
|
|
Dim _ObjectNameArry As String() = _ObjectName.Split(New [Char]() {"."c})
|
|
If _ObjectNameArry(_ObjectNameArry.Length - 2) = "Win" Then
|
|
_ObjectName = _ObjectNameArry(_ObjectNameArry.Length - 2) & "." & _ObjectNameArry(_ObjectNameArry.Length - 1)
|
|
End If
|
|
|
|
If _ObjectName <> _PermissionMatrix.ObjectType And _ObjectNameArry(_ObjectNameArry.Length - 1) <> _PermissionMatrix.ObjectType Then
|
|
If _PermissionMatrix.IsCreate <> ePermissionType.NotSet And _
|
|
_PermissionMatrix.IsDelete <> ePermissionType.NotSet And _
|
|
_PermissionMatrix.IsNavigate <> ePermissionType.NotSet And _
|
|
_PermissionMatrix.IsRead <> ePermissionType.NotSet And _
|
|
_PermissionMatrix.IsWrite <> ePermissionType.NotSet Then
|
|
|
|
Dim _ActRole As Role = _PermissionMatrix.Role
|
|
Dim _ActPersistentPermission As XPCollection = _ocur.CreateCollection(GetType(PersistentPermission), CriteriaOperator.Parse("Role=?", _PermissionMatrix.Role))
|
|
Dim _ObjectAccessPermission As New ObjectAccessPermission
|
|
_ObjectAccessPermission.ObjectType = ReflectionHelper.FindType(_PermissionMatrix.ObjectType)
|
|
Select Case _PermissionMatrix.IsRead
|
|
Case ePermissionType.Allow
|
|
_ObjectAccessPermission.ReadAccess = ObjectAccessModifier.Allow
|
|
Case ePermissionType.Deny
|
|
_ObjectAccessPermission.ReadAccess = ObjectAccessModifier.Deny
|
|
End Select
|
|
Select Case _PermissionMatrix.IsWrite
|
|
Case ePermissionType.Allow
|
|
_ObjectAccessPermission.WriteAccess = ObjectAccessModifier.Allow
|
|
Case ePermissionType.Deny
|
|
_ObjectAccessPermission.WriteAccess = ObjectAccessModifier.Deny
|
|
End Select
|
|
Select Case _PermissionMatrix.IsNavigate
|
|
Case ePermissionType.Allow
|
|
_ObjectAccessPermission.NavigateAccess = ObjectAccessModifier.Allow
|
|
Case ePermissionType.Deny
|
|
_ObjectAccessPermission.NavigateAccess = ObjectAccessModifier.Deny
|
|
End Select
|
|
Select Case _PermissionMatrix.IsDelete
|
|
Case ePermissionType.Allow
|
|
_ObjectAccessPermission.DeleteAccess = ObjectAccessModifier.Allow
|
|
Case ePermissionType.Deny
|
|
_ObjectAccessPermission.DeleteAccess = ObjectAccessModifier.Deny
|
|
End Select
|
|
Select Case _PermissionMatrix.IsCreate
|
|
Case ePermissionType.Allow
|
|
_ObjectAccessPermission.CreateAccess = ObjectAccessModifier.Allow
|
|
Case ePermissionType.Deny
|
|
_ObjectAccessPermission.CreateAccess = ObjectAccessModifier.Deny
|
|
End Select
|
|
|
|
_ActRole.AddPermission(_ObjectAccessPermission)
|
|
End If
|
|
End If
|
|
Next
|
|
End If
|
|
Next
|
|
Next
|
|
'Dim _ObjectName As String = ""
|
|
'Dim _Needpermission As Boolean = False
|
|
'For Each _ActRole As Role In _Role_Collection
|
|
' For Each _MatrixElement As PermissionMatrix In _PermissionMatrix_Collection
|
|
' If Equals(_ActRole, _MatrixElement.Role) Then
|
|
|
|
' If _MatrixElement.IsCreate <> ePermissionType.NotSet And _
|
|
' _MatrixElement.IsDelete <> ePermissionType.NotSet And _
|
|
' _MatrixElement.IsNavigate <> ePermissionType.NotSet And _
|
|
' _MatrixElement.IsRead <> ePermissionType.NotSet And _
|
|
' _MatrixElement.IsWrite <> ePermissionType.NotSet Then
|
|
' Dim _ObjectAccessPermission As New ObjectAccessPermission
|
|
|
|
' Dim _ActPersistentPermission As XPCollection = _ocur.CreateCollection(GetType(PersistentPermission), CriteriaOperator.Parse("Role=?", _MatrixElement.Role))
|
|
' If _ActPersistentPermission.Count > 0 Then
|
|
' For Each _PersistentPermission As PersistentPermission In _ActPersistentPermission
|
|
' If TryCast(_PersistentPermission.Permission, EditModelPermission) IsNot Nothing Then
|
|
' _ObjectName = TryCast(_PersistentPermission.Permission, EditModelPermission).GetType.ToString
|
|
' End If
|
|
' If TryCast(_PersistentPermission.Permission, ObjectAccessPermission) IsNot Nothing Then
|
|
' _ObjectName = TryCast(_PersistentPermission.Permission, ObjectAccessPermission).AccessItemList(0).ObjectTypeInfo.FullName
|
|
' End If
|
|
' If _ObjectName <> _MatrixElement.ObjectType Then
|
|
' _Needpermission = True
|
|
' End If
|
|
' Next
|
|
' End If
|
|
' If _Needpermission Then
|
|
' _ObjectAccessPermission.ObjectType = ReflectionHelper.FindType(_MatrixElement.ObjectType)
|
|
' Select Case _MatrixElement.IsRead
|
|
' Case ePermissionType.Allow
|
|
' _ObjectAccessPermission.ReadAccess = ObjectAccessModifier.Allow
|
|
' Case ePermissionType.Deny
|
|
' _ObjectAccessPermission.ReadAccess = ObjectAccessModifier.Deny
|
|
' End Select
|
|
' Select Case _MatrixElement.IsWrite
|
|
' Case ePermissionType.Allow
|
|
' _ObjectAccessPermission.WriteAccess = ObjectAccessModifier.Allow
|
|
' Case ePermissionType.Deny
|
|
' _ObjectAccessPermission.WriteAccess = ObjectAccessModifier.Deny
|
|
' End Select
|
|
' Select Case _MatrixElement.IsNavigate
|
|
' Case ePermissionType.Allow
|
|
' _ObjectAccessPermission.NavigateAccess = ObjectAccessModifier.Allow
|
|
' Case ePermissionType.Deny
|
|
' _ObjectAccessPermission.NavigateAccess = ObjectAccessModifier.Deny
|
|
' End Select
|
|
' Select Case _MatrixElement.IsDelete
|
|
' Case ePermissionType.Allow
|
|
' _ObjectAccessPermission.DeleteAccess = ObjectAccessModifier.Allow
|
|
' Case ePermissionType.Deny
|
|
' _ObjectAccessPermission.DeleteAccess = ObjectAccessModifier.Deny
|
|
' End Select
|
|
' Select Case _MatrixElement.IsCreate
|
|
' Case ePermissionType.Allow
|
|
' _ObjectAccessPermission.CreateAccess = ObjectAccessModifier.Allow
|
|
' Case ePermissionType.Deny
|
|
' _ObjectAccessPermission.CreateAccess = ObjectAccessModifier.Deny
|
|
' End Select
|
|
|
|
' _ActRole.AddPermission(_ObjectAccessPermission)
|
|
' _Needpermission = False
|
|
' End If
|
|
' End If
|
|
' End If
|
|
' Next
|
|
|
|
'Next
|
|
|
|
|
|
'Dim _NotExistPerimissons As New XPCollection
|
|
'For Each _PermissionMatrix As PermissionMatrix In _PermissionMatrix_Collection
|
|
' For Each _PersistentPermission As PersistentPermission In _PersistentPermission_Collection
|
|
' If TryCast(_PersistentPermission.Permission, EditModelPermission) IsNot Nothing Then
|
|
' _ObjectName = TryCast(_PersistentPermission.Permission, EditModelPermission).GetType.ToString
|
|
' End If
|
|
' If TryCast(_PersistentPermission.Permission, ObjectAccessPermission) IsNot Nothing Then
|
|
' _ObjectName = TryCast(_PersistentPermission.Permission, ObjectAccessPermission).AccessItemList(0).ObjectTypeInfo.FullName
|
|
' End If
|
|
|
|
' Next
|
|
'Next
|
|
|
|
|
|
'For Each _PermissionMatrix As PermissionMatrix In _PermissionMatrix_Collection
|
|
' For Each _PersistentPermission As PersistentPermission In _PersistentPermission_Collection
|
|
' If TryCast(_PersistentPermission.Permission, EditModelPermission) IsNot Nothing Then
|
|
' _ObjectName = TryCast(_PersistentPermission.Permission, EditModelPermission).GetType.ToString
|
|
' End If
|
|
' If TryCast(_PersistentPermission.Permission, ObjectAccessPermission) IsNot Nothing Then
|
|
' _ObjectName = TryCast(_PersistentPermission.Permission, ObjectAccessPermission).AccessItemList(0).ObjectTypeInfo.FullName
|
|
' End If
|
|
|
|
' If Not Equals(_PersistentPermission.Role, _PermissionMatrix.Role) Then
|
|
|
|
' If _PermissionMatrix.IsCreate <> ePermissionType.NotSet And _
|
|
' _PermissionMatrix.IsDelete <> ePermissionType.NotSet And _
|
|
' _PermissionMatrix.IsNavigate <> ePermissionType.NotSet And _
|
|
' _PermissionMatrix.IsRead <> ePermissionType.NotSet And _
|
|
' _PermissionMatrix.IsWrite <> ePermissionType.NotSet Then
|
|
|
|
' Dim _ObjectAccessPermission As New ObjectAccessPermission
|
|
' Dim _Role As Role = _PermissionMatrix.Role
|
|
' _ObjectAccessPermission.ObjectType = ReflectionHelper.FindType(_PermissionMatrix.ObjectType)
|
|
' Select Case _PermissionMatrix.IsRead
|
|
' Case ePermissionType.Allow
|
|
' _ObjectAccessPermission.ReadAccess = ObjectAccessModifier.Allow
|
|
' Case ePermissionType.Deny
|
|
' _ObjectAccessPermission.ReadAccess = ObjectAccessModifier.Deny
|
|
' End Select
|
|
' Select Case _PermissionMatrix.IsWrite
|
|
' Case ePermissionType.Allow
|
|
' _ObjectAccessPermission.WriteAccess = ObjectAccessModifier.Allow
|
|
' Case ePermissionType.Deny
|
|
' _ObjectAccessPermission.WriteAccess = ObjectAccessModifier.Deny
|
|
' End Select
|
|
' Select Case _PermissionMatrix.IsNavigate
|
|
' Case ePermissionType.Allow
|
|
' _ObjectAccessPermission.NavigateAccess = ObjectAccessModifier.Allow
|
|
' Case ePermissionType.Deny
|
|
' _ObjectAccessPermission.NavigateAccess = ObjectAccessModifier.Deny
|
|
' End Select
|
|
' Select Case _PermissionMatrix.IsDelete
|
|
' Case ePermissionType.Allow
|
|
' _ObjectAccessPermission.DeleteAccess = ObjectAccessModifier.Allow
|
|
' Case ePermissionType.Deny
|
|
' _ObjectAccessPermission.DeleteAccess = ObjectAccessModifier.Deny
|
|
' End Select
|
|
' Select Case _PermissionMatrix.IsCreate
|
|
' Case ePermissionType.Allow
|
|
' _ObjectAccessPermission.CreateAccess = ObjectAccessModifier.Allow
|
|
' Case ePermissionType.Deny
|
|
' _ObjectAccessPermission.CreateAccess = ObjectAccessModifier.Deny
|
|
' End Select
|
|
|
|
' '_Role.AddPermission(_ObjectAccessPermission)
|
|
' End If
|
|
' End If
|
|
' Next
|
|
'Next
|
|
|
|
End Sub
|
|
Private Sub aCustomRoleGroupSetUp_Cancel(sender As Object, e As System.EventArgs) Handles aCustomRoleGroupSetUp.Cancel
|
|
_noselect = False
|
|
End Sub
|
|
Private Sub aCustomRoleGroupSetUp_CustomizePopupWindowParams(sender As System.Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aCustomRoleGroupSetUp.CustomizePopupWindowParams
|
|
_noselect = True
|
|
If _selection.Count > 0 Then
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _CustomRoleGroupSetUpPopUp As CustomRoleGroupSetUpPopUp = _onew.CreateObject(Of CustomRoleGroupSetUpPopUp)()
|
|
|
|
e.View = Application.CreateDetailView(_onew, "CustomRoleGroupSetUpPopUp_DetailView", False, _CustomRoleGroupSetUpPopUp)
|
|
Else
|
|
_noselect = False
|
|
'_______________________________________TESZT MIATT____________________>>>>
|
|
Throw New Exception("*Nincs kiválasztott sor(ok)!")
|
|
'_______________________________________TESZT MIATT____________________<<<<
|
|
|
|
End If
|
|
End Sub
|
|
Private Sub aCustomRoleGroupSetUp_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aCustomRoleGroupSetUp.Execute
|
|
Dim _ocur As Xpo.XPObjectSpace = e.PopupWindow.View.ObjectSpace
|
|
Dim _CustomRoleGroupSetUpPopUp As CustomRoleGroupSetUpPopUp = TryCast(e.PopupWindow.View.SelectedObjects(0), CustomRoleGroupSetUpPopUp)
|
|
Dim _IsCreate As ePermissionType = _CustomRoleGroupSetUpPopUp.IsCreate
|
|
Dim _IsDelete As ePermissionType = _CustomRoleGroupSetUpPopUp.IsDelete
|
|
Dim _IsWrite As ePermissionType = _CustomRoleGroupSetUpPopUp.IsWrite
|
|
Dim _IsRead As ePermissionType = _CustomRoleGroupSetUpPopUp.IsRead
|
|
Dim _IsNavigate As ePermissionType = _CustomRoleGroupSetUpPopUp.IsNavigate
|
|
|
|
For Each _PermissionMatrix As PermissionMatrix In _selection
|
|
_PermissionMatrix.IsCreate = _IsCreate
|
|
_PermissionMatrix.IsDelete = _IsDelete
|
|
_PermissionMatrix.IsWrite = _IsWrite
|
|
_PermissionMatrix.IsRead = _IsRead
|
|
_PermissionMatrix.IsNavigate = _IsNavigate
|
|
|
|
_PermissionMatrix.Save()
|
|
Next
|
|
_ocur.CommitChanges()
|
|
_noselect = False
|
|
End Sub
|
|
Private Sub aCreateCustomRoleObjectTypes_CustomizePopupWindowParams(sender As System.Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aCreateCustomRoleObjectTypes.CustomizePopupWindowParams
|
|
If View.SelectedObjects.Count > 0 Then
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _PermissionMatrix As PermissionMatrix = TryCast(View.SelectedObjects(0), PermissionMatrix)
|
|
Dim _CreateCustomRoleObjectTypes As CreateCustomRoleObjectTypes
|
|
Dim _FullObjectList As New ArrayList
|
|
Dim _ActobjectList As New ArrayList
|
|
Dim _CS As New CollectionSource(_onew, GetType(CreateCustomRoleObjectTypes))
|
|
' _CreateCustomRoleObjectTypes.Role = _onew.GetObject(_PermissionMatrix.Role)
|
|
Dim _PersistentPermission As XPCollection = _onew.CreateCollection(GetType(PersistentPermission), CriteriaOperator.Parse("1=1"))
|
|
|
|
|
|
For Each _Permission As PersistentPermission In _PersistentPermission
|
|
If TryCast(_Permission.Permission, ObjectAccessPermission) IsNot Nothing Then
|
|
_FullObjectList.Add(TryCast(_Permission.Permission, ObjectAccessPermission).AccessItemList(0).ObjectTypeInfo.FullName)
|
|
End If
|
|
If TryCast(_Permission.Permission, EditModelPermission) IsNot Nothing Then
|
|
_FullObjectList.Add(TryCast(_Permission.Permission, EditModelPermission).GetType.ToString)
|
|
End If
|
|
Next
|
|
|
|
For Each _Permissions As IPermission In _PermissionMatrix.Role.Permissions
|
|
If TryCast(_Permissions, ObjectAccessPermission) IsNot Nothing Then
|
|
_ActobjectList.Add(_onew.GetObject(TryCast(_Permissions, ObjectAccessPermission).AccessItemList(0).ObjectTypeInfo.FullName))
|
|
End If
|
|
If TryCast(_Permissions, EditModelPermission) IsNot Nothing Then
|
|
_ActobjectList.Add(_onew.GetObject(TryCast(_Permissions, EditModelPermission).GetType.ToString))
|
|
End If
|
|
Next
|
|
|
|
Dim _Exist As Boolean = False
|
|
For Each _s In _FullObjectList
|
|
For Each _sa In _ActobjectList
|
|
If _s = _sa Then
|
|
_Exist = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
If Not _Exist Then
|
|
_CreateCustomRoleObjectTypes = _onew.CreateObject(Of CreateCustomRoleObjectTypes)()
|
|
_CreateCustomRoleObjectTypes.Role = _onew.GetObject(_PermissionMatrix.Role)
|
|
_CreateCustomRoleObjectTypes.MissingObjectType = _s
|
|
|
|
_cs.add(_CreateCustomRoleObjectTypes)
|
|
End If
|
|
_Exist = False
|
|
Next
|
|
e.View = Application.CreateListView("CreateCustomRoleObjectTypes_ListView", _CS, False)
|
|
Else
|
|
'_______________________________________TESZT MIATT____________________>>>>
|
|
Throw New Exception("*Nincs kiválasztott sor!")
|
|
'_______________________________________TESZT MIATT____________________<<<<
|
|
End If
|
|
End Sub
|
|
Private Sub aCreateCustomRoleObjectTypes_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aCreateCustomRoleObjectTypes.Execute
|
|
If e.PopupWindow.View.SelectedObjects.Count > 0 Then
|
|
Dim _Role As Role = TryCast(View.SelectedObjects(0), PermissionMatrix).Role
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
For Each _CreateCustomRoleObjectTypes As CreateCustomRoleObjectTypes In e.PopupWindow.View.SelectedObjects
|
|
Dim _PermissionMatrix As PermissionMatrix = _ocur.CreateObject(Of PermissionMatrix)()
|
|
_PermissionMatrix.Role = _Role
|
|
_PermissionMatrix.ObjectType = _CreateCustomRoleObjectTypes.MissingObjectType
|
|
_PermissionMatrix.IsCreate = ePermissionType.NotSet
|
|
_PermissionMatrix.IsDelete = ePermissionType.NotSet
|
|
_PermissionMatrix.IsNavigate = ePermissionType.NotSet
|
|
_PermissionMatrix.IsRead = ePermissionType.NotSet
|
|
_PermissionMatrix.IsWrite = ePermissionType.NotSet
|
|
|
|
_PermissionMatrix.Save()
|
|
Next
|
|
_ocur.CommitChanges()
|
|
Else
|
|
'_______________________________________TESZT MIATT____________________>>>>
|
|
Throw New Exception("*Legalább egy sort ki kell választani!")
|
|
'_______________________________________TESZT MIATT____________________<<<<
|
|
End If
|
|
|
|
End Sub
|
|
End Class
|