check group membership when loading profiles
This commit is contained in:
parent
a09cb40412
commit
42a3aad5e2
@ -235,21 +235,24 @@ Public Class ClassInit
|
||||
End Sub
|
||||
|
||||
Public Shared Sub Refresh_Profile_Links()
|
||||
Dim oWhereClause = $"T1.USER_ID = {USER_ID} OR GROUP_ID IN (SELECT DISTINCT GUID FROM TBDD_GROUPS WHERE GUID IN (SELECT GROUP_ID FROM TBDD_GROUPS_USER WHERE USER_ID = {USER_ID}))"
|
||||
|
||||
Dim ProfileSQL As String = $"SELECT DISTINCT GUID, NAME,REGEX_EXPRESSION,COMMENT,PROC_NAME,PROFILE_TYPE FROM VWCW_USER_PROFILE T1 WHERE {oWhereClause}"
|
||||
Dim oProcessSQL As String = $"SELECT DISTINCT T.GUID, T.PROFILE_ID,T.PROC_NAME FROM TBCW_PROFILE_PROCESS T, VWCW_USER_PROFILE T1 WHERE T.PROFILE_ID = T1.GUID AND ({oWhereClause})"
|
||||
Dim oWindowSQL As String = $"SELECT DISTINCT * FROM VWCW_PROFILE_REL_WINDOW T, VWCW_USER_PROFILE T1 WHERE T.PROFILE_ID = T1.GUID AND ({oWhereClause})"
|
||||
Dim oControlSQL As String = $"SELECT DISTINCT * FROM VWCW_PROFILE_REL_CONTROL T, VWCW_USER_PROFILE T1 WHERE T.PROFILE_ID = T1.GUID AND ({oWhereClause})"
|
||||
|
||||
Try
|
||||
Dim oSql = String.Format("SELECT DISTINCT GUID, NAME,REGEX_EXPRESSION,COMMENT,PROC_NAME,PROFILE_TYPE FROM VWCW_USER_PROFILE WHERE USER_ID = {0} OR GROUP_ID IN (SELECT DISTINCT GUID FROM TBDD_GROUPS WHERE GUID IN (SELECT GROUP_ID FROM TBDD_GROUPS_USER WHERE USER_ID = {0}))", USER_ID)
|
||||
DT_USER_PROFILES = Database.GetDatatable(oSql)
|
||||
DT_USER_PROFILES = Database.GetDatatable(ProfileSQL)
|
||||
|
||||
If DT_USER_PROFILES Is Nothing OrElse DT_USER_PROFILES.Rows.Count = 0 Then
|
||||
MsgBox("No profiles configured for this user so far!", MsgBoxStyle.Exclamation)
|
||||
Else
|
||||
oSql = $"SELECT DISTINCT T.GUID, T.PROFILE_ID,T.PROC_NAME FROM TBCW_PROFILE_PROCESS T, VWCW_USER_PROFILE T1 WHERE T.PROFILE_ID = T1.GUID AND T1.USER_ID = {USER_ID}"
|
||||
DTPROFILE_REL_PROCESS = Database.GetDatatable(oSql)
|
||||
|
||||
oSql = $"SELECT * FROM VWCW_PROFILE_REL_WINDOW WHERE USER_ID = {USER_ID}"
|
||||
DTPROFILE_REL_WINDOW = Database.GetDatatable(oSql)
|
||||
|
||||
oSql = $"SELECT * FROM VWCW_PROFILE_REL_CONTROL WHERE USER_ID = {USER_ID}"
|
||||
DTPROFILE_REL_CONTROL = Database.GetDatatable(oSql)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
DTPROFILE_REL_PROCESS = Database.GetDatatable(oProcessSQL)
|
||||
DTPROFILE_REL_WINDOW = Database.GetDatatable(oWindowSQL)
|
||||
DTPROFILE_REL_CONTROL = Database.GetDatatable(oControlSQL)
|
||||
Catch ex As Exception
|
||||
Logger.Error(ex)
|
||||
MsgBox("Unexpected Error in Refresh_Profile_Links: " & ex.Message, MsgBoxStyle.Critical)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user