MS_09.05.2016

This commit is contained in:
SchreiberM
2016-05-09 13:55:58 +02:00
parent 4c53286626
commit 756d96d1d3
5 changed files with 164 additions and 140 deletions

View File

@@ -752,112 +752,7 @@ Public Class frmConstructor_Main
ClassControlValues.LoadControlValuesListWithPlaceholders(ENTITY_ID, Grid_RecordID, PARENT_ID, CtrlBuilder.AllControls, ENTITY_ID)
Show_Selected_Record_Data(Grid_RecordID, False)
RIGHT_ONLY_READ = False
RIGHT_WINDREAM_FORBIDDEN = False
tsmi_RecordDelete.Enabled = True
DeleteToolStripMenuItem.Enabled = True
CopyToolStripMenuItem.Enabled = True
RecordKopierenToolStripMenuItem.Enabled = True
PropertiesToolStripMenuItem.Enabled = True
tslblLocked.Visible = False
tslblFileslocked.Visible = False
TabFollowUp.PageEnabled = True
TabWindream.PageEnabled = True
WindreamsucheNeuLadenToolStripMenuItem.Enabled = True
Dim tempsql
If SQL_RIGHT_READ_AND_VIEW_ONLY <> "" Then
Try
tempsql = SQL_RIGHT_READ_AND_VIEW_ONLY
tempsql = tempsql.Replace("@RECORDID", RECORD_ID)
tempsql = tempsql.Replace("@RECORD_ID", RECORD_ID)
tempsql = tempsql.Replace("@USER_ID", USER_GUID)
tempsql = tempsql.Replace("@USER_GUID", USER_GUID)
''Regulären Ausdruck zum Auslesen der windream-Indexe definieren
'Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
'' einen Regulären Ausdruck laden
'Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg)
'' die Vorkommen im SQL-String auslesen
'Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(tempsql)
'' alle Vorkommen der windream-Indexe im SQL-String durchlaufen
''#####
'' alle Vorkommen der windream-Indexe im SQL-String durchlaufen
'For Each element As System.Text.RegularExpressions.Match In elemente
' Dim elementohneSZ = element.Value.Replace("[%", "")
' elementohneSZ = elementohneSZ.Replace("]", "")
' ' den Platzhalter für den auszulesenden View durch den Viewnamen ersetzen
' tempsql = tempsql.Replace(element.Value, controlvalue.ToString)
'Next
Try
RIGHT_ONLY_READ = CBool(ClassDatabase.Execute_Scalar(tempsql))
Catch ex As Exception
RIGHT_ONLY_READ = False
End Try
If RIGHT_ONLY_READ = True Then
' Hinzufügen sollte auch bei RIGHT_ONLY_READ verfügbar sein
tsButtonAdd.Enabled = True
tsButtonEdit.Enabled = False
tsButtonSave.Enabled = False
tsButtonDelete.Enabled = False
tsmi_RecordDelete.Enabled = False
PropertiesToolStripMenuItem.Enabled = False
CopyToolStripMenuItem.Enabled = False
DeleteToolStripMenuItem.Enabled = False
tslblLocked.Visible = True
RecordKopierenToolStripMenuItem.Enabled = False
TabFollowUp.PageEnabled = False
End If
Catch ex As Exception
MsgBox("unexpected Error in Check Read-Limitations:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
ClassLogger.Add("Unexpected Error in Check Read-Limitations: " & ex.Message)
ClassLogger.Add("TempSQL so far: " & tempsql)
End Try
End If
If SQL_RIGHT_WINDREAM_FORBIDDEN <> "" Then
Try
tempsql = SQL_RIGHT_WINDREAM_FORBIDDEN
tempsql = tempsql.Replace("@RECORDID", RECORD_ID)
tempsql = tempsql.Replace("@RECORD_ID", RECORD_ID)
tempsql = tempsql.Replace("@USER_ID", USER_GUID)
tempsql = tempsql.Replace("@USER_GUID", USER_GUID)
''Regulären Ausdruck zum Auslesen der windream-Indexe definieren
'Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
'' einen Regulären Ausdruck laden
'Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg)
'' die Vorkommen im SQL-String auslesen
'Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(tempsql)
'' alle Vorkommen der windream-Indexe im SQL-String durchlaufen
''#####
'' alle Vorkommen der windream-Indexe im SQL-String durchlaufen
'For Each element As System.Text.RegularExpressions.Match In elemente
' Dim elementohneSZ = element.Value.Replace("[%", "")
' elementohneSZ = elementohneSZ.Replace("]", "")
' ' den Platzhalter für den auszulesenden View durch den Viewnamen ersetzen
' tempsql = tempsql.Replace(element.Value, controlvalue.ToString)
'Next
Try
RIGHT_WINDREAM_FORBIDDEN = CBool(ClassDatabase.Execute_Scalar(tempsql))
Catch ex As Exception
RIGHT_WINDREAM_FORBIDDEN = False
End Try
If RIGHT_WINDREAM_FORBIDDEN = True Then
' Hinzufügen sollte auch bei RIGHT_ONLY_READ verfügbar sein
tslblFileslocked.Visible = True
TabWindream.PageEnabled = False
WindreamsucheNeuLadenToolStripMenuItem.Enabled = False
End If
Catch ex As Exception
MsgBox("unexpected Error in Check Read-Limitations WINDREAM:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
ClassLogger.Add("Unexpected Error in Check Read-Limitations WINDREAM: " & ex.Message)
ClassLogger.Add("TempSQL so far: " & tempsql)
End Try
End If
Check_Rights()
If TCDetails.SelectedTabPage Is Nothing Then
Exit Sub
@@ -892,6 +787,125 @@ Public Class frmConstructor_Main
End Sub
Sub Check_Rights()
Try
RIGHT_ONLY_READ = False
RIGHT_WINDREAM_FORBIDDEN = False
tsmi_RecordDelete.Enabled = True
DeleteToolStripMenuItem.Enabled = True
CopyToolStripMenuItem.Enabled = True
RecordKopierenToolStripMenuItem.Enabled = True
PropertiesToolStripMenuItem.Enabled = True
tslblLocked.Visible = False
tslblFileslocked.Visible = False
TabFollowUp.PageEnabled = True
TabPos.PageEnabled = True
TabWindream.PageEnabled = True
WindreamsucheNeuLadenToolStripMenuItem.Enabled = True
WorkflowTasksNeuErstellenToolStripMenuItem.Enabled = True
tsButtonShowWorkflowTasks.Enabled = True
VerknüpfungenAnzeigenToolStripMenuItem.Enabled = True
Dim tempsql
If SQL_RIGHT_READ_AND_VIEW_ONLY <> "" Then
Try
tempsql = SQL_RIGHT_READ_AND_VIEW_ONLY
tempsql = tempsql.Replace("@RECORDID", RECORD_ID)
tempsql = tempsql.Replace("@RECORD_ID", RECORD_ID)
tempsql = tempsql.Replace("@USER_ID", USER_GUID)
tempsql = tempsql.Replace("@USER_GUID", USER_GUID)
''Regulären Ausdruck zum Auslesen der windream-Indexe definieren
'Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
'' einen Regulären Ausdruck laden
'Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg)
'' die Vorkommen im SQL-String auslesen
'Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(tempsql)
'' alle Vorkommen der windream-Indexe im SQL-String durchlaufen
''#####
'' alle Vorkommen der windream-Indexe im SQL-String durchlaufen
'For Each element As System.Text.RegularExpressions.Match In elemente
' Dim elementohneSZ = element.Value.Replace("[%", "")
' elementohneSZ = elementohneSZ.Replace("]", "")
' ' den Platzhalter für den auszulesenden View durch den Viewnamen ersetzen
' tempsql = tempsql.Replace(element.Value, controlvalue.ToString)
'Next
Try
RIGHT_ONLY_READ = CBool(ClassDatabase.Execute_Scalar(tempsql))
Catch ex As Exception
RIGHT_ONLY_READ = False
End Try
If RIGHT_ONLY_READ = True Then
' Hinzufügen sollte auch bei RIGHT_ONLY_READ verfügbar sein
tsButtonAdd.Enabled = True
tsButtonEdit.Enabled = False
tsButtonSave.Enabled = False
tsButtonDelete.Enabled = False
tsmi_RecordDelete.Enabled = False
PropertiesToolStripMenuItem.Enabled = False
CopyToolStripMenuItem.Enabled = False
DeleteToolStripMenuItem.Enabled = False
tslblLocked.Visible = True
RecordKopierenToolStripMenuItem.Enabled = False
TabFollowUp.PageEnabled = False
TabPos.PageEnabled = False
tsButtonShowWorkflowTasks.Enabled = False
WorkflowTasksNeuErstellenToolStripMenuItem.Enabled = False
VerknüpfungenAnzeigenToolStripMenuItem.Enabled = False
End If
Catch ex As Exception
MsgBox("unexpected Error in Check Read-Limitations:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
ClassLogger.Add("Unexpected Error in Check Read-Limitations: " & ex.Message)
ClassLogger.Add("TempSQL so far: " & tempsql)
End Try
End If
If SQL_RIGHT_WINDREAM_FORBIDDEN <> "" Then
Try
tempsql = SQL_RIGHT_WINDREAM_FORBIDDEN
tempsql = tempsql.Replace("@RECORDID", RECORD_ID)
tempsql = tempsql.Replace("@RECORD_ID", RECORD_ID)
tempsql = tempsql.Replace("@USER_ID", USER_GUID)
tempsql = tempsql.Replace("@USER_GUID", USER_GUID)
''Regulären Ausdruck zum Auslesen der windream-Indexe definieren
'Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
'' einen Regulären Ausdruck laden
'Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg)
'' die Vorkommen im SQL-String auslesen
'Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(tempsql)
'' alle Vorkommen der windream-Indexe im SQL-String durchlaufen
''#####
'' alle Vorkommen der windream-Indexe im SQL-String durchlaufen
'For Each element As System.Text.RegularExpressions.Match In elemente
' Dim elementohneSZ = element.Value.Replace("[%", "")
' elementohneSZ = elementohneSZ.Replace("]", "")
' ' den Platzhalter für den auszulesenden View durch den Viewnamen ersetzen
' tempsql = tempsql.Replace(element.Value, controlvalue.ToString)
'Next
Try
RIGHT_WINDREAM_FORBIDDEN = CBool(ClassDatabase.Execute_Scalar(tempsql))
Catch ex As Exception
RIGHT_WINDREAM_FORBIDDEN = False
End Try
If RIGHT_WINDREAM_FORBIDDEN = True Then
' Hinzufügen sollte auch bei RIGHT_ONLY_READ verfügbar sein
tslblFileslocked.Visible = True
TabWindream.PageEnabled = False
WindreamsucheNeuLadenToolStripMenuItem.Enabled = False
End If
Catch ex As Exception
MsgBox("unexpected Error in Check Read-Limitations WINDREAM:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
ClassLogger.Add("Unexpected Error in Check Read-Limitations WINDREAM: " & ex.Message)
ClassLogger.Add("TempSQL so far: " & tempsql)
End Try
End If
Catch ex As Exception
MsgBox("unexpected Error in Check_Rights:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
End Sub
#End Region
#Region "TreeView"
@@ -1018,6 +1032,7 @@ Public Class frmConstructor_Main
If SelectedNode IsNot Nothing Then
ENTITY_LOADED = False
ENTITY_ID = SelectedNode.Tag
CURRENT_FORM_ID = ENTITY_ID
Dim parentNode As TreeNode = TryCast(SelectedNode.Parent, TreeNode)
ACT_EBENE = 2
@@ -1279,6 +1294,7 @@ Public Class frmConstructor_Main
tsButtonShowWorkflowTasks.Enabled = True
CURRENT_PARENT_ID = PARENT_ID
ClassControlValues.LoadDefaultValues(ENTITY_ID, SELECTED_RECORD_ID, pnlDetails.Controls, CURRENT_PARENT_ID, ENTITY_ID)
dff()
' Im gegensatz zu EnableEditMode muss hier nur der save button enabled werden
tsButtonSave.Enabled = True
' Muss aktiviert werden, sonst funktionieren die Combobox Abhängigkeits Events nicht
@@ -2029,6 +2045,7 @@ Public Class frmConstructor_Main
' Laden der Daten bedeutet nicht dass Daten vom Benutzer geändert wurden!
RECORD_CHANGED = False
Update_Record_Label(Grid_RecordID)
Check_Rights()
End Select
End If
Catch ex As Exception