UPDATE TBDD_MODULES SET DB_VERSION = '1.9.8.4' where NAME = 'Global-Indexer' GO ALTER VIEW [dbo].[VWGI_USER_GROUPS_RELATION] AS SELECT T.GUID, T.USER_ID, T2.USERNAME, T.GROUP_ID, T1.NAME, T.[ADDED_WHO], T.[ADDED_WHEN], T.[CHANGED_WHO], T.[CHANGED_WHEN] FROM TBDD_GROUPS_USER T, TBDD_GROUPS T1, TBDD_USER T2 WHERE T.GROUP_ID = T1.GUID AND T.USER_ID = T2.GUID AND T1.INTERNAL = 0 AND T1.ACTIVE = 1 GO ALTER VIEW [dbo].[VWGI_DOCTYPE_GROUP] AS SELECT T.GUID, T.DOCTYPE_ID, T2.BEZEICHNUNG AS DOCTYPE, T.GROUP_ID, T1.NAME AS [GROUP], T.ADDED_WHO, T.ADDED_WHEN, T.CHANGED_WHEN FROM TBDD_USRGRP_DOKTYPE T, TBDD_GROUPS T1, TBDD_DOKUMENTART T2 WHERE T.DOCTYPE_ID = T2.GUID AND T.GROUP_ID = T1.GUID AND T1.ACTIVE = 1 AND T2.AKTIV = 1 GO ALTER VIEW [dbo].[VWGI_DOCTYPE] AS SELECT DISTINCT T.GUID AS [USER_ID], T.USERNAME, T2.NAME AS GROUP_NAME, T3.DOCTYPE_ID, T4.BEZEICHNUNG + ' - ' + T2.NAME AS DOCTYPE, T4.BEZEICHNUNG AS DOCTYPE_ONLY, T4.KURZNAME, T4.ZIEL_PFAD, T4.AKTIV, T4.NAMENKONVENTION, T4.OBJEKTTYP, T4.SEQUENCE FROM TBDD_USER T, TBDD_GROUPS_USER T1, TBDD_GROUPS T2, TBDD_USRGRP_DOKTYPE T3, TBDD_DOKUMENTART T4 WHERE T4.AKTIV = 1 AND T.GUID = T1.[USER_ID] AND T1.GROUP_ID = T2.GUID AND T2.GUID = T3.GROUP_ID AND T3.DOCTYPE_ID = T4.GUID AND T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(NAME) = UPPER('Global-Indexer'))) GO CREATE FUNCTION [dbo].[FNDD_CHECK_USER_MODULE] (@pUSERNAME VARCHAR(100), @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER) RETURNS @Table TABLE (SequentialOrder INT IDENTITY(1, 1), USER_ID INTEGER, USER_PRENAME VARCHAR(50), USER_SURNAME VARCHAR(50), USER_SHORTNAME VARCHAR(50), USER_EMAIL VARCHAR(100), USER_LANGUAGE VARCHAR(10), USER_RIGHT_FILE_DEL BIT, MODULE_ACCESS BIT, IS_ADMIN BIT, USERCOUNT_LOGGED_IN INTEGER, COMMENT VARCHAR(500)) AS BEGIN /* This function checks all user-relevant relations an */ DECLARE @RESULT VARCHAR(500), @USER_ID INTEGER, @USER_PRENAME VARCHAR(50), @USER_SURNAME VARCHAR(50), @USER_SHORTNAME VARCHAR(50), @USER_EMAIL VARCHAR(50), @USER_LANGUAGE VARCHAR(10), @IS_IN_MODULE BIT, @IS_ADMIN BIT, @USER_RIGHT_FILE_DEL BIT, @USERCOUNT_LOGGED_IN INTEGER, @MODULE_NAME VARCHAR(100), @MODULE_GUID INTEGER, @USER_GROUPNAME VARCHAR(100), @ADMIN_GROUPNAME VARCHAR(100) SET @USER_ID = 0 SET @IS_ADMIN = 0 SET @IS_IN_MODULE = 0 SET @USERCOUNT_LOGGED_IN = 0 SET @RESULT = '' IF @pMODULE_SHORT_NAME = 'PM' BEGIN SET @USER_GROUPNAME = 'PM_USER' SET @ADMIN_GROUPNAME = 'PM_ADMINS' END ELSE IF @pMODULE_SHORT_NAME = 'CW' BEGIN SET @USER_GROUPNAME = 'CW_USER' SET @ADMIN_GROUPNAME = 'CW_ADMINS' END ELSE IF @pMODULE_SHORT_NAME = 'ADDI' BEGIN SET @USER_GROUPNAME = 'ADDI_USER' SET @ADMIN_GROUPNAME = 'ADDI_ADMINS' END ELSE IF @pMODULE_SHORT_NAME = 'GLOBIX' BEGIN SET @USER_GROUPNAME = 'GLOBIX_USER' SET @ADMIN_GROUPNAME = 'GLOBIX_ADMINS' END ELSE IF @pMODULE_SHORT_NAME = 'UM' BEGIN SET @USER_GROUPNAME = 'XXXX' SET @ADMIN_GROUPNAME = 'UM_ADMINS' END SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = @pMODULE_SHORT_NAME IF NOT EXISTS(SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME)) BEGIN SET @RESULT = 'USER NOT CONFIGURED OR LISTED' END ELSE BEGIN SELECT @USER_ID = GUID,@USER_PRENAME = PRENAME, @USER_SURNAME = NAME, @USER_SHORTNAME = SHORTNAME,@USER_EMAIL = EMAIL,@USER_LANGUAGE = LANGUAGE FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME) SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = @pCLIENTID --CHECK USER ÍS IN MODULE_USER_GROUP IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME) BEGIN SET @IS_IN_MODULE = 1 SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME + ')' IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) BEGIN SET @RESULT = @RESULT + '| User is also configured in User-Modules' select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID END END ELSE BEGIN SET @RESULT = 'User not part of group (' + @USER_GROUPNAME + ')' IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) BEGIN SET @RESULT = @RESULT + '| BUT User configured in User-Modules' select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID END END IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @ADMIN_GROUPNAME) BEGIN SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME + ')' SET @IS_ADMIN = 1 SET @IS_IN_MODULE = 1 END END INSERT INTO @Table (USER_ID,USER_PRENAME, USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE, USER_RIGHT_FILE_DEL, MODULE_ACCESS,IS_ADMIN,USERCOUNT_LOGGED_IN, COMMENT) VALUES (@USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_RIGHT_FILE_DEL,@IS_IN_MODULE,@IS_ADMIN,@USERCOUNT_LOGGED_IN,@RESULT) RETURN END GO