MS
This commit is contained in:
613
08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.4.sql
Normal file
613
08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.4.sql
Normal file
@@ -0,0 +1,613 @@
|
||||
UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.4' where NAME = 'Record-Organizer'
|
||||
GO
|
||||
|
||||
DECLARE @DoctypeID INTEGER
|
||||
DECLARE cursor_Doctype CURSOR LOCAL FOR
|
||||
select GUID from TBDD_DOKUMENTART
|
||||
OPEN cursor_Doctype
|
||||
FETCH NEXT FROM cursor_Doctype INTO @DoctypeID
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID, INDEXNAME,VALUE,ADDED_WHO) VALUES
|
||||
(@DoctypeID,'String 36','ADDI-RELATION','Digital Data')
|
||||
|
||||
--#####
|
||||
FETCH NEXT FROM cursor_Doctype INTO @DoctypeID
|
||||
END
|
||||
CLOSE cursor_Doctype
|
||||
DEALLOCATE cursor_Doctype
|
||||
GO
|
||||
|
||||
|
||||
|
||||
ALTER VIEW VWPMO_WD_OBJECT_RIGHTS
|
||||
AS
|
||||
SELECT dwObjectID, dwUserOrGroupID, dwAccessRight, dwObjectDBID
|
||||
FROM [172.24.12.41\BRAINPOOL].windream60.dbo.AccessRight AS AccessRight_1
|
||||
WHERE dwUserOrGroupID IN (SELECT USERID_FK_INT_ECM FROM TBDD_USER WHERE USERID_FK_INT_ECM <> 0)
|
||||
GO
|
||||
|
||||
ALTER PROCEDURE [dbo].[PRPMO_DELETE_CONSTRUCTOR](@pCONSTR_ID INT)
|
||||
AS
|
||||
BEGIN TRY
|
||||
DELETE FROM TBPMO_CLIENT_CONSTRUCTOR WHERE CONSTRUCT_ID = @pCONSTR_ID
|
||||
DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE CONSTRUCT_ID = @pCONSTR_ID
|
||||
DELETE FROM TBPMO_FORM_CONSTR_QUICK_DISPLAY WHERE CONSTRUCT_ID in (SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID)
|
||||
DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE FOLLOW_UP_ID IN (SELECT GUID FROM TBPMO_FOLLOW_UP_EMAIL WHERE CONSTRUCTOR_ID = @pCONSTR_ID)
|
||||
DELETE FROM TBPMO_FOLLOW_UP_EMAIL WHERE CONSTRUCTOR_ID = @pCONSTR_ID
|
||||
DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID in (SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID)
|
||||
DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE CONSTRUCTOR_DETAIL_ID IN (SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID)
|
||||
DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID
|
||||
DELETE FROM TBPMO_FORM_CONSTRUCTOR WHERE GUID = @pCONSTR_ID
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
|
||||
+ ' - FEHLER-MESSAGE: '
|
||||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||||
END CATCH
|
||||
GO
|
||||
ALTER TRIGGER [dbo].[TBPMO_DOC_VALUES_AFT_UPD] ON [dbo].[TBPMO_DOC_VALUES]
|
||||
FOR UPDATE
|
||||
AS
|
||||
UPDATE TBPMO_DOC_VALUES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_VALUES.GUID = INSERTED.GUID
|
||||
GO
|
||||
|
||||
ALTER TABLE TBPMO_RECORD
|
||||
ADD PARENT_RECORD INTEGER NOT NULL DEFAULT 0
|
||||
GO
|
||||
ALTER TABLE TBPMO_RECORD
|
||||
ADD [VERSION] INTEGER NOT NULL DEFAULT 1
|
||||
GO
|
||||
ALTER PROCEDURE [dbo].[PRPMO_CREATE_SQL](@pFORM_ID INT)
|
||||
AS
|
||||
DECLARE @COL_NAME VARCHAR(50),
|
||||
@SQL_BEGIN VARCHAR(4000),
|
||||
@SQL_END VARCHAR(4000),
|
||||
@SQL VARCHAR(MAX),
|
||||
@CONTROL_ID INT,
|
||||
@RESULT VARCHAR(MAX),
|
||||
@TYPEID INT,
|
||||
@TABINDEX INT,
|
||||
@ZAEHLER INT = 1,
|
||||
@SQL_LBL VARCHAR(4000)
|
||||
|
||||
DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
|
||||
WHERE T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5)
|
||||
UNION
|
||||
SELECT T.GUID,'[' + T.NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2
|
||||
WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0
|
||||
ORDER BY TAB_INDEX
|
||||
BEGIN
|
||||
SET @SQL_BEGIN = 'SELECT T.GUID AS [Record-ID]' + CHAR(13) + ',T.COLOR AS ROW_COLOR' + CHAR(13) + ',T.FORM_ID AS [Form-ID]' + CHAR(13) + ','
|
||||
--SET @SQL_END = ',T.ADDED_WHO as AddedWho,T.ADDED_WHEN as AddedWhen, T.CHANGED_WHO As ChangedWho, T.CHANGED_WHEN As ChangedWhen FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID'
|
||||
SET @SQL_END = ',T.ADDED_WHO AS AddedWho,' + CHAR(13) + 'T.ADDED_WHEN AS AddedWhen,' + CHAR(13) + 'T.CHANGED_WHO AS ChangedWho,' + CHAR(13) + 'T.CHANGED_WHEN AS ChangedWhen FROM TBPMO_RECORD T' + CHAR(13) + 'INNER JOIN TBPMO_FORM T1 ON T.FORM_ID = T1.GUID AND T.[PARENT_RECORD] = 0 AND T.FORM_ID = @FORM_ID' + CHAR(13)
|
||||
|
||||
SET @SQL_END = REPLACE(@SQL_END,'@FORM_ID',@pFORM_ID)
|
||||
|
||||
OPEN c_SPALTENNAMEN
|
||||
FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
SET @COL_NAME = REPLACE(@COL_NAME,'lbl','')
|
||||
SET @ZAEHLER = @ZAEHLER + 1
|
||||
IF LEN(ISNULL(@SQL,'')) = 0
|
||||
BEGIN
|
||||
IF @TYPEID IN(10,11)
|
||||
BEGIN
|
||||
--SET @SQL = 'ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME
|
||||
SET @SQL = 'ISNULL(CASE WHEN UPPER(RTRIM(LTRIM(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END,0) AS ' + @COL_NAME + CHAR(13)
|
||||
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
||||
END
|
||||
ELSE IF @TYPEID = 6
|
||||
BEGIN
|
||||
--SET @SQL = '(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME
|
||||
SET @SQL = 'T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.IMG AS ' + @COL_NAME + CHAR(13)
|
||||
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_IMAGE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
||||
ENd
|
||||
ELSE IF @TYPEID = 1
|
||||
BEGIN
|
||||
SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID
|
||||
SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID')
|
||||
SET @SQL = '(' + @SQL_LBL + ') AS ' + @COL_NAME + CHAR(13)
|
||||
END
|
||||
ELSE IF @TYPEID IN(7,12,14)
|
||||
BEGIN
|
||||
SET @SQL = 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID) AS ' + @COL_NAME + CHAR(13)
|
||||
END
|
||||
ELSE IF @TYPEID = 4
|
||||
BEGIN
|
||||
SET @SQL = 'T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE AS ' + @COL_NAME + CHAR(13)
|
||||
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
--SET @SQL = '(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME
|
||||
SET @SQL = 'ISNULL(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE,'''') AS ' + @COL_NAME + CHAR(13)
|
||||
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
IF @TYPEID IN(10,11)
|
||||
BEGIN
|
||||
--SET @SQL = @SQL + ',ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME
|
||||
SET @SQL = @SQL + ',ISNULL(CASE WHEN UPPER(RTRIM(LTRIM(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END,0) AS ' + @COL_NAME + CHAR(13)
|
||||
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
||||
END
|
||||
ELSE IF @TYPEID = 6
|
||||
BEGIN
|
||||
--SET @SQL = @SQL + ',(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME
|
||||
SET @SQL = @SQL + ',T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.IMG AS ' + @COL_NAME + CHAR(13)
|
||||
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_IMAGE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
||||
END
|
||||
ELSE IF @TYPEID = 1
|
||||
BEGIN
|
||||
SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID
|
||||
SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID')
|
||||
SET @SQL = @SQL + ',(' + @SQL_LBL + ') AS ' + @COL_NAME + CHAR(13)
|
||||
END
|
||||
ELSE IF @TYPEID IN(7,12,14)
|
||||
BEGIN
|
||||
--SET @SQL = @SQL + ',(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME
|
||||
SET @SQL = @SQL + ',ISNULL(dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID),'''') AS ' + @COL_NAME + CHAR(13)
|
||||
END
|
||||
ELSE IF @TYPEID = 4
|
||||
BEGIN
|
||||
SET @SQL = @SQL + ',T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE AS ' + @COL_NAME + CHAR(13)
|
||||
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
--SET @SQL = @SQL + ',(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME
|
||||
SET @SQL = @SQL + ',ISNULL(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE,'''') AS ' + @COL_NAME + CHAR(13)
|
||||
SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13)
|
||||
END
|
||||
END
|
||||
|
||||
FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX
|
||||
END
|
||||
|
||||
CLOSE c_SPALTENNAMEN
|
||||
DEALLOCATE c_SPALTENNAMEN
|
||||
|
||||
--PRint '1'
|
||||
SET @SQL = @SQL + ',(SELECT CASE COUNT(TDS.DocID) WHEN 0 THEN 0 ELSE 1 END AS [files?] FROM VWPMO_DOC_SEARCH TDS, TBPMO_DOC_RECORD_LINK TRL WHERE TDS.DocID = TRL.DOC_ID AND TRL.RECORD_ID = T.GUID) AS [files?]' + CHAR(13)
|
||||
--PRint '2'
|
||||
SET @SQL = @SQL + ',(SELECT COUNT(TDS.DocID) AS [files?] FROM VWPMO_DOC_SEARCH TDS, TBPMO_DOC_RECORD_LINK TRL WHERE TDS.DocID = TRL.DOC_ID AND TRL.RECORD_ID = T.GUID) AS [file count]' + CHAR(13)
|
||||
--PRint '3'
|
||||
SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END
|
||||
--PRINT 'LEN: ' + CONVERT(VARCHAR(10),LEN(@RESULT))
|
||||
|
||||
IF EXISTS (SELECT FORM_ID FROM TBPMO_FORM_SQL WHERE FORM_ID = @pFORM_ID)
|
||||
UPDATE TBPMO_FORM_SQL SET SQL_COMMAND = @RESULT WHERE FORM_ID = @pFORM_ID
|
||||
ELSE
|
||||
INSERT INTO TBPMO_FORM_SQL(FORM_ID,SQL_COMMAND) VALUES(@pFORM_ID,@RESULT)
|
||||
END
|
||||
GO
|
||||
|
||||
DECLARE
|
||||
@ENTITY_ID INTEGER,
|
||||
@CONTROL_ID INTEGER,
|
||||
@GUID INTEGER,
|
||||
@VALUE VARCHAR(MAX)
|
||||
|
||||
DECLARE c_REDO CURSOR FOR
|
||||
SELECT GUID FROM TBPMO_FORM
|
||||
OPEN c_REDO
|
||||
FETCH NEXT FROM c_REDO INTO @ENTITY_ID
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
EXEC [dbo].[PRPMO_CREATE_SQL] @ENTITY_ID
|
||||
FETCH NEXT FROM c_REDO INTO @ENTITY_ID
|
||||
END
|
||||
CLOSE c_REDO
|
||||
DEALLOCATE c_REDO
|
||||
GO
|
||||
EXECUTE [dbo].[PRPMO_CREATE_TEMP_VIEWS]
|
||||
GO
|
||||
|
||||
CREATE TABLE TBPMO_RECORD_VARIANT(
|
||||
[GUID] INT IDENTITY(1,1) NOT NULL,
|
||||
RECORD_ID INT NOT NULL,
|
||||
REASON_CODE VARCHAR(100) NOT NULL,
|
||||
COMMENT VARCHAR(500),
|
||||
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'),
|
||||
ADDED_WHEN DATETIME DEFAULT (GETDATE()),
|
||||
CHANGED_WHO VARCHAR(50),
|
||||
CHANGED_WHEN DATETIME,
|
||||
CONSTRAINT [PK_TBPMO_RECORD_VARIANT] PRIMARY KEY(GUID),
|
||||
CONSTRAINT FK_TBPMO_RECORD_VARIANT_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID))
|
||||
GO
|
||||
|
||||
CREATE TRIGGER TBPMO_RECORD_VARIANT_AFT_UPD ON TBPMO_RECORD_VARIANT
|
||||
FOR UPDATE
|
||||
AS
|
||||
UPDATE TBPMO_RECORD_VARIANT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD_VARIANT.GUID = INSERTED.GUID
|
||||
GO
|
||||
|
||||
CREATE TABLE TBPMO_ENTITY_VARIANT_REASONS(
|
||||
[GUID] INT IDENTITY(1,1) NOT NULL,
|
||||
ENTITY_ID INT NOT NULL,
|
||||
REASON_CODE VARCHAR(100) NOT NULL,
|
||||
COMMENT VARCHAR(500),
|
||||
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'),
|
||||
ADDED_WHEN DATETIME DEFAULT (GETDATE()),
|
||||
CHANGED_WHO VARCHAR(50),
|
||||
CHANGED_WHEN DATETIME,
|
||||
CONSTRAINT [PK_TBPMO_ENTITY_VARIANT_REASONS] PRIMARY KEY(GUID),
|
||||
CONSTRAINT FK_TBPMO_ENTITY_VARIANT_REASONS_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID))
|
||||
GO
|
||||
|
||||
CREATE TRIGGER TBPMO_ENTITY_VARIANT_REASONS_AFT_UPD ON TBPMO_ENTITY_VARIANT_REASONS
|
||||
FOR UPDATE
|
||||
AS
|
||||
UPDATE TBPMO_ENTITY_VARIANT_REASONS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_VARIANT_REASONS.GUID = INSERTED.GUID
|
||||
GO
|
||||
|
||||
ALTER PROCEDURE [dbo].[PRPMO_DELETE_ENTITY](@pENTITY_ID INT)
|
||||
AS
|
||||
BEGIN TRY
|
||||
DELETE FROM TBPMO_FORM_SQL WHERE FORM_ID = @pENTITY_ID
|
||||
DELETE FROM TBPMO_CLIENT_ENTITY WHERE ENTITY_ID = @pENTITY_ID
|
||||
DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @pENTITY_ID
|
||||
DELETE FROM TBPMO_TEMPLATE_ENTITY WHERE ENTITY_ID = @pENTITY_ID
|
||||
DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @pENTITY_ID
|
||||
DELETE FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID
|
||||
DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE ENTITY_ID = @pENTITY_ID
|
||||
DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE [ENTITY_ID] = @pENTITY_ID
|
||||
DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID)
|
||||
DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID)
|
||||
DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID)
|
||||
DELETE FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID
|
||||
DELETE FROM TBPMO_ENTITY_VARIANT_REASONS WHERE ENTITY_ID = @pENTITY_ID
|
||||
DELETE FROM TBPMO_FORM WHERE GUID = @pENTITY_ID
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
|
||||
+ ' - FEHLER-MESSAGE: '
|
||||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||||
END CATCH
|
||||
GO
|
||||
ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL
|
||||
ADD [DOC_SEARCH_TAB1] BIT NOT NULL DEFAULT 0
|
||||
GO
|
||||
ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL
|
||||
ADD [ACTIVATE_DOC_SEARCH_ON_EDIT] BIT NOT NULL DEFAULT 0
|
||||
GO
|
||||
ALTER VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS
|
||||
SELECT TOP 100 PERCENT
|
||||
T2.GUID,
|
||||
T1.GUID FORM_VIEW_ID,
|
||||
T1.SCREEN_ID,
|
||||
T2.CONSTRUCT_ID,
|
||||
T.PARENT_ID,
|
||||
T2.SEQUENCE,
|
||||
T2.LEVEL1_SELECT,
|
||||
T.GUID AS FORM_ID,
|
||||
T1.FORM_TITLE,
|
||||
T2.SQL_SELECT_EBENE1,
|
||||
T2.SQL_SELECT_EBENE2,
|
||||
T2.SQL_QUICK_VIEW,
|
||||
T2.COLUMN_NAME1,
|
||||
T2.COLUMN_NAME2,
|
||||
T.FORM_TYPE_ID,
|
||||
T2.LOAD_DIRECT,
|
||||
T2.CONTROL_DOCTYPE_MATCH,
|
||||
T2.SQL_RIGHT_READ_AND_VIEW_ONLY,
|
||||
T2.SQL_RIGHT_WINDREAM_VIEW,
|
||||
T2.DOC_SEARCH_TAB1,
|
||||
T2.[ACTIVATE_DOC_SEARCH_ON_EDIT],
|
||||
T1.DOCUMENT_VIEW,
|
||||
T.DATE_FORMAT,
|
||||
T.LOCK_CONTROLS_BG_LOAD,
|
||||
(SELECT COUNT(GUID) FROm TBPMO_CONTROL WHERE FORM_ID = T1.FORM_ID AND TREE_VIEW = 1) AS COUNT_TREEVIEW
|
||||
FROM
|
||||
tbpmo_form T,
|
||||
TBPMO_FORM_VIEW T1,
|
||||
TBPMO_FORM_CONSTRUCTOR_DETAIL T2
|
||||
where
|
||||
T2.FORM_ID = T.GUID AND
|
||||
T.GUID = T1.FORM_ID
|
||||
ORDER BY
|
||||
T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE
|
||||
GO
|
||||
ALTER TABLE TBPMO_KONFIGURATION
|
||||
ADD WM_LAUFWERKBUCHSTABE VARCHAR(1) NOT NULL DEFAULT 'W'
|
||||
GO
|
||||
|
||||
--CREATE FUNCTION FNPMO_GET_WINDREAM_FILE_PATH_NEU (@pDOCID BIGINT)
|
||||
ALTER FUNCTION [dbo].[FNPMO_GET_WINDREAM_FILE_PATH] (@pDOCID BIGINT)
|
||||
RETURNS VARCHAR(MAX)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE
|
||||
@RESULT VARCHAR(MAX),
|
||||
@DOCID BIGINT,
|
||||
@a TINYINT = 1,
|
||||
@i TINYINT = 0,
|
||||
@PARENT_ID BIGINT,
|
||||
@DATEINAME NVARCHAR(255),
|
||||
@PARENTNAME NVARCHAR(255),
|
||||
@FSFLAGS INT,
|
||||
@WM_LAUFWERKBUCHSTABE CHAR(1)
|
||||
|
||||
SELECT @WM_LAUFWERKBUCHSTABE = WM_LAUFWERKBUCHSTABE FROM TBPMO_KONFIGURATION WHERE GUID = 1
|
||||
|
||||
SELECT @FSFLAGS = dwFSFlags FROM [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID
|
||||
IF @FSFLAGS = 16
|
||||
BEGIN
|
||||
SET @RESULT = 'THIS IS NOT A FILE!'
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM [172.24.12.41\brainpool].windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID
|
||||
WHILE @a > 0
|
||||
BEGIN
|
||||
IF @i = 0
|
||||
BEGIN
|
||||
IF @PARENT_ID = 1
|
||||
BEGIN
|
||||
SET @RESULT = '\'
|
||||
BREAK
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @DOCID = @PARENT_ID
|
||||
SET @RESULT = '\'
|
||||
END
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
IF @PARENT_ID = 1
|
||||
BEGIN
|
||||
SET @RESULT = '\' + @PARENTNAME + @RESULT
|
||||
BREAK
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @DOCID = @PARENT_ID
|
||||
SET @RESULT = '\' + @PARENTNAME + @RESULT
|
||||
END
|
||||
END
|
||||
|
||||
SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM [172.24.12.41\brainpool].windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID
|
||||
SET @i = @i + 1
|
||||
END
|
||||
END
|
||||
|
||||
SET @RESULT = @WM_LAUFWERKBUCHSTABE +':' + @RESULT + @DATEINAME
|
||||
RETURN @RESULT
|
||||
END
|
||||
GO
|
||||
|
||||
CREATE TABLE TBDD_USER_LOGIN_OUT(
|
||||
[GUID] INT IDENTITY(1,1) NOT NULL,
|
||||
[MODULE] VARCHAR(30) NOT NULL,
|
||||
[USER_ID] INT NOT NULL,
|
||||
[CLIENT_ID] INT NOT NULL,
|
||||
[LOGIN] DATETIME DEFAULT (GETDATE()),
|
||||
[LOGOUT] DATETIME,
|
||||
CONSTRAINT [PK_TBDD_USER_LOGIN_OUT] PRIMARY KEY(GUID),
|
||||
CONSTRAINT FK_TBDD_USER_LOGIN_OUT_USER_ID FOREIGN KEY ([USER_ID]) REFERENCES TBDD_USER (GUID))
|
||||
GO
|
||||
|
||||
CREATE TRIGGER TBDD_USER_MODULE_LOG_IN_AFT_INS ON TBDD_USER_MODULE_LOG_IN
|
||||
WITH EXECUTE AS CALLER
|
||||
FOR INSERT
|
||||
AS
|
||||
BEGIN TRY
|
||||
DECLARE
|
||||
@USER_ID INTEGER,
|
||||
@MODULE VARCHAR(50),
|
||||
@CLIENT_ID INTEGER
|
||||
SELECT
|
||||
@USER_ID = USER_ID,
|
||||
@MODULE = MODULE,
|
||||
@CLIENT_ID = CLIENT_ID
|
||||
FROM INSERTED
|
||||
|
||||
INSERT INTO TBDD_USER_LOGIN_OUT (MODULE,USER_ID,CLIENT_ID) VALUES (@MODULE,@USER_ID,@CLIENT_ID)
|
||||
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
|
||||
+ ' - FEHLER-MESSAGE: '
|
||||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||||
END CATCH
|
||||
GO
|
||||
|
||||
CREATE TRIGGER TBDD_USER_MODULE_LOG_IN_AFT_DEL ON TBDD_USER_MODULE_LOG_IN
|
||||
FOR DELETE
|
||||
AS
|
||||
BEGIN TRY
|
||||
DECLARE
|
||||
@USER_ID INTEGER,
|
||||
@MODULE VARCHAR(50),
|
||||
@CLIENT_ID INTEGER
|
||||
SELECT
|
||||
@USER_ID = USER_ID,
|
||||
@MODULE = MODULE,
|
||||
@CLIENT_ID = CLIENT_ID
|
||||
FROM DELETED
|
||||
|
||||
UPDATE TBDD_USER_LOGIN_OUT SET LOGOUT = GETDATE() WHERE GUID = (
|
||||
SELECT MAX(GUID) FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @USER_ID AND MODULE = @MODULE AND CLIENT_ID = @CLIENT_ID)
|
||||
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
||||
+ ' - ERROR-MESSAGE: '
|
||||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||||
END CATCH
|
||||
GO
|
||||
ALTER TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_INS] ON [dbo].[TBPMO_CONSTRUCTOR_USER]
|
||||
WITH EXECUTE AS CALLER
|
||||
FOR INSERT
|
||||
AS
|
||||
BEGIN TRY
|
||||
DECLARE
|
||||
@USER_ID INTEGER,
|
||||
@CONSTRUCT_ID INTEGER,
|
||||
@ADDED_WHO VARCHAR(50)
|
||||
SELECT
|
||||
@CONSTRUCT_ID = CONSTRUCT_ID,
|
||||
@USER_ID = GUID,
|
||||
@ADDED_WHO = ADDED_WHO
|
||||
FROM INSERTED
|
||||
|
||||
DECLARE @ENTITY_ID INTEGER
|
||||
|
||||
DECLARE c_USER CURSOR FOR
|
||||
SELECT
|
||||
FORM_ID FROM
|
||||
VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = 2 AND DOCUMENT_VIEW = 1
|
||||
OPEN c_USER
|
||||
FETCH NEXT FROM c_USER INTO @ENTITY_ID
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES
|
||||
(@USER_ID,@ENTITY_ID,'USER ADDED TO CONSTRUCTOR','TBPMO_CONSTRUCTOR_USER_AFT_INS')
|
||||
INSERT INTO TBPMO_ENTITY_USER_RIGHTS (USER_ID,ENTITY_ID,READ_ONLY,FILES_VISIBLE) VALUES
|
||||
(@USER_ID,@ENTITY_ID,0,1)
|
||||
|
||||
FETCH NEXT FROM c_USER INTO @ENTITY_ID
|
||||
END
|
||||
CLOSE c_USER
|
||||
DEALLOCATE c_USER
|
||||
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE())
|
||||
+ ' - ERROR-MESSAGE: '
|
||||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||||
END CATCH
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_SERVICE_CHECK_USER](@pUSER_ID INT, @pCHECK_WHO VARCHAR(50))
|
||||
AS
|
||||
BEGIN TRY
|
||||
DECLARE
|
||||
@CONSTR_DET_ID INTEGER,
|
||||
@ENTITY_ID INTEGER,
|
||||
@RECORD_ID INTEGER,
|
||||
--@pUSER_ID INTEGER,
|
||||
@RECORD_SELECT nvarchar (max),
|
||||
@RECORD_WHERE AS nvarchar (max),
|
||||
@CREATE_VIEW AS nvarchar (max),
|
||||
@USER_RIGHTADMIN_ID_ECM INTEGER--,
|
||||
--@pCHECK_WHO VARCHAR(50)
|
||||
--SET @pUSER_ID = 2
|
||||
--SET @pCHECK_WHO = 'SchreiberM'
|
||||
|
||||
SELECT @USER_RIGHTADMIN_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE UPPER(USERNAME) = (
|
||||
SELECT UPPER(AD_USER) FROM TBPMO_SERVICE_RIGHT_CONFIG WHERE GUID = 1)
|
||||
DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE USER_ID = @pUSER_ID
|
||||
DECLARE Cursor_constructors CURSOR LOCAL FOR
|
||||
select T1.GUID, T1.FORM_ID from TBPMO_CONSTRUCTOR_USER T,TBPMO_FORM_CONSTRUCTOR_DETAIL T1 where T.USER_ID = @pUSER_ID AND T.CONSTRUCT_ID = T1.CONSTRUCT_ID
|
||||
AND T1.FORM_ID IN (select DISTINCT TR.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD TR WHERE T.RECORD_ID = TR.GUID)
|
||||
--select FORM_ID from TBPMO_CONSTRUCTOR_USER T,TBPMO_FORM_CONSTRUCTOR_DETAIL T1 where T.USER_ID = 1 AND T.CONSTRUCT_ID = T1.GUID
|
||||
OPEN cursor_constructors
|
||||
FETCH NEXT FROM cursor_constructors INTO @CONSTR_DET_ID,@ENTITY_ID
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
BEGIN
|
||||
IF EXISTS(select * FROM sys.views where name = 'VWTEMP_REC_USER')
|
||||
DROP VIEW VWTEMP_REC_USER
|
||||
|
||||
DECLARE
|
||||
@WD_RIGHT AS INTEGER
|
||||
SET @WD_RIGHT = 3
|
||||
IF EXISTS(SELECT GUID FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID)
|
||||
SELECT @WD_RIGHT = RIGHT1 FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID
|
||||
ELSE
|
||||
IF EXISTS(SELECT GUID FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID)
|
||||
BEGIN
|
||||
DECLARE @CONFIG AS INT
|
||||
SELECT @CONFIG = [READ_ONLY] FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID
|
||||
IF @CONFIG = 1
|
||||
BEGIN
|
||||
SET @WD_RIGHT = 1
|
||||
Print 'User shall only read'
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
SET @RECORD_SELECT = N'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(NVARCHAR(3),@ENTITY_ID)
|
||||
IF EXISTS(SELECT SQL_COMMAND FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID AND SQL_COMMAND <> '')
|
||||
BEGIN
|
||||
|
||||
SELECT @RECORD_WHERE = SQL_COMMAND FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID
|
||||
SET @RECORD_WHERE = REPLACE(@RECORD_WHERE,'@USER_ID',@pUSER_ID)
|
||||
SET @RECORD_SELECT = @RECORD_SELECT + ' ' + @RECORD_WHERE
|
||||
END
|
||||
SET @CREATE_VIEW = N'CREATE VIEW VWTEMP_REC_USER AS ' + @RECORD_SELECT
|
||||
--PRINT 'CREATE VIEW: ' + @CREATE_VIEW
|
||||
|
||||
EXEC (@CREATE_VIEW)
|
||||
|
||||
|
||||
DECLARE cursor_Records CURSOR FOR
|
||||
SELECT [Record-ID] FROM VWTEMP_REC_USER
|
||||
--select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID
|
||||
OPEN cursor_Records
|
||||
FETCH NEXT FROM cursor_Records INTO @RECORD_ID
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
DECLARE @DOC_ID AS INTEGER
|
||||
DECLARE cursor_Docs CURSOR FOR
|
||||
SELECT T.DOC_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD TR WHERE
|
||||
T.RECORD_ID = @RECORD_ID
|
||||
AND T.RECORD_ID = TR.GUID AND TR.FORM_ID = @ENTITY_ID AND T.DOC_ID IN (
|
||||
SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE [dwUserOrGroupID] = @USER_RIGHTADMIN_ID_ECM)
|
||||
|
||||
OPEN cursor_Docs
|
||||
FETCH NEXT FROM cursor_Docs INTO @DOC_ID
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
--PRINT 'INSERTING ENT_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) +' - DOC_ID: ' + CONVERT(VARCHAR(10),@DOC_ID) + ' - RIGHT: '+ CONVERT(VARCHAR(10),@WD_RIGHT)
|
||||
INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES
|
||||
(@DOC_ID,@pUSER_ID,'ADD RIGHT', @WD_RIGHT,'USER_RIGHTS_RENEW',@pCHECK_WHO)
|
||||
|
||||
FETCH NEXT FROM cursor_Docs INTO @DOC_ID
|
||||
END
|
||||
CLOSE cursor_Docs
|
||||
DEALLOCATE cursor_Docs
|
||||
|
||||
|
||||
FETCH NEXT FROM cursor_Records INTO @RECORD_ID
|
||||
END
|
||||
CLOSE cursor_Records
|
||||
DEALLOCATE cursor_Records
|
||||
DECLARE @DEL_SQL NVARCHAR(500)
|
||||
SET @DEL_SQL = CONVERT(NVARCHAR(30),N'DROP VIEW VWTEMP_REC_USER')
|
||||
EXEC sp_executesql @DEL_SQL
|
||||
END
|
||||
FETCH NEXT FROM cursor_constructors INTO @CONSTR_DET_ID, @ENTITY_ID
|
||||
END
|
||||
CLOSE cursor_constructors
|
||||
DEALLOCATE cursor_constructors
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE())
|
||||
+ ' - FEHLER-MESSAGE: '
|
||||
+ CONVERT(VARCHAR(500),ERROR_MESSAGE())
|
||||
END CATCH
|
||||
GO
|
||||
CREATE TABLE TBPMO_USER_GLOBAL_SEARCH(
|
||||
[GUID] INT IDENTITY(1,1) NOT NULL,
|
||||
USER_ID INT NOT NULL,
|
||||
COMMENT VARCHAR(500),
|
||||
ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'),
|
||||
ADDED_WHEN DATETIME DEFAULT (GETDATE()),
|
||||
CONSTRAINT [PK_TBPMO_USER_GLOBAL_SEARCH] PRIMARY KEY(GUID),
|
||||
CONSTRAINT FK_TBPMO_USER_GLOBAL_SEARCH_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID))
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user