193 lines
5.5 KiB
Transact-SQL
193 lines
5.5 KiB
Transact-SQL
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 <20>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
|
||
|
||
|
||
|