MS
This commit is contained in:
@@ -531,7 +531,7 @@ Public Class ClassDOC_SEARCH
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
Public Shared Function SET_WD_RIGHTS(RESULT_DOCID As Integer, RESULT_DOC_PATH As String, DeleteRightsBefore As Boolean)
|
||||
Public Shared Function SET_WD_RIGHTS(oWMObject As WINDREAMLib.WMObject, RESULT_DOCID As Integer, RESULT_DOC_PATH As String, DeleteRightsBefore As Boolean)
|
||||
Try
|
||||
If CURRENT_RECORD_ID = 0 Then
|
||||
MsgBox("No Record selected - Please select one!", MsgBoxStyle.Exclamation)
|
||||
@@ -539,7 +539,7 @@ Public Class ClassDOC_SEARCH
|
||||
End If
|
||||
LOGGER.Debug("#### SETTING RIGHTS FOR FILE ######")
|
||||
If ClassWDRights.Init = True Then
|
||||
If ClassWDRights.Doc_Renew_Rights(RESULT_DOCID, RESULT_DOC_PATH, DeleteRightsBefore) Then
|
||||
If ClassWDRights.Doc_Renew_Rights(oWMObject, RESULT_DOCID, RESULT_DOC_PATH, DeleteRightsBefore) Then
|
||||
If ClassWDRights.MSG_RESULT <> "" Then
|
||||
Dim msg = "Achtung: einige Rechte konnten nicht gesetzt werden: " & vbNewLine & ClassWDRights.MSG_RESULT
|
||||
If USER_LANGUAGE <> "de-DE" Then
|
||||
|
||||
@@ -172,20 +172,27 @@ Public Class ClassHelper
|
||||
Public Shared Function File_open(RESULT_DOC_PATH As Object, DocID As String)
|
||||
Try
|
||||
RESULT_DOC_PATH = FORMAT_WM_PATH(RESULT_DOC_PATH)
|
||||
CURRENT_OFFICE_FILE_CHANGED = False
|
||||
If SHARE_DRIVE_ACTIVE Then
|
||||
If RESULT_DOC_PATH.ToString.StartsWith(constWMOBJECTS) Then
|
||||
RESULT_DOC_PATH = RESULT_DOC_PATH.ToString.Replace(constWMOBJECTS, WMPATH_PREFIX)
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
CURRENT_OFFICE_FILE_CHANGED = False
|
||||
If RESULT_DOC_PATH <> Nothing Then
|
||||
Dim EXT = Path.GetExtension(RESULT_DOC_PATH)
|
||||
EXT = EXT.Replace(".", "")
|
||||
Dim sql = String.Format("SELECT VIEWER FROM TBPMO_DOC_USER_VIEW WHERE USER_ID = {0} AND FILE_EXTENSION = '{1}'", USER_GUID, EXT)
|
||||
Dim DT As DataTable = MYDB_ECM.GetDatatable(sql)
|
||||
If DT.Rows.Count = 1 Then
|
||||
Select Case DT.Rows(0).Item("VIEWER")
|
||||
Case "DOC_VIEW"
|
||||
OPEN_DOCVIEW(RESULT_DOC_PATH, DocID)
|
||||
End Select
|
||||
Else
|
||||
File_SYSOPEN(RESULT_DOC_PATH, DocID)
|
||||
End If
|
||||
'Dim EXT = Path.GetExtension(RESULT_DOC_PATH)
|
||||
'EXT = EXT.Replace(".", "")
|
||||
' Dim sql = String.Format("SELECT VIEWER FROM TBPMO_DOC_USER_VIEW WHERE USER_ID = {0} AND FILE_EXTENSION = '{1}'", USER_GUID, EXT)
|
||||
' Dim DT As DataTable = MYDB_ECM.GetDatatable(sql)
|
||||
' If DT.Rows.Count = 1 Then
|
||||
' Select Case DT.Rows(0).Item("VIEWER")
|
||||
' Case "DOC_VIEW"
|
||||
' OPEN_DOCVIEW(RESULT_DOC_PATH, DocID)
|
||||
' End Select
|
||||
' Else
|
||||
File_SYSOPEN(RESULT_DOC_PATH, DocID)
|
||||
'End If
|
||||
Return True
|
||||
Else
|
||||
MSGBOX_Handler("ERROR", "", "Sorry, but the docpath for doc-id: " & DocID & " is nothing!")
|
||||
@@ -264,7 +271,6 @@ Public Class ClassHelper
|
||||
If FILE_FORMATS_CHANGE_DURING_EDIT.Contains(oExtension) Then
|
||||
oSql = $"SELECT dwVersionID FROM VWPMO_DOC_SEARCH WHERE DocID = {BW_DocID}"
|
||||
Dim odwVersionId = MYDB_ECM.GetScalarValue(oSql)
|
||||
|
||||
Dim oInsert = $"INSERT INTO TBPMO_DOC_ID_CHANGED (USER_ID,PROCESS_ID,VERSION_ID,OLD_DOC_ID,DOC_PATH) VALUES ({USER_GUID},'{ProcID.ToString}',{odwVersionId},{BW_DocID},'{BW_DocPath}')"
|
||||
MYDB_ECM.ExecuteNonQuery(oInsert)
|
||||
End If
|
||||
@@ -272,6 +278,7 @@ Public Class ClassHelper
|
||||
'oMyProcess.WaitForExit()
|
||||
Catch ex As Exception
|
||||
LOGGER.Warn("Error in Process1.Start(): " & ex.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID)
|
||||
MsgBox("Error in OpenFile: " & ex.Message & vbNewLine & " - Path: " & BW_DocPath & " - DocID: " & BW_DocID, MsgBoxStyle.Exclamation)
|
||||
Exit Sub
|
||||
End Try
|
||||
|
||||
|
||||
@@ -181,7 +181,9 @@ Public Class ClassInit
|
||||
SQL_FULLTEXT = KONFIG_DT.Rows(0).Item("SQL_FULLTEXT")
|
||||
WMDriveLetter = KONFIG_DT.Rows(0).Item("WM_LAUFWERKBUCHSTABE")
|
||||
WMPATH_PREFIX = KONFIG_DT.Rows(0).Item("WMPATH_PREFIX")
|
||||
If Not WMPATH_PREFIX.ToUpper.StartsWith("\\WINDREAM\OBJECTS") Then
|
||||
|
||||
|
||||
If Not WMPATH_PREFIX.ToUpper.StartsWith(constWMOBJECTS) Then
|
||||
SHARE_DRIVE_ACTIVE = True
|
||||
LOGGER.Info($"WM SHARE_DRIVE [{WMPATH_PREFIX}] via TBPMO_KONFIGURATION is active")
|
||||
End If
|
||||
@@ -254,6 +256,20 @@ Public Class ClassInit
|
||||
ClassHelper.InsertEssential_Log(0, "USER-ID", String.Format("User '{0}' not listed in Userconfiguration", USER_USERNAME))
|
||||
Return False
|
||||
Else
|
||||
DTTBPMO_SERVICE_RIGHT_CONFIG = MYDB_ECM.GetDatatable("SELECT * FROM TBPMO_SERVICE_RIGHT_CONFIG WHERE GUID = 1")
|
||||
WM_DOMAIN = DTTBPMO_SERVICE_RIGHT_CONFIG.Rows(0).Item("AD_DOMAIN")
|
||||
WM_USER = DTTBPMO_SERVICE_RIGHT_CONFIG.Rows(0).Item("AD_USER")
|
||||
WM_SERVER = DTTBPMO_SERVICE_RIGHT_CONFIG.Rows(0).Item("AD_SERVER")
|
||||
Dim PWplainText As String
|
||||
Dim wrapper As New ClassEncryption("!35452didalog=")
|
||||
' DecryptData throws if the wrong password is used.
|
||||
Try
|
||||
PWplainText = wrapper.DecryptData(DTTBPMO_SERVICE_RIGHT_CONFIG.Rows(0).Item("AD_USER_PW"))
|
||||
Catch ex As Exception
|
||||
LOGGER.Warn("The Userpassword could not be decrypted")
|
||||
PWplainText = ""
|
||||
End Try
|
||||
WM_USER_PW = PWplainText
|
||||
|
||||
USER_GUID = USER_DT.Rows(0).Item("USER_ID")
|
||||
Try
|
||||
@@ -261,6 +277,7 @@ Public Class ClassInit
|
||||
Catch ex As Exception
|
||||
USERID_FK_INT_ECM = 0
|
||||
End Try
|
||||
USER_IS_ADMIN = USER_DT.Rows(0).Item("IS_ADMIN")
|
||||
USER_LANGUAGE = USER_DT.Rows(0).Item("USER_LANGUAGE")
|
||||
clsCURRENT.USER_LANGUAGE = USER_LANGUAGE
|
||||
USER_DATE_FORMAT = USER_DT.Rows(0).Item("USER_DATE_FORMAT")
|
||||
@@ -276,13 +293,16 @@ Public Class ClassInit
|
||||
|
||||
If oMode.StartsWith("WMMODE") Then
|
||||
WorkMode_WMMODE = oMode.Replace("WMMODE=", "")
|
||||
LOGGER.Debug($"oWorkmode WMMODE = [{WorkMode_WMMODE}]")
|
||||
If WorkMode_WMMODE = "READ" Then
|
||||
WM_READ_ONLY = True
|
||||
LOGGER.Info("WINDREAM IS CONFIGURED READ ONLY FOR USER!")
|
||||
End If
|
||||
ElseIf oMode.StartsWith("WM_PRAEFIX") Then
|
||||
WMPATH_PREFIX = oMode.Replace("WM_PRAEFIX=", "")
|
||||
If Not WMPATH_PREFIX.ToUpper.StartsWith("\\WINDREAM\OBJECTS") Then
|
||||
WMPATH_via_WMA = True
|
||||
LOGGER.Debug($"oWorkmode WM_PRAEFIX = [{WMPATH_PREFIX}]")
|
||||
If Not WMPATH_PREFIX.ToUpper.StartsWith(constWMOBJECTS) Then
|
||||
SHARE_DRIVE_ACTIVE = True
|
||||
LOGGER.Info($"WM SHARE_DRIVE [{WMPATH_PREFIX}] via WORKING_MODE is active")
|
||||
End If
|
||||
@@ -297,6 +317,10 @@ Public Class ClassInit
|
||||
LOGGER.Info("WINDREAM IS CONFIGURED READ ONLY AS No Workmode was configured and Sharedrive is active!")
|
||||
WM_READ_ONLY = True
|
||||
End If
|
||||
If USER_IS_ADMIN And SHARE_DRIVE_ACTIVE = True Then
|
||||
LOGGER.Info($"User configured as an admin, but SHAREDRIVE ACTIVE - So WM_READ_ONLY = False!")
|
||||
WM_READ_ONLY = False
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
@@ -353,7 +377,7 @@ Public Class ClassInit
|
||||
oFNSQL = String.Format("INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,CLIENT_ID,MODULE,VERSION_CLIENT,MACHINE_NAME,CONNECTION_STRING) VALUES ({0},{1},'Record-Organizer','{2}','{3}','{4}')", USER_GUID, CLIENT_SELECTED, My.Application.Info.Version.ToString, Environment.MachineName, ConStringMain)
|
||||
MYDB_ECM.ExecuteNonQuery(oFNSQL)
|
||||
|
||||
USER_IS_ADMIN = USER_DT.Rows(0).Item("IS_ADMIN") 'vorher RECORD_ADMIN
|
||||
|
||||
If USER_IS_ADMIN = True Then
|
||||
If ESC_Hidden = True Then
|
||||
frmLoginUserSelect.ShowDialog()
|
||||
@@ -364,12 +388,18 @@ Public Class ClassInit
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Try
|
||||
If WM_READ_ONLY = False Then
|
||||
Try
|
||||
WMMOD = New DigitalData.Modules.Windream.Windream(LOGCONFIG, False, WMDriveLetter, WMPATH_PREFIX, True, "", "", "", "")
|
||||
LOGGER.Debug($"Connecting to windream-Server via DigitalData.Modules.Windream.Windream...")
|
||||
WMMOD = New DigitalData.Modules.Windream.Windream(LOGCONFIG, False, WMDriveLetter, WMPATH_PREFIX, True, WM_SERVER, WM_USER, WM_USER_PW, WM_DOMAIN)
|
||||
If IsNothing(WMMOD) Then
|
||||
MsgBox("Could not connect to windream! Check Your configuration", MsgBoxStyle.Exclamation)
|
||||
Else
|
||||
LOGGER.Debug($"..Successfully connected to Modules.Windream!")
|
||||
End If
|
||||
Catch ex As Exception
|
||||
LOGGER.Error(ex)
|
||||
|
||||
@@ -67,13 +67,13 @@ Public Class ClassWDRights
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
Public Shared Function Doc_Renew_Rights(doc_id As Integer, reldocpath As String, deleterights As Boolean) As Boolean
|
||||
Public Shared Function Doc_Renew_Rights(oWMObject As WMObject, doc_id As Integer, reldocpath As String, deleterights As Boolean) As Boolean
|
||||
Try
|
||||
LOGGER.Debug(String.Format("Working on rights for file: {0}", reldocpath))
|
||||
Dim DT_USER_RIGHT As DataTable
|
||||
Dim DT_GROUP_RIGHT As DataTable
|
||||
Dim oSession
|
||||
Dim oWMObject As WINDREAMLib.WMObject
|
||||
' Dim oWMObject As WINDREAMLib.WMObject
|
||||
Dim UserGroupRelation
|
||||
Dim UserOrGroup
|
||||
Dim oUSer
|
||||
@@ -81,7 +81,7 @@ Public Class ClassWDRights
|
||||
|
||||
Try
|
||||
'Dedizierte Session herstellen
|
||||
oSession = GetWMSessionAsUser(AD_DOMAIN, AD_SERVER, AD_USER, AD_USER_PW)
|
||||
oSession = GetWMSessionAsUser(WM_DOMAIN, WM_SERVER, WM_USER, WM_USER_PW)
|
||||
Catch ex As Exception
|
||||
Dim msg = "Error in Doc_Renew_Rights-GetWMSessionAsUser : " & ex.Message
|
||||
LOGGER.Warn(msg)
|
||||
@@ -102,16 +102,17 @@ Public Class ClassWDRights
|
||||
LOGGER.Debug(String.Format("Amount of Userrights: {0}", DT_USER_RIGHT.Rows.Count))
|
||||
End If
|
||||
LOGGER.Debug(String.Format("Amount of Grouprights: {0}", DT_GROUP_RIGHT.Rows.Count))
|
||||
Try
|
||||
'Object definieren
|
||||
oWMObject = oSession.GetWMObjectByPath(1, reldocpath)
|
||||
LOGGER.Debug("Object created.")
|
||||
Catch ex As Exception
|
||||
Dim msg = "Error GetWMObjectByPath: " & reldocpath & vbNewLine & Err.Description
|
||||
LOGGER.Warn(msg)
|
||||
LOGGER.Error(ex)
|
||||
Return False
|
||||
End Try
|
||||
'Try
|
||||
' 'Object definieren
|
||||
|
||||
' oWMObject = WMCLASS.GetFileByPath(reldocpath) ' oSession.GetWMObjectByPath(1, reldocpath)
|
||||
' LOGGER.Debug("oWMObject created.")
|
||||
'Catch ex As Exception
|
||||
' Dim msg = "ClassWDRights - Error GetWMObjectByPath: " & reldocpath & vbNewLine & Err.Description
|
||||
' LOGGER.Warn(msg)
|
||||
' LOGGER.Error(ex)
|
||||
' Return False
|
||||
'End Try
|
||||
Dim lret
|
||||
Try
|
||||
' Objekt muss zur Rechteänderung gelockt werden
|
||||
|
||||
Reference in New Issue
Block a user