PMMS
This commit is contained in:
@@ -80,50 +80,86 @@ Public Class ClassInit
|
||||
Public Sub InitUserLogin()
|
||||
Try
|
||||
USER_USERNAME = Environment.UserName
|
||||
Dim sql = String.Format("SELECT * FROM TBDD_USER WHERE LOWER(USERNAME) = LOWER('{0}')", Environment.UserName)
|
||||
Try
|
||||
DT_CLIENT_USER = ClassDatabase.Return_Datatable(String.Format("SELECT * FROM VWDD_USER_CLIENT WHERE UPPER(USERNAME) = UPPER('{0}')", Environment.UserName), False)
|
||||
If DT_CLIENT_USER.Rows.Count > 1 Then
|
||||
frmClientLogin.ShowDialog()
|
||||
ElseIf DT_CLIENT_USER.Rows.Count = 1 Then
|
||||
CLIENT_SELECTED = DT_CLIENT_USER.Rows(0).Item("CLIENT_ID")
|
||||
|
||||
ClassLogger.Add("User '" & USER_USERNAME & "' not related to a client", True)
|
||||
Else
|
||||
'MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
|
||||
'Me.Close()
|
||||
ERROR_STATE = "NO CLIENT"
|
||||
' Throw New Exception("You are not configured in the Useradministration." & vbNewLine & "Please contact the system administrator!")
|
||||
MsgBox("You are not related to a client!" & vbNewLine & "Please contact the system administrator!", MsgBoxStyle.Exclamation)
|
||||
Exit Sub
|
||||
End If
|
||||
Catch ex As Exception
|
||||
ClassLogger.Add("Unexpected error in checking CLIENT: " & ex.Message)
|
||||
CLIENT_SELECTED = 1
|
||||
End Try
|
||||
|
||||
ClassLogger.Add(">> Username: " & USER_USERNAME, False)
|
||||
Dim sql = String.Format("SELECT * FROM [dbo].[FNDD_CHECK_USER_MODULE] ('{0}','PM',{1})", Environment.UserName, CLIENT_SELECTED)
|
||||
|
||||
Dim dtUser As DataTable = ClassDatabase.Return_Datatable(sql)
|
||||
|
||||
If dtUser.Rows.Count = 0 Then
|
||||
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)
|
||||
|
||||
ClassLogger.Add("User '" & USER_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:")
|
||||
'Me.Close()
|
||||
ERROR_STATE = "NO USER"
|
||||
' Throw New Exception("You are not configured in the Useradministration." & vbNewLine & "Please contact the system administrator!")
|
||||
MsgBox("You are not configured in the Useradministration." & vbNewLine & "Please contact the system administrator!", MsgBoxStyle.Exclamation)
|
||||
Else
|
||||
USER_EXISTS = True
|
||||
CURRENT_USER_ID = dtUser.Rows(0).Item("GUID")
|
||||
CURRENT_USER_SURNAME = IIf(IsDBNull(dtUser.Rows(0).Item("NAME")), "", dtUser.Rows(0).Item("NAME"))
|
||||
CURRENT_USER_PRENAME = IIf(IsDBNull(dtUser.Rows(0).Item("PRENAME")), "", dtUser.Rows(0).Item("PRENAME"))
|
||||
CURRENT_USER_SHORTNAME = IIf(IsDBNull(dtUser.Rows(0).Item("SHORTNAME")), "", dtUser.Rows(0).Item("SHORTNAME"))
|
||||
CURRENT_USER_EMAIL = IIf(IsDBNull(dtUser.Rows(0).Item("EMAIL")), "", dtUser.Rows(0).Item("EMAIL"))
|
||||
CURRENT_USER_LANGUAGE = dtUser.Rows(0).Item("LANGUAGE")
|
||||
|
||||
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
|
||||
If DT_CHECKUSER_MODULE.Rows(0).Item("USER_ID") <> 0 Then
|
||||
USER_EXISTS = True
|
||||
Else
|
||||
USER_EXISTS = False
|
||||
End If
|
||||
|
||||
USER_ID = DT_CHECKUSER_MODULE.Rows(0).Item("USER_ID")
|
||||
USER_SURNAME = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_SURNAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_SURNAME"))
|
||||
USER_PRENAME = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_PRENAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_PRENAME"))
|
||||
USER_SHORTNAME = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_SHORTNAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_SHORTNAME"))
|
||||
USER_EMAIL = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL"))
|
||||
USER_LANGUAGE = DT_CHECKUSER_MODULE.Rows(0).Item("USER_LANGUAGE")
|
||||
|
||||
USER_IN_MODULE = DT_CHECKUSER_MODULE.Rows(0).Item("MODULE_ACCESS")
|
||||
USER_IS_ADMIN = DT_CHECKUSER_MODULE.Rows(0).Item("IS_ADMIN")
|
||||
USER_RIGHT_FILE_DELETE = DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT_FILE_DEL")
|
||||
|
||||
USERCOUNT_LOGGED_IN = DT_CHECKUSER_MODULE.Rows(0).Item("USERCOUNT_LOGGED_IN")
|
||||
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> User exists....", False)
|
||||
'Am System anmelden
|
||||
Refresh_Licence()
|
||||
Check_User_Exists_in_PMGroups()
|
||||
'Am System anmelden
|
||||
Refresh_Licence()
|
||||
'Check_User_Exists_in_PMGroups()
|
||||
|
||||
ClassAllgemeineFunktionen.LoginOut("LOGIN")
|
||||
sql = String.Format("SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER('Process-Manager') AND CLIENT_ID = {0}", 1)
|
||||
USERCOUNT_LOGGED_IN = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True)
|
||||
|
||||
'sql = String.Format("SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER('Process-Manager') AND CLIENT_ID = {0}", 1)
|
||||
' USERCOUNT_LOGGED_IN = ClassDatabase.Execute_Scalar(sql, MyConnectionString, True)
|
||||
sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_ID & " AND MODULE = 'Process-Manager'"
|
||||
ClassDatabase.Execute_non_Query(sql, True)
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Count Users logged in: " & USERCOUNT_LOGGED_IN.ToString, False)
|
||||
If LICENSE_COUNT < USERCOUNT_LOGGED_IN And LICENSE_EXPIRED = False Then
|
||||
MsgBox("Die Anzahl der aktuell angemeldeten User (" & USERCOUNT_LOGGED_IN.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 (" & USERCOUNT_LOGGED_IN.ToString & ") überschreitet die Anzahl der Lizenzen (" & LICENSE_COUNT & ") für Process Manager!", False)
|
||||
If USER_IS_ADMIN = False Then
|
||||
ClassAllgemeineFunktionen.LoginOut("LOGOUT")
|
||||
ClassLogger.Add(" - Wieder abgemeldet - START INCOMPLETE", False)
|
||||
ERROR_STATE = "START INCOMPLETE"
|
||||
If LICENSE_COUNT < USERCOUNT_LOGGED_IN And LICENSE_EXPIRED = False Then
|
||||
MsgBox("Die Anzahl der aktuell angemeldeten User (" & USERCOUNT_LOGGED_IN.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 (" & USERCOUNT_LOGGED_IN.ToString & ") überschreitet die Anzahl der Lizenzen (" & LICENSE_COUNT & ") für Process Manager!", False)
|
||||
If USER_IS_ADMIN = False Then
|
||||
ClassAllgemeineFunktionen.LoginOut("LOGOUT")
|
||||
ClassLogger.Add(" - Wieder abgemeldet - START INCOMPLETE", False)
|
||||
ERROR_STATE = "START INCOMPLETE"
|
||||
End If
|
||||
End If
|
||||
'Alles OK bis hierhin...nun die FolderwatchKonfig laden
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Init Userlogin successfull completed....", False)
|
||||
End If
|
||||
'Alles OK bis hierhin...nun die FolderwatchKonfig laden
|
||||
If LogErrorsOnly = False Then ClassLogger.Add(" >> Init Userlogin successfull completed....", False)
|
||||
End If
|
||||
|
||||
|
||||
|
||||
@@ -147,7 +183,7 @@ Public Class ClassInit
|
||||
End Sub
|
||||
Private Function Check_User_Exists_in_Group(ByVal Groupname As String)
|
||||
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) = '{1}'", CURRENT_USER_ID, Groupname)
|
||||
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) = '{1}'", USER_ID, Groupname)
|
||||
Dim DT As DataTable = ClassDatabase.Return_Datatable(sel)
|
||||
If Not IsNothing(DT) Then
|
||||
If DT.Rows.Count = 1 Then
|
||||
@@ -163,43 +199,43 @@ Public Class ClassInit
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
Private Function Check_User_Exists_in_PMGroups()
|
||||
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) = 'PM_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 = 3", 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
|
||||
USER_IS_ADMIN = DT.Rows(0).Item("IS_ADMIN")
|
||||
USER_RIGHT_FILE_DELETE = DT.Rows(0).Item("RIGHT1")
|
||||
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) = 'PM_ADMINS'", CURRENT_USER_ID)
|
||||
DT = ClassDatabase.Return_Datatable(sel)
|
||||
'Private Function Check_User_Exists_in_PMGroups()
|
||||
' 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) = 'PM_USER'", 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 = 3", 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
|
||||
' USER_IS_ADMIN = DT.Rows(0).Item("IS_ADMIN")
|
||||
' USER_RIGHT_FILE_DELETE = DT.Rows(0).Item("RIGHT1")
|
||||
' 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) = 'PM_ADMINS'", 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)
|
||||
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
|
||||
' If Not IsNothing(DT) Then
|
||||
' If DT.Rows.Count = 1 Then
|
||||
' If LogErrorsOnly = False Then ClassLogger.Add(" >> User is in PM_ADMINS-Group....", False)
|
||||
' 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
|
||||
' Catch ex As Exception
|
||||
' MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Check_User_Exists_in_PMGroups:")
|
||||
' End Try
|
||||
'End Function
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user