IDEMPIERE-366 Improve Role Inheritance

This commit is contained in:
Juliana Corredor 2012-09-12 19:23:38 -05:00
parent 308e056b95
commit 7f85ffeaf8
5 changed files with 907 additions and 81 deletions

View File

@ -0,0 +1,368 @@
-- Sep 4, 2012 10:34:50 AM COT
-- Element Master Role
INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('IsMasterRole',200117,'D','MasterRole','MasterRole','4bad6035-f81b-4e25-81d9-bbf55b099113',0,TO_DATE('2012-09-04 10:34:49','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2012-09-04 10:34:49','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Sep 4, 2012 10:34:50 AM COT
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=200117 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID)
;
-- Sep 4, 2012 10:36:19 AM COT
-- Column master Role
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection,DefaultValue) VALUES (0,156,200410,'D','Y','N','N',0,'N',1,'N',20,'N','N',200117,'N','Y','5ec60b3e-f1a7-447c-a7ea-f3575dcb24d4','N','Y','N','IsMasterRole','MasterRole','Y',100,TO_DATE('2012-09-04 10:36:18','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_DATE('2012-09-04 10:36:18','YYYY-MM-DD HH24:MI:SS'),100,0,0,'N')
;
-- Sep 4, 2012 10:36:19 AM COT
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200410 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Sep 4, 2012 10:37:58 AM COT
-- Field Master Role
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',119,1,'N','N',200410,'Y',200411,'N','D','MasterRole','Y','N','b57a3894-98be-44fa-a834-6883c8824d92',100,0,TO_DATE('2012-09-04 10:37:58','YYYY-MM-DD HH24:MI:SS'),0,100,TO_DATE('2012-09-04 10:37:58','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Sep 4, 2012 10:37:58 AM COT
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200411 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Sep 4, 2012 10:38:27 AM COT
-- seq
UPDATE AD_Field SET SeqNo=440,IsDisplayed='Y' WHERE AD_Field_ID=200411
;
-- Sep 4, 2012 10:38:40 AM COT
-- Position web
UPDATE AD_Field SET XPosition=2,Updated=TO_DATE('2012-09-04 10:38:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200411
;
-- Sep 4, 2012 4:12:10 PM COT
-- Validation for just Master Role in included roles
INSERT INTO AD_Val_Rule (Code,AD_Val_Rule_ID,EntityType,Name,Type,AD_Val_Rule_UU,CreatedBy,UpdatedBy,Updated,Created,AD_Client_ID,IsActive,AD_Org_ID) VALUES ('AD_Role.IsMasterRole=''Y''',200006,'D','MasterRoles','S','5d5fa599-0937-4e88-905b-b0814fc7fc84',100,100,TO_DATE('2012-09-04 16:12:08','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2012-09-04 16:12:08','YYYY-MM-DD HH24:MI:SS'),0,'Y',0)
;
-- Sep 4, 2012 4:13:06 PM COT
UPDATE AD_Column SET AD_Val_Rule_ID=200006, IsUpdateable='N',Updated=TO_DATE('2012-09-04 16:13:06','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=57949
;
-- Sep 4, 2012 4:55:32 PM COT
-- Display Logic Window Role
UPDATE AD_Tab SET DisplayLogic='@IsMasterRole@=N',Updated=TO_DATE('2012-09-04 16:55:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=351
;
-- Sep 4, 2012 4:55:40 PM COT
-- Display Logic Window Role
UPDATE AD_Tab SET DisplayLogic='@IsMasterRole@=N',Updated=TO_DATE('2012-09-04 16:55:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=120
;
-- Sep 4, 2012 4:55:53 PM COT
-- Display Logic Window Role
UPDATE AD_Tab SET DisplayLogic='@IsMasterRole@=N',Updated=TO_DATE('2012-09-04 16:55:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53240
;
-- Sep 5, 2012 2:26:43 PM COT
-- Roles are manual for default
UPDATE AD_Column SET DefaultValue='Y',Updated=TO_DATE('2012-09-05 14:26:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=9593
;
-- Sep 11, 2012 6:56:24 PM COT
ALTER TABLE AD_Role ADD IsMasterRole CHAR(1) DEFAULT 'N' CHECK (IsMasterRole IN ('Y','N')) NOT NULL
;
-- Sep 11, 2012 6:56:46 PM COT
ALTER TABLE AD_Role MODIFY IsManual CHAR(1) DEFAULT 'Y'
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=200411
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=930
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=100,IsDisplayed='Y' WHERE AD_Field_ID=931
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=110,IsDisplayed='Y' WHERE AD_Field_ID=59592
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=120,IsDisplayed='Y' WHERE AD_Field_ID=59591
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=130,IsDisplayed='Y' WHERE AD_Field_ID=10126
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=140,IsDisplayed='Y' WHERE AD_Field_ID=52018
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=8740
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=5227
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=11006
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=180,IsDisplayed='Y' WHERE AD_Field_ID=11003
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=190,IsDisplayed='Y' WHERE AD_Field_ID=11002
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=200,IsDisplayed='Y' WHERE AD_Field_ID=8311
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=210,IsDisplayed='Y' WHERE AD_Field_ID=10813
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=220,IsDisplayed='Y' WHERE AD_Field_ID=11256
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=230,IsDisplayed='Y' WHERE AD_Field_ID=11257
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=240,IsDisplayed='Y' WHERE AD_Field_ID=8313
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=250,IsDisplayed='Y' WHERE AD_Field_ID=8314
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=260,IsDisplayed='Y' WHERE AD_Field_ID=8312
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=270,IsDisplayed='Y' WHERE AD_Field_ID=8310
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=280,IsDisplayed='Y' WHERE AD_Field_ID=12367
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=290,IsDisplayed='Y' WHERE AD_Field_ID=12368
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=300,IsDisplayed='Y' WHERE AD_Field_ID=12641
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=310,IsDisplayed='Y' WHERE AD_Field_ID=200071
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=320,IsDisplayed='Y' WHERE AD_Field_ID=50168
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=330,IsDisplayed='Y' WHERE AD_Field_ID=50169
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=340,IsDisplayed='Y' WHERE AD_Field_ID=50170
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=350,IsDisplayed='Y' WHERE AD_Field_ID=50171
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=360,IsDisplayed='Y' WHERE AD_Field_ID=50172
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=370,IsDisplayed='Y' WHERE AD_Field_ID=50173
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=380,IsDisplayed='Y' WHERE AD_Field_ID=50174
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=390,IsDisplayed='Y' WHERE AD_Field_ID=50175
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=400,IsDisplayed='Y' WHERE AD_Field_ID=50176
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=410,IsDisplayed='Y' WHERE AD_Field_ID=50177
;
-- Sep 11, 2012 8:39:23 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=420,IsDisplayed='Y' WHERE AD_Field_ID=50178
;
-- Sep 11, 2012 8:39:23 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=430,IsDisplayed='Y' WHERE AD_Field_ID=55432
;
-- Sep 11, 2012 8:39:23 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=440,IsDisplayed='Y' WHERE AD_Field_ID=55433
;
-- Sep 11, 2012 8:43:59 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Element SET Name='Master Role', Description='A master role cannot be assigned to users, it is intended to define access to menu option and documents and inherit to other roles', PrintName='Master Role',Updated=TO_DATE('2012-09-11 20:43:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=200117
;
-- Sep 11, 2012 8:43:59 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Element_Trl SET IsTranslated='N' WHERE AD_Element_ID=200117
;
-- Sep 11, 2012 8:43:59 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Column SET ColumnName='IsMasterRole', Name='Master Role', Description='A master role cannot be assigned to users, it is intended to define access to menu option and documents and inherit to other roles', Help=NULL WHERE AD_Element_ID=200117
;
-- Sep 11, 2012 8:43:59 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Process_Para SET ColumnName='IsMasterRole', Name='Master Role', Description='A master role cannot be assigned to users, it is intended to define access to menu option and documents and inherit to other roles', Help=NULL, AD_Element_ID=200117 WHERE UPPER(ColumnName)='ISMASTERROLE' AND IsCentrallyMaintained='Y' AND AD_Element_ID IS NULL
;
-- Sep 11, 2012 8:43:59 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Process_Para SET ColumnName='IsMasterRole', Name='Master Role', Description='A master role cannot be assigned to users, it is intended to define access to menu option and documents and inherit to other roles', Help=NULL WHERE AD_Element_ID=200117 AND IsCentrallyMaintained='Y'
;
-- Sep 11, 2012 8:43:59 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET Name='Master Role', Description='A master role cannot be assigned to users, it is intended to define access to menu option and documents and inherit to other roles', Help=NULL WHERE AD_Column_ID IN (SELECT AD_Column_ID FROM AD_Column WHERE AD_Element_ID=200117) AND IsCentrallyMaintained='Y'
;
-- Sep 11, 2012 8:43:59 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_PrintFormatItem pi SET PrintName='Master Role', Name='Master Role' WHERE IsCentrallyMaintained='Y' AND EXISTS (SELECT * FROM AD_Column c WHERE c.AD_Column_ID=pi.AD_Column_ID AND c.AD_Element_ID=200117)
;
-- Sep 11, 2012 10:48:11 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType=''GLJ'' AND AD_Client_ID=@AD_Client_ID@',Updated=TO_DATE('2012-09-11 22:48:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=102
;
-- Sep 12, 2012 11:38:13 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType IN (''ARI'', ''API'',''ARC'',''APC'') AND C_DocType.IsSOTrx=''@IsSOTrx@'' AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_DATE('2012-09-12 11:38:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=124
;
-- Sep 12, 2012 11:40:18 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType=''GLD'' AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_DATE('2012-09-12 11:40:18','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=121
;
-- Sep 12, 2012 11:41:16 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType IN (''ARI'', ''API'',''ARC'',''APC'') AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_DATE('2012-09-12 11:41:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=173
;
-- Sep 12, 2012 11:41:30 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType=''MMI'' AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_DATE('2012-09-12 11:41:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=209
;
-- Sep 12, 2012 11:41:39 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType IN (''MMR'') AND IsSOTrx=''N'' AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_DATE('2012-09-12 11:41:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=52054
;
-- Sep 12, 2012 11:41:55 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType IN (''MMR'', ''MMS'') AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_DATE('2012-09-12 11:41:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=125
;
-- Sep 12, 2012 11:42:02 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType=''MMM'' AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_DATE('2012-09-12 11:42:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=201
;
-- Sep 12, 2012 11:42:08 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType=''DOO'' AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_DATE('2012-09-12 11:42:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=52004
;
-- Sep 12, 2012 11:42:16 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType IN (''SOO'', ''POO'') AND C_DocType.DocSubTypeSO=''RM'' AND C_DocType.AD_Client_ID=@#AD_Client_ID@ AND IsSOTrx=''N'' AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_DATE('2012-09-12 11:42:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=52066
;
-- Sep 12, 2012 6:20:08 PM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType=''MMI'' AND AD_Client_ID=@AD_Client_ID@',Updated=TO_DATE('2012-09-12 18:20:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=209
;
-- Sep 12, 2012 6:28:44 PM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType IN (''ARR'', ''APP'') AND AD_Client_ID=@AD_Client_ID@',Updated=TO_DATE('2012-09-12 18:28:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=149
;
UPDATE AD_System
SET LastMigrationScriptApplied='899_IDEMPIERE_366.sql'
WHERE LastMigrationScriptApplied<'899_IDEMPIERE_366.sql'
OR LastMigrationScriptApplied IS NULL
;

View File

@ -0,0 +1,365 @@
-- Sep 4, 2012 10:34:50 AM COT
-- Element Master Role
INSERT INTO AD_Element (ColumnName,AD_Element_ID,EntityType,Name,PrintName,AD_Element_UU,AD_Client_ID,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive) VALUES ('IsMasterRole',200117,'D','MasterRole','MasterRole','4bad6035-f81b-4e25-81d9-bbf55b099113',0,TO_TIMESTAMP('2012-09-04 10:34:49','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2012-09-04 10:34:49','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y')
;
-- Sep 4, 2012 10:34:50 AM COT
INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=200117 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID)
;
-- Sep 4, 2012 10:36:19 AM COT
-- Column master Role
INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,EntityType,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsSyncDatabase,IsKey,AD_Element_ID,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsEncrypted,IsUpdateable,IsAlwaysUpdateable,ColumnName,Name,IsAllowCopy,CreatedBy,Updated,AD_Org_ID,IsActive,Created,UpdatedBy,AD_Client_ID,SeqNoSelection,DefaultValue) VALUES (0,156,200410,'D','Y','N','N',0,'N',1,'N',20,'N','N',200117,'N','Y','5ec60b3e-f1a7-447c-a7ea-f3575dcb24d4','N','Y','N','IsMasterRole','MasterRole','Y',100,TO_TIMESTAMP('2012-09-04 10:36:18','YYYY-MM-DD HH24:MI:SS'),0,'Y',TO_TIMESTAMP('2012-09-04 10:36:18','YYYY-MM-DD HH24:MI:SS'),100,0,0,'N')
;
-- Sep 4, 2012 10:36:19 AM COT
INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=200410 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID)
;
-- Sep 4, 2012 10:37:58 AM COT
-- Field Master Role
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,AD_Client_ID,CreatedBy,Updated,IsActive) VALUES ('N',119,1,'N','N',200410,'Y',200411,'N','D','MasterRole','Y','N','b57a3894-98be-44fa-a834-6883c8824d92',100,0,TO_TIMESTAMP('2012-09-04 10:37:58','YYYY-MM-DD HH24:MI:SS'),0,100,TO_TIMESTAMP('2012-09-04 10:37:58','YYYY-MM-DD HH24:MI:SS'),'Y')
;
-- Sep 4, 2012 10:37:58 AM COT
INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=200411 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID)
;
-- Sep 4, 2012 10:38:27 AM COT
-- seq
UPDATE AD_Field SET SeqNo=440,IsDisplayed='Y' WHERE AD_Field_ID=200411
;
-- Sep 4, 2012 10:38:40 AM COT
-- Position web
UPDATE AD_Field SET XPosition=2,Updated=TO_TIMESTAMP('2012-09-04 10:38:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200411
;
-- Sep 4, 2012 4:12:10 PM COT
-- Validation for just Master Role in included roles
INSERT INTO AD_Val_Rule (Code,AD_Val_Rule_ID,EntityType,Name,Type,AD_Val_Rule_UU,CreatedBy,UpdatedBy,Updated,Created,AD_Client_ID,IsActive,AD_Org_ID) VALUES ('AD_Role.IsMasterRole=''Y''',200006,'D','MasterRoles','S','5d5fa599-0937-4e88-905b-b0814fc7fc84',100,100,TO_TIMESTAMP('2012-09-04 16:12:08','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2012-09-04 16:12:08','YYYY-MM-DD HH24:MI:SS'),0,'Y',0)
;
-- Sep 4, 2012 4:13:06 PM COT
UPDATE AD_Column SET AD_Val_Rule_ID=200006, IsUpdateable='N',Updated=TO_TIMESTAMP('2012-09-04 16:13:06','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=57949
;
-- Sep 4, 2012 4:55:32 PM COT
-- Display Logic Window Role
UPDATE AD_Tab SET DisplayLogic='@IsMasterRole@=N',Updated=TO_TIMESTAMP('2012-09-04 16:55:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=351
;
-- Sep 4, 2012 4:55:40 PM COT
-- Display Logic Window Role
UPDATE AD_Tab SET DisplayLogic='@IsMasterRole@=N',Updated=TO_TIMESTAMP('2012-09-04 16:55:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=120
;
-- Sep 4, 2012 4:55:53 PM COT
-- Display Logic Window Role
UPDATE AD_Tab SET DisplayLogic='@IsMasterRole@=N',Updated=TO_TIMESTAMP('2012-09-04 16:55:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53240
;
-- Sep 5, 2012 2:26:43 PM COT
-- Roles are manual for default
UPDATE AD_Column SET DefaultValue='Y',Updated=TO_TIMESTAMP('2012-09-05 14:26:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=9593
;
-- Sep 11, 2012 6:56:24 PM COT
ALTER TABLE AD_Role ADD COLUMN IsMasterRole CHAR(1) DEFAULT 'N' CHECK (IsMasterRole IN ('Y','N')) NOT NULL
;
-- Sep 11, 2012 6:56:46 PM COT
INSERT INTO t_alter_column values('ad_role','IsManual','CHAR(1)','not null','Y')
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=200411
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=930
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=100,IsDisplayed='Y' WHERE AD_Field_ID=931
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=110,IsDisplayed='Y' WHERE AD_Field_ID=59592
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=120,IsDisplayed='Y' WHERE AD_Field_ID=59591
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=130,IsDisplayed='Y' WHERE AD_Field_ID=10126
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=140,IsDisplayed='Y' WHERE AD_Field_ID=52018
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=8740
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=5227
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=11006
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=180,IsDisplayed='Y' WHERE AD_Field_ID=11003
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=190,IsDisplayed='Y' WHERE AD_Field_ID=11002
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=200,IsDisplayed='Y' WHERE AD_Field_ID=8311
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=210,IsDisplayed='Y' WHERE AD_Field_ID=10813
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=220,IsDisplayed='Y' WHERE AD_Field_ID=11256
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=230,IsDisplayed='Y' WHERE AD_Field_ID=11257
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=240,IsDisplayed='Y' WHERE AD_Field_ID=8313
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=250,IsDisplayed='Y' WHERE AD_Field_ID=8314
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=260,IsDisplayed='Y' WHERE AD_Field_ID=8312
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=270,IsDisplayed='Y' WHERE AD_Field_ID=8310
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=280,IsDisplayed='Y' WHERE AD_Field_ID=12367
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=290,IsDisplayed='Y' WHERE AD_Field_ID=12368
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=300,IsDisplayed='Y' WHERE AD_Field_ID=12641
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=310,IsDisplayed='Y' WHERE AD_Field_ID=200071
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=320,IsDisplayed='Y' WHERE AD_Field_ID=50168
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=330,IsDisplayed='Y' WHERE AD_Field_ID=50169
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=340,IsDisplayed='Y' WHERE AD_Field_ID=50170
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=350,IsDisplayed='Y' WHERE AD_Field_ID=50171
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=360,IsDisplayed='Y' WHERE AD_Field_ID=50172
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=370,IsDisplayed='Y' WHERE AD_Field_ID=50173
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=380,IsDisplayed='Y' WHERE AD_Field_ID=50174
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=390,IsDisplayed='Y' WHERE AD_Field_ID=50175
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=400,IsDisplayed='Y' WHERE AD_Field_ID=50176
;
-- Sep 11, 2012 8:39:22 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=410,IsDisplayed='Y' WHERE AD_Field_ID=50177
;
-- Sep 11, 2012 8:39:23 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=420,IsDisplayed='Y' WHERE AD_Field_ID=50178
;
-- Sep 11, 2012 8:39:23 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=430,IsDisplayed='Y' WHERE AD_Field_ID=55432
;
-- Sep 11, 2012 8:39:23 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET SeqNo=440,IsDisplayed='Y' WHERE AD_Field_ID=55433
;
-- Sep 11, 2012 8:43:59 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Element SET Name='Master Role', Description='A master role cannot be assigned to users, it is intended to define access to menu option and documents and inherit to other roles', PrintName='Master Role',Updated=TO_TIMESTAMP('2012-09-11 20:43:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=200117
;
-- Sep 11, 2012 8:43:59 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Element_Trl SET IsTranslated='N' WHERE AD_Element_ID=200117
;
-- Sep 11, 2012 8:43:59 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Column SET ColumnName='IsMasterRole', Name='Master Role', Description='A master role cannot be assigned to users, it is intended to define access to menu option and documents and inherit to other roles', Help=NULL WHERE AD_Element_ID=200117
;
-- Sep 11, 2012 8:43:59 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Process_Para SET ColumnName='IsMasterRole', Name='Master Role', Description='A master role cannot be assigned to users, it is intended to define access to menu option and documents and inherit to other roles', Help=NULL, AD_Element_ID=200117 WHERE UPPER(ColumnName)='ISMASTERROLE' AND IsCentrallyMaintained='Y' AND AD_Element_ID IS NULL
;
-- Sep 11, 2012 8:43:59 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Process_Para SET ColumnName='IsMasterRole', Name='Master Role', Description='A master role cannot be assigned to users, it is intended to define access to menu option and documents and inherit to other roles', Help=NULL WHERE AD_Element_ID=200117 AND IsCentrallyMaintained='Y'
;
-- Sep 11, 2012 8:43:59 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Field SET Name='Master Role', Description='A master role cannot be assigned to users, it is intended to define access to menu option and documents and inherit to other roles', Help=NULL WHERE AD_Column_ID IN (SELECT AD_Column_ID FROM AD_Column WHERE AD_Element_ID=200117) AND IsCentrallyMaintained='Y'
;
-- Sep 11, 2012 8:43:59 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_PrintFormatItem SET PrintName='Master Role', Name='Master Role' WHERE IsCentrallyMaintained='Y' AND EXISTS (SELECT * FROM AD_Column c WHERE c.AD_Column_ID=AD_PrintFormatItem.AD_Column_ID AND c.AD_Element_ID=200117)
;
-- Sep 11, 2012 10:48:11 PM COT
-- IDEMPIERE-366 Improve Role Inheritance
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType=''GLJ'' AND AD_Client_ID=@AD_Client_ID@',Updated=TO_TIMESTAMP('2012-09-11 22:48:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=102
;
-- Sep 12, 2012 11:38:13 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType IN (''ARI'', ''API'',''ARC'',''APC'') AND C_DocType.IsSOTrx=''@IsSOTrx@'' AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_TIMESTAMP('2012-09-12 11:38:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=124
;
-- Sep 12, 2012 11:40:18 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType=''GLD'' AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_TIMESTAMP('2012-09-12 11:40:18','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=121
;
-- Sep 12, 2012 11:41:16 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType IN (''ARI'', ''API'',''ARC'',''APC'') AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_TIMESTAMP('2012-09-12 11:41:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=173
;
-- Sep 12, 2012 11:41:30 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType=''MMI'' AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_TIMESTAMP('2012-09-12 11:41:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=209
;
-- Sep 12, 2012 11:41:39 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType IN (''MMR'') AND IsSOTrx=''N'' AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_TIMESTAMP('2012-09-12 11:41:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=52054
;
-- Sep 12, 2012 11:41:55 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType IN (''MMR'', ''MMS'') AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_TIMESTAMP('2012-09-12 11:41:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=125
;
-- Sep 12, 2012 11:42:02 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType=''MMM'' AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_TIMESTAMP('2012-09-12 11:42:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=201
;
-- Sep 12, 2012 11:42:08 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType=''DOO'' AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_TIMESTAMP('2012-09-12 11:42:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=52004
;
-- Sep 12, 2012 11:42:16 AM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType IN (''SOO'', ''POO'') AND C_DocType.DocSubTypeSO=''RM'' AND C_DocType.AD_Client_ID=@#AD_Client_ID@ AND IsSOTrx=''N'' AND AD_Client_ID=@AD_Client_ID@''',Updated=TO_TIMESTAMP('2012-09-12 11:42:16','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=52066
;
-- Sep 12, 2012 6:20:08 PM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType=''MMI'' AND AD_Client_ID=@AD_Client_ID@',Updated=TO_TIMESTAMP('2012-09-12 18:20:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=209
;
-- Sep 12, 2012 6:28:44 PM COT
-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator
UPDATE AD_Val_Rule SET Code='C_DocType.DocBaseType IN (''ARR'', ''APP'') AND AD_Client_ID=@AD_Client_ID@',Updated=TO_TIMESTAMP('2012-09-12 18:28:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Val_Rule_ID=149
;
UPDATE AD_System
SET LastMigrationScriptApplied='899_IDEMPIERE_366.sql'
WHERE LastMigrationScriptApplied<'899_IDEMPIERE_366.sql'
OR LastMigrationScriptApplied IS NULL
;

View File

@ -16,6 +16,9 @@
*****************************************************************************/
package org.compiere.model;
import static org.compiere.model.SystemIDs.USER_SUPERUSER;
import static org.compiere.model.SystemIDs.USER_SYSTEM;
import java.io.Serializable;
import java.lang.reflect.Array;
import java.sql.PreparedStatement;
@ -27,10 +30,10 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map.Entry;
import java.util.Properties;
import java.util.Set;
import java.util.Vector;
import java.util.Map.Entry;
import java.util.logging.Level;
import org.adempiere.exceptions.AdempiereException;
@ -42,7 +45,6 @@ import org.compiere.util.Ini;
import org.compiere.util.KeyNamePair;
import org.compiere.util.Msg;
import org.compiere.util.Trace;
import static org.compiere.model.SystemIDs.*;
/**
* Role Model.
@ -60,7 +62,7 @@ public final class MRole extends X_AD_Role
/**
*
*/
private static final long serialVersionUID = 3684323160980498188L;
private static final long serialVersionUID = 2716871587637082891L;
/**
* Get Default (Client) Role
@ -1467,7 +1469,9 @@ public final class MRole extends X_AD_Role
if (m_windowAccess == null)
{
m_windowAccess = new HashMap<Integer,Boolean>(100);
// first get the window access from the included and substitute roles
mergeIncludedAccess("m_windowAccess"); // Load included accesses - metas-2009_0021_AP1_G94
// and now get the window access directly from this role
MClient client = MClient.get(getCtx(), getAD_Client_ID());
String ASPFilter = "";
if (client.isUseASP())
@ -1504,16 +1508,26 @@ public final class MRole extends X_AD_Role
+ " AND ce.AD_Tab_ID IS NULL "
+ " AND ce.AD_Field_ID IS NULL "
+ " AND ce.ASP_Status = 'H')"; // Hide
String sql = "SELECT AD_Window_ID, IsReadWrite FROM AD_Window_Access WHERE AD_Role_ID=? AND IsActive='Y'" + ASPFilter;
String sql = "SELECT AD_Window_ID, IsReadWrite, IsActive FROM AD_Window_Access WHERE AD_Role_ID=?" + ASPFilter;
PreparedStatement pstmt = null;
ResultSet rs = null;
HashMap<Integer,Boolean> directAccess = new HashMap<Integer,Boolean>(100);
try
{
pstmt = DB.prepareStatement(sql, get_TrxName());
pstmt.setInt(1, getAD_Role_ID());
rs = pstmt.executeQuery();
while (rs.next())
m_windowAccess.put(new Integer(rs.getInt(1)), new Boolean("Y".equals(rs.getString(2))));
while (rs.next()) {
Integer winId = new Integer(rs.getInt(1));
if ("N".equals(rs.getString(3))) {
// inactive window on direct access
if (m_windowAccess.containsKey(winId)) {
m_windowAccess.remove(winId);
}
} else {
directAccess.put(winId, new Boolean("Y".equals(rs.getString(2))));
}
}
}
catch (Exception e)
{
@ -1524,23 +1538,11 @@ public final class MRole extends X_AD_Role
DB.close(rs, pstmt);
}
//
setAccessMap("m_windowAccess", mergeAccess(getAccessMap("m_windowAccess"), directAccess, true));
log.fine("#" + m_windowAccess.size());
mergeIncludedAccess("m_windowAccess"); // Load included accesses - metas-2009_0021_AP1_G94
} // reload
Boolean retValue = m_windowAccess.get(AD_Window_ID);
//
// Check included roles - metas-2009_0021_AP1_G94
if (retValue == null)
{
for (MRole includedRole : getIncludedRoles(false))
{
retValue = includedRole.getWindowAccess(AD_Window_ID);
if (retValue != null)
break;
}
}
//
// log.fine("getWindowAccess - AD_Window_ID=" + AD_Window_ID + " - " + retValue);
log.fine("getWindowAccess - AD_Window_ID=" + AD_Window_ID + " - " + retValue);
return retValue;
} // getWindowAccess
@ -1554,7 +1556,9 @@ public final class MRole extends X_AD_Role
if (m_processAccess == null)
{
m_processAccess = new HashMap<Integer,Boolean>(50);
// first get the process access from the included and substitute roles
mergeIncludedAccess("m_processAccess"); // Load included accesses - metas-2009_0021_AP1_G94
// and now get the process access directly from this role
MClient client = MClient.get(getCtx(), getAD_Client_ID());
String ASPFilter = "";
if (client.isUseASP())
@ -1589,16 +1593,26 @@ public final class MRole extends X_AD_Role
+ " AND ce.AD_Process_ID IS NOT NULL "
+ " AND ce.AD_Process_Para_ID IS NULL "
+ " AND ce.ASP_Status = 'H')"; // Hide
String sql = "SELECT AD_Process_ID, IsReadWrite FROM AD_Process_Access WHERE AD_Role_ID=? AND IsActive='Y'" + ASPFilter;
String sql = "SELECT AD_Process_ID, IsReadWrite, IsActive FROM AD_Process_Access WHERE AD_Role_ID=?" + ASPFilter;
PreparedStatement pstmt = null;
ResultSet rs = null;
HashMap<Integer,Boolean> directAccess = new HashMap<Integer,Boolean>(100);
try
{
pstmt = DB.prepareStatement(sql, get_TrxName());
pstmt.setInt(1, getAD_Role_ID());
rs = pstmt.executeQuery();
while (rs.next())
m_processAccess.put(new Integer(rs.getInt(1)), new Boolean("Y".equals(rs.getString(2))));
while (rs.next()) {
Integer procId = new Integer(rs.getInt(1));
if ("N".equals(rs.getString(3))) {
// inactive process on direct access
if (m_processAccess.containsKey(procId)) {
m_processAccess.remove(procId);
}
} else {
directAccess.put(procId, new Boolean("Y".equals(rs.getString(2))));
}
}
}
catch (Exception e)
{
@ -1608,7 +1622,7 @@ public final class MRole extends X_AD_Role
{
DB.close(rs, pstmt);
}
mergeIncludedAccess("m_processAccess"); // Load included accesses - metas-2009_0021_AP1_G94
setAccessMap("m_processAccess", mergeAccess(getAccessMap("m_processAccess"), directAccess, true));
} // reload
Boolean retValue = m_processAccess.get(AD_Process_ID);
return retValue;
@ -1624,6 +1638,9 @@ public final class MRole extends X_AD_Role
if (m_taskAccess == null)
{
m_taskAccess = new HashMap<Integer,Boolean>(10);
// first get the task access from the included and substitute roles
mergeIncludedAccess("m_taskAccess"); // Load included accesses - metas-2009_0021_AP1_G94
// and now get the task access directly from this role
MClient client = MClient.get(getCtx(), getAD_Client_ID());
String ASPFilter = "";
if (client.isUseASP())
@ -1656,16 +1673,26 @@ public final class MRole extends X_AD_Role
+ " AND ce.IsActive = 'Y' "
+ " AND ce.AD_Task_ID IS NOT NULL "
+ " AND ce.ASP_Status = 'H')"; // Hide
String sql = "SELECT AD_Task_ID, IsReadWrite FROM AD_Task_Access WHERE AD_Role_ID=? AND IsActive='Y'" + ASPFilter;
String sql = "SELECT AD_Task_ID, IsReadWrite, IsActive FROM AD_Task_Access WHERE AD_Role_ID=?" + ASPFilter;
PreparedStatement pstmt = null;
ResultSet rs = null;
HashMap<Integer,Boolean> directAccess = new HashMap<Integer,Boolean>(100);
try
{
pstmt = DB.prepareStatement(sql, get_TrxName());
pstmt.setInt(1, getAD_Role_ID());
rs = pstmt.executeQuery();
while (rs.next())
m_taskAccess.put(new Integer(rs.getInt(1)), new Boolean("Y".equals(rs.getString(2))));
while (rs.next()) {
Integer taskId = new Integer(rs.getInt(1));
if ("N".equals(rs.getString(3))) {
// inactive task on direct access
if (m_taskAccess.containsKey(taskId)) {
m_taskAccess.remove(taskId);
}
} else {
directAccess.put(taskId, new Boolean("Y".equals(rs.getString(2))));
}
}
}
catch (Exception e)
{
@ -1675,7 +1702,7 @@ public final class MRole extends X_AD_Role
{
DB.close(rs, pstmt);
}
mergeIncludedAccess("m_taskAccess"); // Load included accesses - metas-2009_0021_AP1_G94
setAccessMap("m_taskAccess", mergeAccess(getAccessMap("m_taskAccess"), directAccess, true));
} // reload
Boolean retValue = m_taskAccess.get(AD_Task_ID);
return retValue;
@ -1691,7 +1718,9 @@ public final class MRole extends X_AD_Role
if (m_formAccess == null)
{
m_formAccess = new HashMap<Integer,Boolean>(20);
// first get the form access from the included and substitute roles
mergeIncludedAccess("m_formAccess"); // Load included accesses - metas-2009_0021_AP1_G94
// and now get the form access directly from this role
MClient client = MClient.get(getCtx(), getAD_Client_ID());
String ASPFilter = "";
if (client.isUseASP())
@ -1724,16 +1753,26 @@ public final class MRole extends X_AD_Role
+ " AND ce.IsActive = 'Y' "
+ " AND ce.AD_Form_ID IS NOT NULL "
+ " AND ce.ASP_Status = 'H')"; // Hide
String sql = "SELECT AD_Form_ID, IsReadWrite FROM AD_Form_Access WHERE AD_Role_ID=? AND IsActive='Y'" + ASPFilter;
String sql = "SELECT AD_Form_ID, IsReadWrite, IsActive FROM AD_Form_Access WHERE AD_Role_ID=?" + ASPFilter;
PreparedStatement pstmt = null;
ResultSet rs = null;
HashMap<Integer,Boolean> directAccess = new HashMap<Integer,Boolean>(100);
try
{
pstmt = DB.prepareStatement(sql, get_TrxName());
pstmt.setInt(1, getAD_Role_ID());
rs = pstmt.executeQuery();
while (rs.next())
m_formAccess.put(new Integer(rs.getInt(1)), new Boolean("Y".equals(rs.getString(2))));
while (rs.next()) {
Integer formId = new Integer(rs.getInt(1));
if ("N".equals(rs.getString(3))) {
// inactive form on direct access
if (m_formAccess.containsKey(formId)) {
m_formAccess.remove(formId);
}
} else {
directAccess.put(formId, new Boolean("Y".equals(rs.getString(2))));
}
}
}
catch (Exception e)
{
@ -1743,23 +1782,11 @@ public final class MRole extends X_AD_Role
{
DB.close(rs, pstmt);
}
mergeIncludedAccess("m_formAccess"); // Load included accesses - metas-2009_0021_AP1_G94
setAccessMap("m_formAccess", mergeAccess(getAccessMap("m_formAccess"), directAccess, true));
} // reload
Boolean retValue = m_formAccess.get(AD_Form_ID);
//
// Check included roles - metas-2009_0021_AP1_G94
if (retValue == null)
{
for (MRole includedRole : getIncludedRoles(false))
{
retValue = includedRole.getFormAccess(AD_Form_ID);
if (retValue != null)
break;
}
}
//
return retValue;
} // getTaskAccess
} // getFormAccess
/**
* Get Workflow Access
@ -1771,6 +1798,9 @@ public final class MRole extends X_AD_Role
if (m_workflowAccess == null)
{
m_workflowAccess = new HashMap<Integer,Boolean>(20);
// first get the workflow access from the included and substitute roles
mergeIncludedAccess("m_workflowAccess"); // Load included accesses - metas-2009_0021_AP1_G94
// and now get the workflow access directly from this role
MClient client = MClient.get(getCtx(), getAD_Client_ID());
String ASPFilter = "";
if (client.isUseASP())
@ -1803,16 +1833,26 @@ public final class MRole extends X_AD_Role
+ " AND ce.IsActive = 'Y' "
+ " AND ce.AD_Workflow_ID IS NOT NULL "
+ " AND ce.ASP_Status = 'H')"; // Hide
String sql = "SELECT AD_Workflow_ID, IsReadWrite FROM AD_Workflow_Access WHERE AD_Role_ID=? AND IsActive='Y'" + ASPFilter;
String sql = "SELECT AD_Workflow_ID, IsReadWrite, IsActive FROM AD_Workflow_Access WHERE AD_Role_ID=?" + ASPFilter;
PreparedStatement pstmt = null;
ResultSet rs = null;
HashMap<Integer,Boolean> directAccess = new HashMap<Integer,Boolean>(100);
try
{
pstmt = DB.prepareStatement(sql, get_TrxName());
pstmt.setInt(1, getAD_Role_ID());
rs = pstmt.executeQuery();
while (rs.next())
m_workflowAccess.put(new Integer(rs.getInt(1)), new Boolean("Y".equals(rs.getString(2))));
while (rs.next()) {
Integer formId = new Integer(rs.getInt(1));
if ("N".equals(rs.getString(3))) {
// inactive workflow on direct access
if (m_workflowAccess.containsKey(formId)) {
m_workflowAccess.remove(formId);
}
} else {
directAccess.put(formId, new Boolean("Y".equals(rs.getString(2))));
}
}
}
catch (Exception e)
{
@ -1822,7 +1862,7 @@ public final class MRole extends X_AD_Role
{
DB.close(rs, pstmt);
}
mergeIncludedAccess("m_workflowAccess"); // Load included accesses - metas-2009_0021_AP1_G94
setAccessMap("m_workflowAccess", mergeAccess(getAccessMap("m_workflowAccess"), directAccess, true));
} // reload
Boolean retValue = m_workflowAccess.get(AD_Workflow_ID);
return retValue;
@ -2449,8 +2489,8 @@ public final class MRole extends X_AD_Role
* @return number of valid actions in the String[] options
* @see metas-2009_0021_AP1_G94
*/
public int checkActionAccess(int clientId, int docTypeId, String[] options, int maxIndex)
{
public int checkActionAccess(int clientId, int docTypeId, String[] options,
int maxIndex) {
if (maxIndex <= 0)
return maxIndex;
//
@ -2460,45 +2500,96 @@ public final class MRole extends X_AD_Role
params.add(docTypeId);
//
final StringBuffer sql_values = new StringBuffer();
for (int i = 0; i < maxIndex; i++)
{
for (int i = 0; i < maxIndex; i++) {
if (sql_values.length() > 0)
sql_values.append(",");
sql_values.append("?");
params.add(options[i]);
}
//
final String sql = "SELECT DISTINCT rl.Value FROM AD_Document_Action_Access a"
+ " INNER JOIN AD_Ref_List rl ON (rl.AD_Reference_ID=135 and rl.AD_Ref_List_ID=a.AD_Ref_List_ID)"
+ " WHERE a.IsActive='Y' AND a.AD_Client_ID=? AND a.C_DocType_ID=?" // #1,2
+ " AND rl.Value IN ("+sql_values+")"
+ " AND "+getIncludedRolesWhereClause("a.AD_Role_ID", params)
;
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
PreparedStatement pstmt1 = null;
ResultSet rs1 = null;
String sql=null;
List<MRole> roles = getIncludedRoles(true);
try {
if (roles.size() > 0) {
MDocType doc = new MDocType(getCtx(), docTypeId, get_TrxName());
Vector<String> option = new Vector<String>();
for (int j = 0; j < options.length; j++) {
if (options[j] != null)
option.add(options[j]);
}
String sql1 = "SELECT rl.Value"
+ " FROM AD_Document_Action_Access da1"
+ " INNER JOIN AD_Ref_List rl ON (rl.AD_Reference_ID=135 and rl.AD_Ref_List_ID=da1.AD_Ref_List_ID)"
+ " INNER JOIN AD_Role_Included ri ON (da1.AD_Role_ID=ri.Included_Role_ID)"
+ " INNER JOIN AD_Role ro ON (ri.AD_Role_ID=ro.AD_Role_ID)"
+ " INNER JOIN C_Doctype ty ON (da1.C_Doctype_ID=ty.C_Doctype_ID)"
+ " WHERE ro.AD_Role_ID=?"
+ " AND ty.DocBaseType IN (?)"
+ " AND da1.IsActive='Y'";
pstmt1 = DB.prepareStatement(sql1, get_TrxName());
pstmt1.setInt(1, getAD_Role_ID());
pstmt1.setString(2, doc.getDocBaseType());
s_log.info(sql1 + " : " + getAD_Role_ID() + " "
+ doc.getDocBaseType());
rs1 = pstmt1.executeQuery();
while (rs1.next() && rs1 != null) {
String op = rs1.getString(1);
if (option.contains(op)) {
validOptions.add(op);
}
}
}
sql = "SELECT DISTINCT rl.Value, a.IsActive FROM AD_Document_Action_Access a"
+ " INNER JOIN AD_Ref_List rl ON (rl.AD_Reference_ID=135 and rl.AD_Ref_List_ID=a.AD_Ref_List_ID)"
+ " WHERE a.AD_Client_ID=? AND a.C_DocType_ID=?" // #1,2
+ " AND rl.Value IN ("
+ sql_values
+ ")"
+ " AND "
+ getIncludedRolesWhereClause("a.AD_Role_ID", params);
pstmt = DB.prepareStatement(sql, null);
DB.setParameters(pstmt, params);
s_log.info(sql + " : " );
rs = pstmt.executeQuery();
while (rs.next())
{
while (rs.next()) {
String op = rs.getString(1);
validOptions.add(op);
String active=rs.getString(2);
if(active.equals("N") && validOptions.contains(op) ){
validOptions.remove(op);
}else{
if(!validOptions.contains(op))
validOptions.add(op);
}
}
validOptions.toArray(options);
}
catch (SQLException e)
{
} catch (SQLException e) {
log.log(Level.SEVERE, sql, e);
}
finally
{
} finally {
DB.close(rs, pstmt);
rs = null; pstmt = null;
DB.close(rs1, pstmt1);
rs = null;
pstmt = null;
rs1 = null;
pstmt1 = null;
}
//
int newMaxIndex = validOptions.size();
int newMaxIndex = validOptions.size();
return newMaxIndex;
}
@ -2529,7 +2620,7 @@ public final class MRole extends X_AD_Role
}
}
System.out.println("Include "+role);
s_log.info("Include "+role);
this.m_includedRoles.add(role);
role.setParentRole(this);
role.m_includedSeqNo = seqNo;
@ -2717,7 +2808,7 @@ public final class MRole extends X_AD_Role
{
if (array1 == null)
{
System.out.println("null !!!");
s_log.info("array1 null !!!");
}
List<T> list = new ArrayList<T>();
for (T po : array1)
@ -2803,7 +2894,7 @@ public final class MRole extends X_AD_Role
} // end for array1
if (!found)
{
//System.out.println("add "+o2);
//s_log.info("add "+o2);
list.add(o2);
}
}
@ -2964,4 +3055,5 @@ public final class MRole extends X_AD_Role
whereClause.insert(0, roleColumnSQL+" IN (").append(")");
return whereClause.toString();
}
} // MRole

View File

@ -1526,6 +1526,7 @@ public class Login
sql.append("u.EMail=?");
else
sql.append("COALESCE(u.LDAPUser,u.Name)=?");
sql.append(" AND r.IsMasterRole='N'");
sql.append(" AND u.IsActive='Y'").append(" AND EXISTS (SELECT * FROM AD_Client c WHERE u.AD_Client_ID=c.AD_Client_ID AND c.IsActive='Y')");
sql.append(" ORDER BY r.Name");

View File

@ -218,15 +218,15 @@ public class MyValidator implements ModelValidator
} // toString
/**
* Sample Validator Before Save Properties - to set mandatory properties on users
* Sample Validator BefoMRolere Save Properties - to set mandatory properties on users
* avoid users changing properties
*/
public void beforeSaveProperties() {
// not for SuperUser or role SysAdmin
if ( m_AD_User_ID == 0 // System
|| m_AD_User_ID == 100 // SuperUser
|| m_AD_Role_ID == 0 // System Administrator
|| m_AD_Role_ID == 1000000) // ECO Admin
|| m_AD_Role_ID == 0) // System Administrator
return;
log.info("Setting default Properties");