MS DDGroups

This commit is contained in:
Digital Data - Marlon Schreiber
2018-07-12 16:02:38 +02:00
parent 7b445c8d36
commit 4e478db15f
29 changed files with 4442 additions and 2640 deletions

View File

@@ -59,9 +59,9 @@ Public Class ClassInit
Public Sub Init_Folderwatch()
Try
'Die FolderWatch starten
Dim sql1 = "SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'DEFAULT' AND USER_ID = " & CURRENT_USER_ID
Dim sql1 = "SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'DEFAULT' AND USER_ID = " & USER_ID
Dim folderwatch = ClassDatabase.Execute_Scalar(sql1, MyConnectionString, True)
sql1 = "SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'SCAN' AND USER_ID = " & CURRENT_USER_ID
sql1 = "SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'SCAN' AND USER_ID = " & USER_ID
Dim folderwatch_SCAN = ClassDatabase.Execute_Scalar(sql1, MyConnectionString, True)
If Not folderwatch Is Nothing Then
CURRENT_FOLDERWATCH = folderwatch
@@ -94,9 +94,9 @@ Public Class ClassInit
sql = sql.Replace("@user", Environment.UserName)
ClassLogger.Add(">> Username: " & Environment.UserName, False)
CURRENT_USER_ID = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True)
USER_ID = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True)
Try
Dim USERID = CInt(CURRENT_USER_ID)
Dim USERID = CInt(USER_ID)
Catch ex As Exception
ClassLogger.Add("User '" & Environment.UserName & "' not configured in Useradministration! (DBNull)", True)
'MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
@@ -106,25 +106,35 @@ Public Class ClassInit
Exit Sub
End Try
sql = "SELECT SHORTNAME FROM TBDD_USER WHERE GUID = " & CURRENT_USER_ID
CURRENT_USER_SHORT = ClassDatabase.Execute_Scalar(sql, MyConnectionString)
If IsNothing(CURRENT_USER_SHORT) Or IsDBNull(CURRENT_USER_SHORT) Then
CURRENT_USER_SHORT = ""
sql = "SELECT SHORTNAME FROM TBDD_USER WHERE GUID = " & USER_ID
USER_SHORT_NAME = ClassDatabase.Execute_Scalar(sql, MyConnectionString)
If IsNothing(USER_SHORT_NAME) Or IsDBNull(USER_SHORT_NAME) Then
USER_SHORT_NAME = ""
End If
Check_User_Exists_in_GIGroups()
If USER_IN_MODULE = False Then
ClassLogger.Add(" - User: " & Environment.UserName & " nicht für Modul freigegben!", False)
'Check_User_Exists_in_GIGroups()
sql = String.Format("SELECT * FROM [dbo].[FNDD_CHECK_USER_MODULE] ('{0}','GLOBIX',{1})", Environment.UserName, 1)
Dim DT_CHECKUSER_MODULE As DataTable = ClassDatabase.Return_Datatable(sql)
If DT_CHECKUSER_MODULE.Rows.Count = 0 Then
ClassLogger.Add("DT_CHECKUSER_MODULE.Rows.Count = 0", True)
START_INCOMPLETE = True
'MsgBox("Achtung: Sie sind nicht für die Nutzung dieses Moduls freigeschaltet." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
Throw New Exception("Your user is not allowed to use this module." & vbNewLine & "Please contact the system administrator!")
'Me.Close()
Else
'Am System anmelden
ERROR_STATE = "NO USER"
MsgBox("Sorry - Something went wrong in getting Your rights." & vbNewLine & "Please contact the system administrator!", MsgBoxStyle.Exclamation)
Exit Sub
End If
If DT_CHECKUSER_MODULE.Rows.Count = 1 Then
USER_IN_MODULE = DT_CHECKUSER_MODULE.Rows(0).Item("MODULE_ACCESS")
If USER_IN_MODULE = False Then
ClassLogger.Add(" - User: " & Environment.UserName & " nicht für Modul freigegben!", False)
START_INCOMPLETE = True
Throw New Exception("Your user is not allowed to use this module." & vbNewLine & "Please contact the system administrator!")
Exit Sub
End If
USER_IS_ADMIN = DT_CHECKUSER_MODULE.Rows(0).Item("IS_ADMIN")
ClassLicence.Refresh_Licence()
Dim sql1 = "SELECT COUNT(T.GUID) FROM TBDD_DOKUMENTART T, TBDD_DOKUMENTART_MODULE T1 WHERE T.AKTIV = 1 AND T.GUID = T1.DOKART_ID AND T1.MODULE_ID = 1"
DOCTYPE_COUNT_ACTUAL = ClassDatabase.Execute_Scalar(sql1, MyConnectionString, True)
If DOCTYPE_COUNT_ACTUAL > LICENSE_DOCTYPE_COUNT Then
@@ -134,25 +144,12 @@ Public Class ClassInit
MsgBox("Your amount of configurable documenttypes is limited to " & LICENSE_DOCTYPE_COUNT.ToString & " doctypes. You can not add more doctypes!" & vbNewLine & "Please contact Digital Data for further licensedetails", MsgBoxStyle.Information)
End If
End If
Try
USER_LANGUAGE = ClassDatabase.Execute_Scalar("SELECT LANGUAGE FROM TBDD_USER WHERE GUID = " & CURRENT_USER_ID, MyConnectionString, True)
Catch ex As Exception
ClassLogger.Add("LANGUAGE COULD NOT BE READ - " & ex.Message, True)
USER_LANGUAGE = "de-DE"
End Try
USER_LANGUAGE = DT_CHECKUSER_MODULE.Rows(0).Item("USER_LANGUAGE")
sql = "UPDATE TBDD_USER SET LOGGED_IN = @LogInOut, LOGGED_WHERE = '@ANGEMELDETWO' WHERE (LOWER(USERNAME) = LOWER('@user'))"
sql = sql.Replace("@LogInOut", 1)
sql = sql.Replace("@ANGEMELDETWO", Environment.MachineName)
sql = sql.Replace("@user", Environment.UserName)
ClassDatabase.Execute_non_Query(sql)
sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & CURRENT_USER_ID & " AND UPPER(MODULE) = UPPER('Global-Indexer')"
sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND UPPER(MODULE) = UPPER('Global-Indexer')"
ClassDatabase.Execute_non_Query(sql, True)
sql = "INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,MODULE) VALUES (" & CURRENT_USER_ID & ",'Global-Indexer')"
sql = "INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,MODULE) VALUES (" & USER_ID & ",'Global-Indexer')"
ClassDatabase.Execute_non_Query(sql)
sql = "SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE Upper(MODULE) = UPPER('Global-Indexer')"
Dim anzahl = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True)
If LogErrorsOnly = False Then ClassLogger.Add(" >> Anzahl Angemeldete User: " & anzahl.ToString, False)
@@ -160,9 +157,9 @@ Public Class ClassInit
If LICENSE_COUNT < UserLoggedin And LICENSE_EXPIRED = False Then
MsgBox("Die Anzahl der aktuell angemeldeten User (" & UserLoggedin.ToString & ") überschreitet die Anzahl der aktuellen Lizenzen!" & vbNewLine & "Anzahl der Lizenzen: " & LICENSE_COUNT.ToString & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
ClassLogger.Add(" >> Die Anzahl der aktuell angemeldeten User (" & UserLoggedin.ToString & ") überschreitet die Anzahl der Lizenzen (" & LICENSE_COUNT & ") für Global Indexer!", False)
If CURRENT_USER_IS_ADMIN = False Then
If USER_IS_ADMIN = False Then
'Anmeldung wieder herausnehmen
sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & CURRENT_USER_IS_ADMIN & " AND MODULE= 'Global-Indexer'"
sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND MODULE= 'Global-Indexer'"
ClassDatabase.Execute_non_Query(sql, True)
ClassLogger.Add(" - Wieder abgemeldet", False)
START_INCOMPLETE = True
@@ -173,6 +170,7 @@ Public Class ClassInit
'LabelLoggedIn.Caption = "Anzahl Angemeldete User: " & anzahl.ToString
End If
Catch ex As Exception
ClassLogger.Add("Unexpected Error in InitUserLogin: " & ex.Message, True)
MsgBox(ex.Message, MsgBoxStyle.Critical)
@@ -180,42 +178,5 @@ Public Class ClassInit
End Try
End Sub
Private Function Check_User_Exists_in_GIGroups()
Try
Dim sel = String.Format("select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = {0} AND UPPER(T.NAME) = 'GLOBIX_USER'", CURRENT_USER_ID)
Dim DT As DataTable = ClassDatabase.Return_Datatable(sel)
If Not IsNothing(DT) Then
If DT.Rows.Count = 1 Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> User is in PM_USER-Group....", False)
USER_IN_MODULE = True
Else
If LogErrorsOnly = False Then ClassLogger.Add(" >> User is NOT in PM_USER-Group...." & sel, False)
sel = String.Format("select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = {0} AND T.MODULE_ID = 2", CURRENT_USER_ID)
DT = ClassDatabase.Return_Datatable(sel)
If Not IsNothing(DT) Then
If DT.Rows.Count = 1 Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> Singe User-relation defined for user....", False)
USER_IN_MODULE = True
CURRENT_USER_IS_ADMIN = DT.Rows(0).Item("IS_ADMIN")
End If
End If
End If
End If
sel = String.Format("select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = {0} AND UPPER(T.NAME) = 'GLOBIX_ADMINS'", CURRENT_USER_ID)
DT = ClassDatabase.Return_Datatable(sel)
If Not IsNothing(DT) Then
If DT.Rows.Count = 1 Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> User is in PM_ADMINS-Group....", False)
CURRENT_USER_IS_ADMIN = True
USER_IN_MODULE = True
Else
If LogErrorsOnly = False Then ClassLogger.Add(" >> User is NOT in PM_ADMINS-Group...." & sel, False)
End If
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Check_User_Exists_in_PMGroups:")
End Try
End Function
End Class