diff --git a/migration/i2.0z/oracle/201403201438_IDEMPIERE-1828.sql b/migration/i2.0z/oracle/201403201438_IDEMPIERE-1828.sql new file mode 100644 index 0000000000..70a19dd932 --- /dev/null +++ b/migration/i2.0z/oracle/201403201438_IDEMPIERE-1828.sql @@ -0,0 +1,250 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Mar 20, 2014 2:05:38 PM CET +-- IDEMPIERE-1828 +INSERT INTO AD_Element (AD_Client_ID,AD_Element_ID,AD_Element_UU,AD_Org_ID,ColumnName,Created,CreatedBy,EntityType,IsActive,Name,PrintName,Updated,UpdatedBy) VALUES (0,202671,'b640b542-2f7a-4885-a212-5c60138d9480',0,'EMailFrom',TO_DATE('2014-03-20 14:05:38','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','EMail sent from','EMail sent from',TO_DATE('2014-03-20 14:05:38','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:06:01 PM CET +INSERT INTO AD_Element (AD_Client_ID,AD_Element_ID,AD_Element_UU,AD_Org_ID,ColumnName,Created,CreatedBy,EntityType,IsActive,Name,PrintName,Updated,UpdatedBy) VALUES (0,202672,'9c423548-1e6b-4899-a179-1304f30adeff',0,'RecipientTo',TO_DATE('2014-03-20 14:06:01','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','To','To',TO_DATE('2014-03-20 14:06:01','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:06:08 PM CET +INSERT INTO AD_Element (AD_Client_ID,AD_Element_ID,AD_Element_UU,AD_Org_ID,ColumnName,Created,CreatedBy,EntityType,IsActive,Name,PrintName,Updated,UpdatedBy) VALUES (0,202673,'6bc347b6-83fd-49e5-b34f-949f7e480baf',0,'RecipientCc',TO_DATE('2014-03-20 14:06:08','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Cc','Cc',TO_DATE('2014-03-20 14:06:08','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:06:18 PM CET +INSERT INTO AD_Element (AD_Client_ID,AD_Element_ID,AD_Element_UU,AD_Org_ID,ColumnName,Created,CreatedBy,EntityType,IsActive,Name,PrintName,Updated,UpdatedBy) VALUES (0,202674,'e79d13ad-54af-4384-9b11-dc86abd1db21',0,'RecipientBcc',TO_DATE('2014-03-20 14:06:18','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Bcc','Bcc',TO_DATE('2014-03-20 14:06:18','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:06:26 PM CET +UPDATE AD_Element SET EntityType='D',Updated=TO_DATE('2014-03-20 14:06:26','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=202673 +; + +-- Mar 20, 2014 2:08:07 PM CET +INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,EntityType,FKConstraintType,FieldLength,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210985,'63925720-89dc-4245-86e6-770564e34147',202671,0,10,782,'EMailFrom',TO_DATE('2014-03-20 14:08:07','YYYY-MM-DD HH24:MI:SS'),100,'D','N',255,'Y','Y','Y','N','N','N','N','N','N','N','N','N','N','N','N','Y','EMail sent from',0,0,TO_DATE('2014-03-20 14:08:07','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- Mar 20, 2014 2:08:13 PM CET +ALTER TABLE AD_UserMail ADD EMailFrom VARCHAR2(255) DEFAULT NULL +; + +-- Mar 20, 2014 2:08:46 PM CET +INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,EntityType,FKConstraintType,FieldLength,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210986,'6dd996b8-5e29-4bef-89b3-694bd8c1c9d6',202674,0,10,782,'RecipientBcc',TO_DATE('2014-03-20 14:08:45','YYYY-MM-DD HH24:MI:SS'),100,'D','N',2000,'Y','Y','Y','N','N','N','N','N','N','N','N','N','N','N','N','Y','Bcc',0,0,TO_DATE('2014-03-20 14:08:45','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- Mar 20, 2014 2:08:49 PM CET +ALTER TABLE AD_UserMail ADD RecipientBcc VARCHAR2(2000) DEFAULT NULL +; + +-- Mar 20, 2014 2:09:05 PM CET +UPDATE AD_Column SET AD_Element_ID=202673, ColumnName='RecipientCc', Description=NULL, Help=NULL, Name='Cc',Updated=TO_DATE('2014-03-20 14:09:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210986 +; + +-- Mar 20, 2014 2:09:08 PM CET +ALTER TABLE AD_UserMail ADD RecipientCc VARCHAR2(2000) DEFAULT NULL +; + +-- Mar 20, 2014 2:09:23 PM CET +UPDATE AD_Column SET AD_Element_ID=202672, ColumnName='RecipientTo', Description=NULL, EntityType='D', Help=NULL, Name='To',Updated=TO_DATE('2014-03-20 14:09:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210986 +; + +-- Mar 20, 2014 2:09:26 PM CET +ALTER TABLE AD_UserMail ADD RecipientTo VARCHAR2(2000) DEFAULT NULL +; + +-- Mar 20, 2014 2:10:39 PM CET +INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,EntityType,FKConstraintType,FieldLength,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210987,'b9fd6d34-671a-46cd-8abc-589c0eb256d5',202673,0,10,782,'RecipientCc',TO_DATE('2014-03-20 14:10:38','YYYY-MM-DD HH24:MI:SS'),100,'D','N',2000,'Y','Y','Y','N','N','N','N','N','N','N','N','N','N','N','N','Y','Cc',0,0,TO_DATE('2014-03-20 14:10:38','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- Mar 20, 2014 2:10:41 PM CET +ALTER TABLE AD_UserMail MODIFY RecipientCc VARCHAR2(2000) DEFAULT NULL +; + +-- Mar 20, 2014 2:10:57 PM CET +INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,EntityType,FKConstraintType,FieldLength,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210988,'c9bb532c-3509-4791-a023-55fd661e348c',202674,0,10,782,'RecipientBcc',TO_DATE('2014-03-20 14:10:56','YYYY-MM-DD HH24:MI:SS'),100,'D','N',2000,'Y','Y','Y','N','N','N','N','N','N','N','N','N','N','N','N','Y','Bcc',0,0,TO_DATE('2014-03-20 14:10:56','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- Mar 20, 2014 2:11:00 PM CET +ALTER TABLE AD_UserMail MODIFY RecipientBcc VARCHAR2(2000) DEFAULT NULL +; + +-- Mar 20, 2014 2:12:54 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsDisplayedGrid,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,60533,202691,'76d0d102-0b78-44e9-a041-b38747b69ef0',0,709,2,TO_DATE('2014-03-20 14:12:54','YYYY-MM-DD HH24:MI:SS'),100,36,'D','Y','Y','N','N','N','N','N','N','N','AD_UserMail_UU',120,TO_DATE('2014-03-20 14:12:54','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:12:55 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210985,202692,'dd367b6d-eb5e-44ab-a317-9b73987f4b60',0,709,5,TO_DATE('2014-03-20 14:12:55','YYYY-MM-DD HH24:MI:SS'),100,255,'D','Y','Y','Y','N','N','N','N','N','EMail sent from',130,TO_DATE('2014-03-20 14:12:55','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:12:56 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210986,202693,'3aeedc4a-4272-412d-a971-2dc6e0fd7fd1',0,709,5,TO_DATE('2014-03-20 14:12:55','YYYY-MM-DD HH24:MI:SS'),100,2000,'D','Y','Y','Y','N','N','N','N','N','To',140,TO_DATE('2014-03-20 14:12:55','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:12:56 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210987,202694,'70bae5b3-9321-44b9-b645-a3d1533d50c0',0,709,5,TO_DATE('2014-03-20 14:12:56','YYYY-MM-DD HH24:MI:SS'),100,2000,'D','Y','Y','Y','N','N','N','N','N','Cc',150,TO_DATE('2014-03-20 14:12:56','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:12:57 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210988,202695,'e41d0273-fcb0-4784-a83b-ca1177532058',0,709,5,TO_DATE('2014-03-20 14:12:56','YYYY-MM-DD HH24:MI:SS'),100,2000,'D','Y','Y','Y','N','N','N','N','N','Bcc',160,TO_DATE('2014-03-20 14:12:56','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:13:40 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=80, XPosition=1,Updated=TO_DATE('2014-03-20 14:13:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202692 +; + +-- Mar 20, 2014 2:13:40 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=90, XPosition=1,Updated=TO_DATE('2014-03-20 14:13:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202693 +; + +-- Mar 20, 2014 2:13:40 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=100, XPosition=1,Updated=TO_DATE('2014-03-20 14:13:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202694 +; + +-- Mar 20, 2014 2:13:41 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=110, XPosition=1,Updated=TO_DATE('2014-03-20 14:13:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202695 +; + +-- Mar 20, 2014 2:13:41 PM CET +UPDATE AD_Field SET SeqNo=120,Updated=TO_DATE('2014-03-20 14:13:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12359 +; + +-- Mar 20, 2014 2:13:41 PM CET +UPDATE AD_Field SET SeqNo=130,Updated=TO_DATE('2014-03-20 14:13:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12358 +; + +-- Mar 20, 2014 2:13:41 PM CET +UPDATE AD_Field SET SeqNo=140,Updated=TO_DATE('2014-03-20 14:13:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11542 +; + +-- Mar 20, 2014 2:13:41 PM CET +UPDATE AD_Field SET SeqNo=150,Updated=TO_DATE('2014-03-20 14:13:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11541 +; + +-- Mar 20, 2014 2:13:41 PM CET +UPDATE AD_Field SET SeqNo=0,Updated=TO_DATE('2014-03-20 14:13:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202691 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=202692 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=202693 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=100,IsDisplayedGrid='Y' WHERE AD_Field_ID=202694 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=110,IsDisplayedGrid='Y' WHERE AD_Field_ID=202695 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=120,IsDisplayedGrid='Y' WHERE AD_Field_ID=12359 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=130,IsDisplayedGrid='Y' WHERE AD_Field_ID=12358 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=140,IsDisplayedGrid='Y' WHERE AD_Field_ID=11542 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=150,IsDisplayedGrid='Y' WHERE AD_Field_ID=11541 +; + +-- Mar 20, 2014 2:14:59 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsDisplayedGrid,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,60533,202696,'ec3f809c-2519-4d75-b1c8-5e553f7fec10',0,53283,2,TO_DATE('2014-03-20 14:14:58','YYYY-MM-DD HH24:MI:SS'),100,36,'D','Y','Y','N','N','N','N','N','N','N','AD_UserMail_UU',120,TO_DATE('2014-03-20 14:14:58','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:14:59 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210985,202697,'6596a658-1014-4f79-8420-099870dfd854',0,53283,5,TO_DATE('2014-03-20 14:14:59','YYYY-MM-DD HH24:MI:SS'),100,255,'D','Y','Y','Y','N','N','N','N','N','EMail sent from',130,TO_DATE('2014-03-20 14:14:59','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:15:00 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210986,202698,'120d8134-50a7-4fa8-ab29-7a23f6f324e9',0,53283,5,TO_DATE('2014-03-20 14:14:59','YYYY-MM-DD HH24:MI:SS'),100,2000,'D','Y','Y','Y','N','N','N','N','N','To',140,TO_DATE('2014-03-20 14:14:59','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:15:00 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210987,202699,'48af28b6-9a61-4655-addd-9479206028ae',0,53283,5,TO_DATE('2014-03-20 14:15:00','YYYY-MM-DD HH24:MI:SS'),100,2000,'D','Y','Y','Y','N','N','N','N','N','Cc',150,TO_DATE('2014-03-20 14:15:00','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:15:01 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210988,202700,'1c8c16bf-f451-453e-9a85-1b8651733ddf',0,53283,5,TO_DATE('2014-03-20 14:15:00','YYYY-MM-DD HH24:MI:SS'),100,2000,'D','Y','Y','Y','N','N','N','N','N','Bcc',160,TO_DATE('2014-03-20 14:15:00','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=80, XPosition=1,Updated=TO_DATE('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202697 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=90, XPosition=1,Updated=TO_DATE('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202698 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=100, XPosition=1,Updated=TO_DATE('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202699 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=110, XPosition=1,Updated=TO_DATE('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202700 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET SeqNo=120,Updated=TO_DATE('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=58024 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET SeqNo=130,Updated=TO_DATE('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=58025 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET SeqNo=140,Updated=TO_DATE('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=58026 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET SeqNo=150,Updated=TO_DATE('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=58027 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET SeqNo=0,Updated=TO_DATE('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202696 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=202697 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=202698 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=100,IsDisplayedGrid='Y' WHERE AD_Field_ID=202699 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=110,IsDisplayedGrid='Y' WHERE AD_Field_ID=202700 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=120,IsDisplayedGrid='Y' WHERE AD_Field_ID=58024 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=130,IsDisplayedGrid='Y' WHERE AD_Field_ID=58025 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=140,IsDisplayedGrid='Y' WHERE AD_Field_ID=58026 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=150,IsDisplayedGrid='Y' WHERE AD_Field_ID=58027 +; + +SELECT register_migration_script('201403201438_IDEMPIERE-1828.sql') FROM dual +; diff --git a/migration/i2.0z/oracle/201406041604_IDEMPIERE-1788.sql b/migration/i2.0z/oracle/201406041604_IDEMPIERE-1788.sql new file mode 100644 index 0000000000..eb8f724bc7 --- /dev/null +++ b/migration/i2.0z/oracle/201406041604_IDEMPIERE-1788.sql @@ -0,0 +1,118 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Jun 4, 2014 9:40:09 PM ICT +-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator +INSERT INTO AD_Reference (AD_Reference_ID,Name,EntityType,AD_Reference_UU,IsOrderByValue,Description,ValidationType,AD_Org_ID,CreatedBy,Updated,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (200084,'ParentPreferenceType','D','8412d243-d7da-4064-8784-db1cca37c95e','N','Type of preference WEditor lie on (process, info window, window)','L',0,100,TO_DATE('2014-06-04 21:40:03','YYYY-MM-DD HH24:MI:SS'),'Y',TO_DATE('2014-06-04 21:40:03','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- Jun 4, 2014 9:56:17 PM ICT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,EntityType,AD_Client_ID,AD_Org_ID) VALUES (200188,200084,'Window','d16e365d-8cc1-489e-b909-89054fdf58af','W',TO_DATE('2014-06-04 21:56:08','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-06-04 21:56:08','YYYY-MM-DD HH24:MI:SS'),100,'Y','D',0,0) +; + +-- Jun 4, 2014 9:56:31 PM ICT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,EntityType,AD_Client_ID,AD_Org_ID) VALUES (200189,200084,'Process','a9497c99-06dd-40ab-b866-b37d3fb60bc7','P',TO_DATE('2014-06-04 21:56:30','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-06-04 21:56:30','YYYY-MM-DD HH24:MI:SS'),100,'Y','U',0,0) +; + +-- Jun 4, 2014 9:56:36 PM ICT +UPDATE AD_Ref_List SET EntityType='D',Updated=TO_DATE('2014-06-04 21:56:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Ref_List_ID=200189 +; + +-- Jun 4, 2014 10:09:25 PM ICT +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintName,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES (0,'N',0,211276,'N','N','N',0,'N',22,'N','N','N','Y','4b259980-d1cd-4aed-87a0-7aa6787a53ee','Y','AD_Process_ID','Process or Report','The Process field identifies a unique Process or Report in the system.','Process','Y',TO_DATE('2014-06-04 22:09:24','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-06-04 22:09:24','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','ad_process_preference','N',117,19,195) +; + +-- Jun 4, 2014 10:09:33 PM ICT +ALTER TABLE AD_Preference ADD AD_Process_ID NUMBER(10) DEFAULT NULL +; + +-- Jun 4, 2014 10:09:33 PM ICT +ALTER TABLE AD_Preference ADD CONSTRAINT ad_process_preference FOREIGN KEY (AD_Process_ID) REFERENCES ad_process(ad_process_id) DEFERRABLE INITIALLY DEFERRED +; + +-- Jun 4, 2014 10:13:04 PM ICT +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,Description,PrintName,AD_Element_UU,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType,Created,Updated) VALUES ('PreferenceFor',202716,'Preference For','Type of preference, it can window, info window or parameter process','Preference For','71eeaffc-a430-4bca-ad26-8ff04fc0e6ac',0,100,100,'Y',0,'D',TO_DATE('2014-06-04 22:12:53','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-06-04 22:12:53','YYYY-MM-DD HH24:MI:SS')) +; + +-- Jun 4, 2014 10:14:15 PM ICT +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID) VALUES (0,'N',0,211277,'N','N','N',0,'N',1,'N','N','N','Y','462b65e9-7f17-44dc-879c-771182fa0a3c','Y','PreferenceFor','Type of preference, it can window, info window or parameter process','W','Preference For','Y',TO_DATE('2014-06-04 22:14:14','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-06-04 22:14:14','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202716,17,200084,195) +; + +-- Jun 4, 2014 10:14:20 PM ICT +ALTER TABLE AD_Preference ADD PreferenceFor CHAR(1) DEFAULT 'W' +; + +-- Jun 4, 2014 10:16:12 PM ICT +INSERT INTO AD_IndexColumn (AD_Client_ID,AD_Org_ID,AD_IndexColumn_ID,AD_IndexColumn_UU,Created,CreatedBy,IsActive,Updated,UpdatedBy,AD_TableIndex_ID,SeqNo,AD_Column_ID,EntityType) VALUES (0,0,201242,'74e5f7d2-2f62-4b48-a1ec-0ef1f85c9a63',TO_DATE('2014-06-04 22:16:11','YYYY-MM-DD HH24:MI:SS'),100,'Y',TO_DATE('2014-06-04 22:16:11','YYYY-MM-DD HH24:MI:SS'),100,200141,0,211277,'D') +; + +-- Jun 4, 2014 10:16:48 PM ICT +INSERT INTO AD_IndexColumn (AD_Client_ID,AD_Org_ID,AD_IndexColumn_ID,AD_IndexColumn_UU,Created,CreatedBy,IsActive,Updated,UpdatedBy,AD_TableIndex_ID,SeqNo,AD_Column_ID,EntityType) VALUES (0,0,201243,'423ef2ae-1412-470c-857e-949614c5946c',TO_DATE('2014-06-04 22:16:47','YYYY-MM-DD HH24:MI:SS'),100,'Y',TO_DATE('2014-06-04 22:16:47','YYYY-MM-DD HH24:MI:SS'),100,200141,0,211276,'D') +; + +-- Jun 4, 2014 10:18:27 PM ICT +UPDATE AD_Column SET IsMandatory='Y',Updated=TO_DATE('2014-06-04 22:18:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=211277 +; + +-- Jun 4, 2014 10:18:33 PM ICT +ALTER TABLE AD_Preference MODIFY PreferenceFor CHAR(1) DEFAULT 'W' +; + + +UPDATE AD_Preference SET preferencefor = 'W' +; + + +-- Jun 4, 2014 10:18:33 PM ICT +ALTER TABLE AD_Preference MODIFY PreferenceFor NOT NULL +; + +-- Jun 4, 2014 10:20:18 PM ICT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',156,0,'N','N',90,'Y',203058,'N','Type of preference, it can window, info window or parameter process','Preference For','792c877f-3415-43e4-8660-a4c0a1f78552','Y','N',100,0,100,TO_DATE('2014-06-04 22:20:17','YYYY-MM-DD HH24:MI:SS'),'Y','Y',90,1,'N',0,1,1,'N','N',211277,'D',TO_DATE('2014-06-04 22:20:17','YYYY-MM-DD HH24:MI:SS')) +; + +-- Jun 4, 2014 10:20:52 PM ICT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',156,0,'N','N',100,'Y',203059,'N','The Process field identifies a unique Process or Report in the system.','Process or Report','Process','407aabeb-f94d-405b-bdaa-6212bd2df853','Y','N',100,0,100,TO_DATE('2014-06-04 22:20:51','YYYY-MM-DD HH24:MI:SS'),'Y','Y',100,1,'N',0,1,1,'N','N',211276,'D',TO_DATE('2014-06-04 22:20:51','YYYY-MM-DD HH24:MI:SS')) +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=10,Updated=TO_DATE('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=661 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=20,Updated=TO_DATE('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=902 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=30, IsDisplayed='Y', XPosition=1,Updated=TO_DATE('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=663 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=40, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=659 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=60, IsDisplayed='Y', XPosition=4, ColumnSpan=2,Updated=TO_DATE('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203059 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=70, IsDisplayed='Y', XPosition=1, ColumnSpan=2,Updated=TO_DATE('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203058 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=80, IsDisplayed='Y', XPosition=4, ColumnSpan=2,Updated=TO_DATE('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=877 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=90,Updated=TO_DATE('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=662 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=0,Updated=TO_DATE('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=658 +; +-- Jun 6, 2014 1:19:24 PM ICT +-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator +INSERT INTO AD_Window (Processing,WindowType,IsSOTrx,IsDefault,IsBetaFunctionality,WinHeight,WinWidth,EntityType,Name,Description,AD_Window_ID,AD_Window_UU,Updated,AD_Org_ID,IsActive,UpdatedBy,CreatedBy,AD_Client_ID,Created) VALUES ('N','Q','Y','N','N',0,0,'D','Dummy','This window if for save preference for process parameter panel and info window in case open from menu (stand alone window)',200054,'25099c88-2b91-4f01-8b21-02ef5de79505',TO_DATE('2014-06-06 13:19:22','YYYY-MM-DD HH24:MI:SS'),0,'Y',100,100,0,TO_DATE('2014-06-06 13:19:22','YYYY-MM-DD HH24:MI:SS')) +; +SELECT register_migration_script('201406041604_IDEMPIERE-1788.sql') FROM dual +; diff --git a/migration/i2.0z/oracle/201406061604_IDEMPIERE-1970.sql b/migration/i2.0z/oracle/201406061604_IDEMPIERE-1970.sql new file mode 100644 index 0000000000..214aba1f42 --- /dev/null +++ b/migration/i2.0z/oracle/201406061604_IDEMPIERE-1970.sql @@ -0,0 +1,36 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Jun 6, 2014 7:41:43 PM ICT +-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID,AD_Val_Rule_ID) VALUES (0,'N',0,211377,'N','N','N',0,'N',22,'N','N','N','Y','eff69801-5afa-4898-bc2b-c02e2ad4f94d','Y','AD_Column_ID','Column in the table','Link to the database column of the table','Column','Y',TO_DATE('2014-06-06 19:41:33','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2014-06-06 19:41:33','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',104,19,200129,100) +; + +-- Jun 6, 2014 7:43:12 PM ICT +UPDATE AD_Column SET Description='Name of unique column in a view. value of this column will save to t_selection table', Help='Column to resolve issue in https://idempiere.atlassian.net/browse/IDEMPIERE-1970', Name='ViewID Column', FKConstraintName='ADColumn_ADInfoProcess',Updated=TO_DATE('2014-06-06 19:43:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=211377 +; + +-- Jun 6, 2014 7:43:23 PM ICT +ALTER TABLE AD_InfoProcess ADD AD_Column_ID NUMBER(10) DEFAULT NULL +; + +-- Jun 6, 2014 7:43:23 PM ICT +ALTER TABLE AD_InfoProcess ADD CONSTRAINT ADColumn_ADInfoProcess FOREIGN KEY (AD_Column_ID) REFERENCES ad_column(ad_column_id) DEFERRABLE INITIALLY DEFERRED +; + +-- Jun 6, 2014 7:45:32 PM ICT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',200142,0,'N','N',100,'N',203108,'N','Column to resolve issue in https://idempiere.atlassian.net/browse/IDEMPIERE-1970','Name of unique column in a view. value of this column will save to t_selection table','ViewID Column','5aacf0a1-baba-4bab-9b24-047b538a6f5d','Y','N',100,0,100,TO_DATE('2014-06-06 19:45:26','YYYY-MM-DD HH24:MI:SS'),'Y','Y',70,1,'N',0,1,1,'N','N',211377,'D',TO_DATE('2014-06-06 19:45:26','YYYY-MM-DD HH24:MI:SS')) +; + +-- Jun 6, 2014 7:46:32 PM ICT +UPDATE AD_Field SET SeqNo=80, IsDisplayed='Y', XPosition=4, ColumnSpan=2,Updated=TO_DATE('2014-06-06 19:46:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203108 +; + +-- Jun 6, 2014 7:46:32 PM ICT +UPDATE AD_Field SET SeqNo=100, IsDisplayed='Y', XPosition=2,Updated=TO_DATE('2014-06-06 19:46:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203038 +; +ALTER TABLE t_selection ADD ViewID VARCHAR2(30) DEFAULT NULL +; +SELECT register_migration_script('201406061604_IDEMPIERE-1970.sql') FROM dual +; + diff --git a/migration/i2.0z/oracle/201407101604_IDEMPIERE-1788-fix-unq-index.sql b/migration/i2.0z/oracle/201407101604_IDEMPIERE-1788-fix-unq-index.sql new file mode 100644 index 0000000000..706e25a4ed --- /dev/null +++ b/migration/i2.0z/oracle/201407101604_IDEMPIERE-1788-fix-unq-index.sql @@ -0,0 +1,14 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Jul 10, 2014 6:44:09 PM ICT +-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator +DROP INDEX ad_preference_attribute +; + +-- Jul 10, 2014 6:44:09 PM ICT +CREATE UNIQUE INDEX ad_preference_attribute ON AD_Preference (PreferenceFor,AD_Process_ID,AD_Client_ID,AD_Org_ID,AD_Window_ID,AD_User_ID,Attribute) +; + +SELECT register_migration_script('201407101604_IDEMPIERE-1788-fix-unq-index.sql') FROM dual +; diff --git a/migration/i2.0z/oracle/201407121604_IDEMPIERE-2052.sql b/migration/i2.0z/oracle/201407121604_IDEMPIERE-2052.sql new file mode 100644 index 0000000000..b6a9ccfa9e --- /dev/null +++ b/migration/i2.0z/oracle/201407121604_IDEMPIERE-2052.sql @@ -0,0 +1,8 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Jul 12, 2014 3:39:16 PM ICT +INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Client_ID,AD_Org_ID,Created) VALUES ('E','Select tab to export',200303,'D','8ebc806d-f410-433a-b3d6-152133bd6d63','SelectTabToExport','Y',TO_DATE('2014-07-12 15:39:15','YYYY-MM-DD HH24:MI:SS'),100,100,0,0,TO_DATE('2014-07-12 15:39:15','YYYY-MM-DD HH24:MI:SS')) +; +SELECT register_migration_script('201407121604_IDEMPIERE-2052.sql') FROM dual +; diff --git a/migration/i2.0z/oracle/201407160833_IDEMPIERE-2055.sql b/migration/i2.0z/oracle/201407160833_IDEMPIERE-2055.sql new file mode 100644 index 0000000000..41feeff337 --- /dev/null +++ b/migration/i2.0z/oracle/201407160833_IDEMPIERE-2055.sql @@ -0,0 +1,19 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Jul 16, 2014 8:32:31 AM COT +-- IDEMPIERE-2055 Changed Constraints for Web Service Security +UPDATE AD_Column SET IsUpdateable='N', IsToolbarButton='N', FKConstraintType='C',Updated=TO_DATE('2014-07-16 08:32:31','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=56769 +; + +-- Jul 16, 2014 8:32:49 AM COT +ALTER TABLE WS_WebServiceTypeAccess DROP CONSTRAINT wswebservicetype_wswebservicet +; + +-- Jul 16, 2014 8:32:50 AM COT +ALTER TABLE WS_WebServiceTypeAccess ADD CONSTRAINT wswebservicetype_wswebservicet FOREIGN KEY (WS_WebServiceType_ID) REFERENCES ws_webservicetype(ws_webservicetype_id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED +; + +SELECT register_migration_script('201407160833_IDEMPIERE-2055.sql') FROM dual +; + diff --git a/migration/i2.0z/oracle/201407161014_IDEMPIERE-1851.sql b/migration/i2.0z/oracle/201407161014_IDEMPIERE-1851.sql new file mode 100644 index 0000000000..9d89b4b759 --- /dev/null +++ b/migration/i2.0z/oracle/201407161014_IDEMPIERE-1851.sql @@ -0,0 +1,21 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Mar 24, 2014 2:07:01 PM CET +-- https://idempiere.atlassian.net/browse/IDEMPIERE-1851 +INSERT INTO AD_Process_Para (IsRange,AD_Element_ID,AD_Process_Para_ID,AD_Process_Para_UU,Help,AD_Reference_ID,IsMandatory,EntityType,Name,ColumnName,Description,FieldLength,IsCentrallyMaintained,SeqNo,IsActive,UpdatedBy,Updated,CreatedBy,Created,AD_Org_ID,IsEncrypted,AD_Client_ID,AD_Process_ID,AD_Reference_Value_ID) VALUES ('N',1682,200076,'e9ad57d5-86b3-45a1-bd01-6b4079b31a10','The Entity Types "Dictionary", "iDempiere" and "Application" might be automatically synchronized and customizations deleted or overwritten. + +For customizations, copy the entity and select "User"!',18,'N','D','Entity Type','EntityType','Dictionary Entity Type; Determines ownership and synchronization',0,'Y',10,'Y',100,TO_DATE('2014-03-24 14:07:00','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-03-24 14:07:00','YYYY-MM-DD HH24:MI:SS'),0,'N',0,174,389) +; + +-- Mar 24, 2014 2:08:12 PM CET +INSERT INTO AD_Process_Para (IsRange,AD_Process_Para_ID,AD_Process_Para_UU,AD_Reference_ID,IsMandatory,EntityType,Name,ColumnName,FieldLength,IsCentrallyMaintained,SeqNo,IsActive,UpdatedBy,Updated,CreatedBy,Created,AD_Org_ID,IsEncrypted,AD_Client_ID,AD_Process_ID) VALUES ('N',200077,'5cc8670c-0715-4351-9c5e-760f902f6ef6',16,'N','D','CreatedSince','CreatedSince',7,'N',20,'Y',100,TO_DATE('2014-03-24 14:08:11','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-03-24 14:08:11','YYYY-MM-DD HH24:MI:SS'),0,'N',0,174) +; + +-- Mar 24, 2014 2:08:24 PM CET +UPDATE AD_Process_Para SET Name='Created Since',Updated=TO_DATE('2014-03-24 14:08:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=200077 +; + +SELECT register_migration_script('201407161014_IDEMPIERE-1851.sql') FROM dual +; + diff --git a/migration/i2.0z/postgresql/201403201438_IDEMPIERE-1828.sql b/migration/i2.0z/postgresql/201403201438_IDEMPIERE-1828.sql new file mode 100644 index 0000000000..a9c545591f --- /dev/null +++ b/migration/i2.0z/postgresql/201403201438_IDEMPIERE-1828.sql @@ -0,0 +1,247 @@ +-- Mar 20, 2014 2:05:38 PM CET +-- IDEMPIERE-1828 +INSERT INTO AD_Element (AD_Client_ID,AD_Element_ID,AD_Element_UU,AD_Org_ID,ColumnName,Created,CreatedBy,EntityType,IsActive,Name,PrintName,Updated,UpdatedBy) VALUES (0,202671,'b640b542-2f7a-4885-a212-5c60138d9480',0,'EMailFrom',TO_TIMESTAMP('2014-03-20 14:05:38','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','EMail sent from','EMail sent from',TO_TIMESTAMP('2014-03-20 14:05:38','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:06:01 PM CET +INSERT INTO AD_Element (AD_Client_ID,AD_Element_ID,AD_Element_UU,AD_Org_ID,ColumnName,Created,CreatedBy,EntityType,IsActive,Name,PrintName,Updated,UpdatedBy) VALUES (0,202672,'9c423548-1e6b-4899-a179-1304f30adeff',0,'RecipientTo',TO_TIMESTAMP('2014-03-20 14:06:01','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','To','To',TO_TIMESTAMP('2014-03-20 14:06:01','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:06:08 PM CET +INSERT INTO AD_Element (AD_Client_ID,AD_Element_ID,AD_Element_UU,AD_Org_ID,ColumnName,Created,CreatedBy,EntityType,IsActive,Name,PrintName,Updated,UpdatedBy) VALUES (0,202673,'6bc347b6-83fd-49e5-b34f-949f7e480baf',0,'RecipientCc',TO_TIMESTAMP('2014-03-20 14:06:08','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Cc','Cc',TO_TIMESTAMP('2014-03-20 14:06:08','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:06:18 PM CET +INSERT INTO AD_Element (AD_Client_ID,AD_Element_ID,AD_Element_UU,AD_Org_ID,ColumnName,Created,CreatedBy,EntityType,IsActive,Name,PrintName,Updated,UpdatedBy) VALUES (0,202674,'e79d13ad-54af-4384-9b11-dc86abd1db21',0,'RecipientBcc',TO_TIMESTAMP('2014-03-20 14:06:18','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Bcc','Bcc',TO_TIMESTAMP('2014-03-20 14:06:18','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:06:26 PM CET +UPDATE AD_Element SET EntityType='D',Updated=TO_TIMESTAMP('2014-03-20 14:06:26','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=202673 +; + +-- Mar 20, 2014 2:08:07 PM CET +INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,EntityType,FKConstraintType,FieldLength,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210985,'63925720-89dc-4245-86e6-770564e34147',202671,0,10,782,'EMailFrom',TO_TIMESTAMP('2014-03-20 14:08:07','YYYY-MM-DD HH24:MI:SS'),100,'D','N',255,'Y','Y','Y','N','N','N','N','N','N','N','N','N','N','N','N','Y','EMail sent from',0,0,TO_TIMESTAMP('2014-03-20 14:08:07','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- Mar 20, 2014 2:08:13 PM CET +ALTER TABLE AD_UserMail ADD COLUMN EMailFrom VARCHAR(255) DEFAULT NULL +; + +-- Mar 20, 2014 2:08:46 PM CET +INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,EntityType,FKConstraintType,FieldLength,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210986,'6dd996b8-5e29-4bef-89b3-694bd8c1c9d6',202674,0,10,782,'RecipientBcc',TO_TIMESTAMP('2014-03-20 14:08:45','YYYY-MM-DD HH24:MI:SS'),100,'D','N',2000,'Y','Y','Y','N','N','N','N','N','N','N','N','N','N','N','N','Y','Bcc',0,0,TO_TIMESTAMP('2014-03-20 14:08:45','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- Mar 20, 2014 2:08:49 PM CET +ALTER TABLE AD_UserMail ADD COLUMN RecipientBcc VARCHAR(2000) DEFAULT NULL +; + +-- Mar 20, 2014 2:09:05 PM CET +UPDATE AD_Column SET AD_Element_ID=202673, ColumnName='RecipientCc', Description=NULL, Help=NULL, Name='Cc',Updated=TO_TIMESTAMP('2014-03-20 14:09:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210986 +; + +-- Mar 20, 2014 2:09:08 PM CET +ALTER TABLE AD_UserMail ADD COLUMN RecipientCc VARCHAR(2000) DEFAULT NULL +; + +-- Mar 20, 2014 2:09:23 PM CET +UPDATE AD_Column SET AD_Element_ID=202672, ColumnName='RecipientTo', Description=NULL, EntityType='D', Help=NULL, Name='To',Updated=TO_TIMESTAMP('2014-03-20 14:09:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210986 +; + +-- Mar 20, 2014 2:09:26 PM CET +ALTER TABLE AD_UserMail ADD COLUMN RecipientTo VARCHAR(2000) DEFAULT NULL +; + +-- Mar 20, 2014 2:10:39 PM CET +INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,EntityType,FKConstraintType,FieldLength,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210987,'b9fd6d34-671a-46cd-8abc-589c0eb256d5',202673,0,10,782,'RecipientCc',TO_TIMESTAMP('2014-03-20 14:10:38','YYYY-MM-DD HH24:MI:SS'),100,'D','N',2000,'Y','Y','Y','N','N','N','N','N','N','N','N','N','N','N','N','Y','Cc',0,0,TO_TIMESTAMP('2014-03-20 14:10:38','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- Mar 20, 2014 2:10:41 PM CET +INSERT INTO t_alter_column values('ad_usermail','RecipientCc','VARCHAR(2000)',null,'NULL') +; + +-- Mar 20, 2014 2:10:57 PM CET +INSERT INTO AD_Column (AD_Client_ID,AD_Column_ID,AD_Column_UU,AD_Element_ID,AD_Org_ID,AD_Reference_ID,AD_Table_ID,ColumnName,Created,CreatedBy,EntityType,FKConstraintType,FieldLength,IsActive,IsAllowCopy,IsAllowLogging,IsAlwaysUpdateable,IsAutocomplete,IsEncrypted,IsIdentifier,IsKey,IsMandatory,IsParent,IsSecure,IsSelectionColumn,IsSyncDatabase,IsToolbarButton,IsTranslated,IsUpdateable,Name,SeqNo,SeqNoSelection,Updated,UpdatedBy,Version) VALUES (0,210988,'c9bb532c-3509-4791-a023-55fd661e348c',202674,0,10,782,'RecipientBcc',TO_TIMESTAMP('2014-03-20 14:10:56','YYYY-MM-DD HH24:MI:SS'),100,'D','N',2000,'Y','Y','Y','N','N','N','N','N','N','N','N','N','N','N','N','Y','Bcc',0,0,TO_TIMESTAMP('2014-03-20 14:10:56','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- Mar 20, 2014 2:11:00 PM CET +INSERT INTO t_alter_column values('ad_usermail','RecipientBcc','VARCHAR(2000)',null,'NULL') +; + +-- Mar 20, 2014 2:12:54 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsDisplayedGrid,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,60533,202691,'76d0d102-0b78-44e9-a041-b38747b69ef0',0,709,2,TO_TIMESTAMP('2014-03-20 14:12:54','YYYY-MM-DD HH24:MI:SS'),100,36,'D','Y','Y','N','N','N','N','N','N','N','AD_UserMail_UU',120,TO_TIMESTAMP('2014-03-20 14:12:54','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:12:55 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210985,202692,'dd367b6d-eb5e-44ab-a317-9b73987f4b60',0,709,5,TO_TIMESTAMP('2014-03-20 14:12:55','YYYY-MM-DD HH24:MI:SS'),100,255,'D','Y','Y','Y','N','N','N','N','N','EMail sent from',130,TO_TIMESTAMP('2014-03-20 14:12:55','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:12:56 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210986,202693,'3aeedc4a-4272-412d-a971-2dc6e0fd7fd1',0,709,5,TO_TIMESTAMP('2014-03-20 14:12:55','YYYY-MM-DD HH24:MI:SS'),100,2000,'D','Y','Y','Y','N','N','N','N','N','To',140,TO_TIMESTAMP('2014-03-20 14:12:55','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:12:56 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210987,202694,'70bae5b3-9321-44b9-b645-a3d1533d50c0',0,709,5,TO_TIMESTAMP('2014-03-20 14:12:56','YYYY-MM-DD HH24:MI:SS'),100,2000,'D','Y','Y','Y','N','N','N','N','N','Cc',150,TO_TIMESTAMP('2014-03-20 14:12:56','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:12:57 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210988,202695,'e41d0273-fcb0-4784-a83b-ca1177532058',0,709,5,TO_TIMESTAMP('2014-03-20 14:12:56','YYYY-MM-DD HH24:MI:SS'),100,2000,'D','Y','Y','Y','N','N','N','N','N','Bcc',160,TO_TIMESTAMP('2014-03-20 14:12:56','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:13:40 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=80, XPosition=1,Updated=TO_TIMESTAMP('2014-03-20 14:13:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202692 +; + +-- Mar 20, 2014 2:13:40 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=90, XPosition=1,Updated=TO_TIMESTAMP('2014-03-20 14:13:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202693 +; + +-- Mar 20, 2014 2:13:40 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=100, XPosition=1,Updated=TO_TIMESTAMP('2014-03-20 14:13:40','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202694 +; + +-- Mar 20, 2014 2:13:41 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=110, XPosition=1,Updated=TO_TIMESTAMP('2014-03-20 14:13:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202695 +; + +-- Mar 20, 2014 2:13:41 PM CET +UPDATE AD_Field SET SeqNo=120,Updated=TO_TIMESTAMP('2014-03-20 14:13:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12359 +; + +-- Mar 20, 2014 2:13:41 PM CET +UPDATE AD_Field SET SeqNo=130,Updated=TO_TIMESTAMP('2014-03-20 14:13:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=12358 +; + +-- Mar 20, 2014 2:13:41 PM CET +UPDATE AD_Field SET SeqNo=140,Updated=TO_TIMESTAMP('2014-03-20 14:13:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11542 +; + +-- Mar 20, 2014 2:13:41 PM CET +UPDATE AD_Field SET SeqNo=150,Updated=TO_TIMESTAMP('2014-03-20 14:13:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11541 +; + +-- Mar 20, 2014 2:13:41 PM CET +UPDATE AD_Field SET SeqNo=0,Updated=TO_TIMESTAMP('2014-03-20 14:13:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202691 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=202692 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=202693 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=100,IsDisplayedGrid='Y' WHERE AD_Field_ID=202694 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=110,IsDisplayedGrid='Y' WHERE AD_Field_ID=202695 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=120,IsDisplayedGrid='Y' WHERE AD_Field_ID=12359 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=130,IsDisplayedGrid='Y' WHERE AD_Field_ID=12358 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=140,IsDisplayedGrid='Y' WHERE AD_Field_ID=11542 +; + +-- Mar 20, 2014 2:14:13 PM CET +UPDATE AD_Field SET SeqNoGrid=150,IsDisplayedGrid='Y' WHERE AD_Field_ID=11541 +; + +-- Mar 20, 2014 2:14:59 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsDisplayedGrid,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,60533,202696,'ec3f809c-2519-4d75-b1c8-5e553f7fec10',0,53283,2,TO_TIMESTAMP('2014-03-20 14:14:58','YYYY-MM-DD HH24:MI:SS'),100,36,'D','Y','Y','N','N','N','N','N','N','N','AD_UserMail_UU',120,TO_TIMESTAMP('2014-03-20 14:14:58','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:14:59 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210985,202697,'6596a658-1014-4f79-8420-099870dfd854',0,53283,5,TO_TIMESTAMP('2014-03-20 14:14:59','YYYY-MM-DD HH24:MI:SS'),100,255,'D','Y','Y','Y','N','N','N','N','N','EMail sent from',130,TO_TIMESTAMP('2014-03-20 14:14:59','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:15:00 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210986,202698,'120d8134-50a7-4fa8-ab29-7a23f6f324e9',0,53283,5,TO_TIMESTAMP('2014-03-20 14:14:59','YYYY-MM-DD HH24:MI:SS'),100,2000,'D','Y','Y','Y','N','N','N','N','N','To',140,TO_TIMESTAMP('2014-03-20 14:14:59','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:15:00 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210987,202699,'48af28b6-9a61-4655-addd-9479206028ae',0,53283,5,TO_TIMESTAMP('2014-03-20 14:15:00','YYYY-MM-DD HH24:MI:SS'),100,2000,'D','Y','Y','Y','N','N','N','N','N','Cc',150,TO_TIMESTAMP('2014-03-20 14:15:00','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:15:01 PM CET +INSERT INTO AD_Field (AD_Client_ID,AD_Column_ID,AD_Field_ID,AD_Field_UU,AD_Org_ID,AD_Tab_ID,ColumnSpan,Created,CreatedBy,DisplayLength,EntityType,IsActive,IsCentrallyMaintained,IsDisplayed,IsEncrypted,IsFieldOnly,IsHeading,IsReadOnly,IsSameLine,Name,SeqNo,Updated,UpdatedBy) VALUES (0,210988,202700,'1c8c16bf-f451-453e-9a85-1b8651733ddf',0,53283,5,TO_TIMESTAMP('2014-03-20 14:15:00','YYYY-MM-DD HH24:MI:SS'),100,2000,'D','Y','Y','Y','N','N','N','N','N','Bcc',160,TO_TIMESTAMP('2014-03-20 14:15:00','YYYY-MM-DD HH24:MI:SS'),100) +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=80, XPosition=1,Updated=TO_TIMESTAMP('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202697 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=90, XPosition=1,Updated=TO_TIMESTAMP('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202698 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=100, XPosition=1,Updated=TO_TIMESTAMP('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202699 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=110, XPosition=1,Updated=TO_TIMESTAMP('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202700 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET SeqNo=120,Updated=TO_TIMESTAMP('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=58024 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET SeqNo=130,Updated=TO_TIMESTAMP('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=58025 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET SeqNo=140,Updated=TO_TIMESTAMP('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=58026 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET SeqNo=150,Updated=TO_TIMESTAMP('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=58027 +; + +-- Mar 20, 2014 2:15:55 PM CET +UPDATE AD_Field SET SeqNo=0,Updated=TO_TIMESTAMP('2014-03-20 14:15:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202696 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=202697 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=202698 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=100,IsDisplayedGrid='Y' WHERE AD_Field_ID=202699 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=110,IsDisplayedGrid='Y' WHERE AD_Field_ID=202700 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=120,IsDisplayedGrid='Y' WHERE AD_Field_ID=58024 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=130,IsDisplayedGrid='Y' WHERE AD_Field_ID=58025 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=140,IsDisplayedGrid='Y' WHERE AD_Field_ID=58026 +; + +-- Mar 20, 2014 2:16:28 PM CET +UPDATE AD_Field SET SeqNoGrid=150,IsDisplayedGrid='Y' WHERE AD_Field_ID=58027 +; + +SELECT register_migration_script('201403201438_IDEMPIERE-1828.sql') FROM dual +; diff --git a/migration/i2.0z/postgresql/201406041604_IDEMPIERE-1788.sql b/migration/i2.0z/postgresql/201406041604_IDEMPIERE-1788.sql new file mode 100644 index 0000000000..4ab349e9be --- /dev/null +++ b/migration/i2.0z/postgresql/201406041604_IDEMPIERE-1788.sql @@ -0,0 +1,113 @@ +-- Jun 4, 2014 9:40:09 PM ICT +-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator +INSERT INTO AD_Reference (AD_Reference_ID,Name,EntityType,AD_Reference_UU,IsOrderByValue,Description,ValidationType,AD_Org_ID,CreatedBy,Updated,IsActive,Created,UpdatedBy,AD_Client_ID) VALUES (200084,'ParentPreferenceType','D','8412d243-d7da-4064-8784-db1cca37c95e','N','Type of preference WEditor lie on (process, info window, window)','L',0,100,TO_TIMESTAMP('2014-06-04 21:40:03','YYYY-MM-DD HH24:MI:SS'),'Y',TO_TIMESTAMP('2014-06-04 21:40:03','YYYY-MM-DD HH24:MI:SS'),100,0) +; + +-- Jun 4, 2014 9:56:17 PM ICT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,EntityType,AD_Client_ID,AD_Org_ID) VALUES (200188,200084,'Window','d16e365d-8cc1-489e-b909-89054fdf58af','W',TO_TIMESTAMP('2014-06-04 21:56:08','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-06-04 21:56:08','YYYY-MM-DD HH24:MI:SS'),100,'Y','D',0,0) +; + +-- Jun 4, 2014 9:56:31 PM ICT +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,EntityType,AD_Client_ID,AD_Org_ID) VALUES (200189,200084,'Process','a9497c99-06dd-40ab-b866-b37d3fb60bc7','P',TO_TIMESTAMP('2014-06-04 21:56:30','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-06-04 21:56:30','YYYY-MM-DD HH24:MI:SS'),100,'Y','U',0,0) +; + +-- Jun 4, 2014 9:56:36 PM ICT +UPDATE AD_Ref_List SET EntityType='D',Updated=TO_TIMESTAMP('2014-06-04 21:56:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Ref_List_ID=200189 +; + +-- Jun 4, 2014 10:09:25 PM ICT +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintName,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID) VALUES (0,'N',0,211276,'N','N','N',0,'N',22,'N','N','N','Y','4b259980-d1cd-4aed-87a0-7aa6787a53ee','Y','AD_Process_ID','Process or Report','The Process field identifies a unique Process or Report in the system.','Process','Y',TO_TIMESTAMP('2014-06-04 22:09:24','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-06-04 22:09:24','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','ad_process_preference','N',117,19,195) +; + +-- Jun 4, 2014 10:09:33 PM ICT +ALTER TABLE AD_Preference ADD COLUMN AD_Process_ID NUMERIC(10) DEFAULT NULL +; + +-- Jun 4, 2014 10:09:33 PM ICT +ALTER TABLE AD_Preference ADD CONSTRAINT ad_process_preference FOREIGN KEY (AD_Process_ID) REFERENCES ad_process(ad_process_id) DEFERRABLE INITIALLY DEFERRED +; + +-- Jun 4, 2014 10:13:04 PM ICT +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,Description,PrintName,AD_Element_UU,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType,Created,Updated) VALUES ('PreferenceFor',202716,'Preference For','Type of preference, it can window, info window or parameter process','Preference For','71eeaffc-a430-4bca-ad26-8ff04fc0e6ac',0,100,100,'Y',0,'D',TO_TIMESTAMP('2014-06-04 22:12:53','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2014-06-04 22:12:53','YYYY-MM-DD HH24:MI:SS')) +; + +-- Jun 4, 2014 10:14:15 PM ICT +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Reference_Value_ID,AD_Table_ID) VALUES (0,'N',0,211277,'N','N','N',0,'N',1,'N','N','N','Y','462b65e9-7f17-44dc-879c-771182fa0a3c','Y','PreferenceFor','Type of preference, it can window, info window or parameter process','W','Preference For','Y',TO_TIMESTAMP('2014-06-04 22:14:14','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-06-04 22:14:14','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',202716,17,200084,195) +; + +-- Jun 4, 2014 10:14:20 PM ICT +ALTER TABLE AD_Preference ADD COLUMN PreferenceFor CHAR(1) DEFAULT 'W' +; + +-- Jun 4, 2014 10:16:12 PM ICT +INSERT INTO AD_IndexColumn (AD_Client_ID,AD_Org_ID,AD_IndexColumn_ID,AD_IndexColumn_UU,Created,CreatedBy,IsActive,Updated,UpdatedBy,AD_TableIndex_ID,SeqNo,AD_Column_ID,EntityType) VALUES (0,0,201242,'74e5f7d2-2f62-4b48-a1ec-0ef1f85c9a63',TO_TIMESTAMP('2014-06-04 22:16:11','YYYY-MM-DD HH24:MI:SS'),100,'Y',TO_TIMESTAMP('2014-06-04 22:16:11','YYYY-MM-DD HH24:MI:SS'),100,200141,0,211277,'D') +; + +-- Jun 4, 2014 10:16:48 PM ICT +INSERT INTO AD_IndexColumn (AD_Client_ID,AD_Org_ID,AD_IndexColumn_ID,AD_IndexColumn_UU,Created,CreatedBy,IsActive,Updated,UpdatedBy,AD_TableIndex_ID,SeqNo,AD_Column_ID,EntityType) VALUES (0,0,201243,'423ef2ae-1412-470c-857e-949614c5946c',TO_TIMESTAMP('2014-06-04 22:16:47','YYYY-MM-DD HH24:MI:SS'),100,'Y',TO_TIMESTAMP('2014-06-04 22:16:47','YYYY-MM-DD HH24:MI:SS'),100,200141,0,211276,'D') +; + +UPDATE AD_Preference SET preferencefor = 'W' +; + +-- Jun 4, 2014 10:18:27 PM ICT +UPDATE AD_Column SET IsMandatory='Y',Updated=TO_TIMESTAMP('2014-06-04 22:18:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=211277 +; + +-- Jun 4, 2014 10:18:33 PM ICT +INSERT INTO t_alter_column values('ad_preference','PreferenceFor','CHAR(1)',null,'W') +; + +-- Jun 4, 2014 10:18:33 PM ICT +INSERT INTO t_alter_column values('ad_preference','PreferenceFor',null,'NOT NULL',null) +; + +-- Jun 4, 2014 10:20:18 PM ICT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',156,0,'N','N',90,'Y',203058,'N','Type of preference, it can window, info window or parameter process','Preference For','792c877f-3415-43e4-8660-a4c0a1f78552','Y','N',100,0,100,TO_TIMESTAMP('2014-06-04 22:20:17','YYYY-MM-DD HH24:MI:SS'),'Y','Y',90,1,'N',0,1,1,'N','N',211277,'D',TO_TIMESTAMP('2014-06-04 22:20:17','YYYY-MM-DD HH24:MI:SS')) +; + +-- Jun 4, 2014 10:20:52 PM ICT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',156,0,'N','N',100,'Y',203059,'N','The Process field identifies a unique Process or Report in the system.','Process or Report','Process','407aabeb-f94d-405b-bdaa-6212bd2df853','Y','N',100,0,100,TO_TIMESTAMP('2014-06-04 22:20:51','YYYY-MM-DD HH24:MI:SS'),'Y','Y',100,1,'N',0,1,1,'N','N',211276,'D',TO_TIMESTAMP('2014-06-04 22:20:51','YYYY-MM-DD HH24:MI:SS')) +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=10,Updated=TO_TIMESTAMP('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=661 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=20,Updated=TO_TIMESTAMP('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=902 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=30, IsDisplayed='Y', XPosition=1,Updated=TO_TIMESTAMP('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=663 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=40, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=659 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=60, IsDisplayed='Y', XPosition=4, ColumnSpan=2,Updated=TO_TIMESTAMP('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203059 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=70, IsDisplayed='Y', XPosition=1, ColumnSpan=2,Updated=TO_TIMESTAMP('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203058 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=80, IsDisplayed='Y', XPosition=4, ColumnSpan=2,Updated=TO_TIMESTAMP('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=877 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=90,Updated=TO_TIMESTAMP('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=662 +; + +-- Jun 4, 2014 10:22:09 PM ICT +UPDATE AD_Field SET SeqNo=0,Updated=TO_TIMESTAMP('2014-06-04 22:22:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=658 +; +-- Jun 6, 2014 1:19:24 PM ICT +-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator +INSERT INTO AD_Window (Processing,WindowType,IsSOTrx,IsDefault,IsBetaFunctionality,WinHeight,WinWidth,EntityType,Name,Description,AD_Window_ID,AD_Window_UU,Updated,AD_Org_ID,IsActive,UpdatedBy,CreatedBy,AD_Client_ID,Created) VALUES ('N','Q','Y','N','N',0,0,'D','Dummy','This window if for save preference for process parameter panel and info window in case open from menu (stand alone window)',200054,'25099c88-2b91-4f01-8b21-02ef5de79505',TO_TIMESTAMP('2014-06-06 13:19:22','YYYY-MM-DD HH24:MI:SS'),0,'Y',100,100,0,TO_TIMESTAMP('2014-06-06 13:19:22','YYYY-MM-DD HH24:MI:SS')) +; +SELECT register_migration_script('201406041604_IDEMPIERE-1788.sql') FROM dual +; diff --git a/migration/i2.0z/postgresql/201406061604_IDEMPIERE-1970.sql b/migration/i2.0z/postgresql/201406061604_IDEMPIERE-1970.sql new file mode 100644 index 0000000000..611fbcc91d --- /dev/null +++ b/migration/i2.0z/postgresql/201406061604_IDEMPIERE-1970.sql @@ -0,0 +1,32 @@ +-- Jun 6, 2014 7:41:43 PM ICT +-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Help,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,IsSecure,FKConstraintType,AD_Element_ID,AD_Reference_ID,AD_Table_ID,AD_Val_Rule_ID) VALUES (0,'N',0,211377,'N','N','N',0,'N',22,'N','N','N','Y','eff69801-5afa-4898-bc2b-c02e2ad4f94d','Y','AD_Column_ID','Column in the table','Link to the database column of the table','Column','Y',TO_TIMESTAMP('2014-06-06 19:41:33','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2014-06-06 19:41:33','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N','N','N',104,19,200129,100) +; + +-- Jun 6, 2014 7:43:12 PM ICT +UPDATE AD_Column SET Description='Name of unique column in a view. value of this column will save to t_selection table', Help='Column to resolve issue in https://idempiere.atlassian.net/browse/IDEMPIERE-1970', Name='ViewID Column', FKConstraintName='ADColumn_ADInfoProcess',Updated=TO_TIMESTAMP('2014-06-06 19:43:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=211377 +; + +-- Jun 6, 2014 7:43:23 PM ICT +ALTER TABLE AD_InfoProcess ADD COLUMN AD_Column_ID NUMERIC(10) DEFAULT NULL +; + +-- Jun 6, 2014 7:43:23 PM ICT +ALTER TABLE AD_InfoProcess ADD CONSTRAINT ADColumn_ADInfoProcess FOREIGN KEY (AD_Column_ID) REFERENCES ad_column(ad_column_id) DEFERRABLE INITIALLY DEFERRED +; + +-- Jun 6, 2014 7:45:32 PM ICT +INSERT INTO AD_Field (SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,AD_Column_ID,EntityType,Created) VALUES (0,'N',200142,0,'N','N',100,'N',203108,'N','Column to resolve issue in https://idempiere.atlassian.net/browse/IDEMPIERE-1970','Name of unique column in a view. value of this column will save to t_selection table','ViewID Column','5aacf0a1-baba-4bab-9b24-047b538a6f5d','Y','N',100,0,100,TO_TIMESTAMP('2014-06-06 19:45:26','YYYY-MM-DD HH24:MI:SS'),'Y','Y',70,1,'N',0,1,1,'N','N',211377,'D',TO_TIMESTAMP('2014-06-06 19:45:26','YYYY-MM-DD HH24:MI:SS')) +; + +-- Jun 6, 2014 7:46:32 PM ICT +UPDATE AD_Field SET SeqNo=80, IsDisplayed='Y', XPosition=4, ColumnSpan=2,Updated=TO_TIMESTAMP('2014-06-06 19:46:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203108 +; + +-- Jun 6, 2014 7:46:32 PM ICT +UPDATE AD_Field SET SeqNo=100, IsDisplayed='Y', XPosition=2,Updated=TO_TIMESTAMP('2014-06-06 19:46:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203038 +; +ALTER TABLE t_selection ADD COLUMN ViewID character varying(30) +; +SELECT register_migration_script('201406061604_IDEMPIERE-1970.sql') FROM dual +; diff --git a/migration/i2.0z/postgresql/201407101604_IDEMPIERE-1788-fix-unq-index.sql b/migration/i2.0z/postgresql/201407101604_IDEMPIERE-1788-fix-unq-index.sql new file mode 100644 index 0000000000..db5012891e --- /dev/null +++ b/migration/i2.0z/postgresql/201407101604_IDEMPIERE-1788-fix-unq-index.sql @@ -0,0 +1,10 @@ +-- Jul 10, 2014 6:44:09 PM ICT +-- I forgot to set the DICTIONARY_ID_COMMENTS System Configurator +DROP INDEX ad_preference_attribute +; + +-- Jul 10, 2014 6:44:09 PM ICT +CREATE UNIQUE INDEX ad_preference_attribute ON AD_Preference (PreferenceFor,AD_Process_ID,AD_Client_ID,AD_Org_ID,AD_Window_ID,AD_User_ID,Attribute) +; +SELECT register_migration_script('201407101604_IDEMPIERE-1788-fix-unq-index.sql') FROM dual +; diff --git a/migration/i2.0z/postgresql/201407121604_IDEMPIERE-2052.sql b/migration/i2.0z/postgresql/201407121604_IDEMPIERE-2052.sql new file mode 100644 index 0000000000..4b3220bd49 --- /dev/null +++ b/migration/i2.0z/postgresql/201407121604_IDEMPIERE-2052.sql @@ -0,0 +1,6 @@ +-- Jul 12, 2014 3:39:07 PM ICT +-- Jul 12, 2014 3:39:16 PM ICT +INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Client_ID,AD_Org_ID,Created) VALUES ('E','Select tab to export',200303,'D','8ebc806d-f410-433a-b3d6-152133bd6d63','SelectTabToExport','Y',TO_TIMESTAMP('2014-07-12 15:39:15','YYYY-MM-DD HH24:MI:SS'),100,100,0,0,TO_TIMESTAMP('2014-07-12 15:39:15','YYYY-MM-DD HH24:MI:SS')) +; +SELECT register_migration_script('201407121604_IDEMPIERE-2052.sql') FROM dual +; diff --git a/migration/i2.0z/postgresql/201407160833_IDEMPIERE-2055.sql b/migration/i2.0z/postgresql/201407160833_IDEMPIERE-2055.sql new file mode 100644 index 0000000000..b8d3864064 --- /dev/null +++ b/migration/i2.0z/postgresql/201407160833_IDEMPIERE-2055.sql @@ -0,0 +1,16 @@ +-- Jul 16, 2014 8:32:31 AM COT +-- IDEMPIERE-2055 Changed Constraints for Web Service Security +UPDATE AD_Column SET IsUpdateable='N', IsToolbarButton='N', FKConstraintType='C',Updated=TO_TIMESTAMP('2014-07-16 08:32:31','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=56769 +; + +-- Jul 16, 2014 8:32:49 AM COT +ALTER TABLE WS_WebServiceTypeAccess DROP CONSTRAINT wswebservicetype_wswebservicet +; + +-- Jul 16, 2014 8:32:50 AM COT +ALTER TABLE WS_WebServiceTypeAccess ADD CONSTRAINT wswebservicetype_wswebservicet FOREIGN KEY (WS_WebServiceType_ID) REFERENCES ws_webservicetype(ws_webservicetype_id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED +; + +SELECT register_migration_script('201407160833_IDEMPIERE-2055.sql') FROM dual +; + diff --git a/migration/i2.0z/postgresql/201407161014_IDEMPIERE-1851.sql b/migration/i2.0z/postgresql/201407161014_IDEMPIERE-1851.sql new file mode 100644 index 0000000000..d412fefcda --- /dev/null +++ b/migration/i2.0z/postgresql/201407161014_IDEMPIERE-1851.sql @@ -0,0 +1,18 @@ +-- Mar 24, 2014 2:07:01 PM CET +-- https://idempiere.atlassian.net/browse/IDEMPIERE-1851 +INSERT INTO AD_Process_Para (IsRange,AD_Element_ID,AD_Process_Para_ID,AD_Process_Para_UU,Help,AD_Reference_ID,IsMandatory,EntityType,Name,ColumnName,Description,FieldLength,IsCentrallyMaintained,SeqNo,IsActive,UpdatedBy,Updated,CreatedBy,Created,AD_Org_ID,IsEncrypted,AD_Client_ID,AD_Process_ID,AD_Reference_Value_ID) VALUES ('N',1682,200076,'e9ad57d5-86b3-45a1-bd01-6b4079b31a10','The Entity Types "Dictionary", "iDempiere" and "Application" might be automatically synchronized and customizations deleted or overwritten. + +For customizations, copy the entity and select "User"!',18,'N','D','Entity Type','EntityType','Dictionary Entity Type; Determines ownership and synchronization',0,'Y',10,'Y',100,TO_TIMESTAMP('2014-03-24 14:07:00','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-03-24 14:07:00','YYYY-MM-DD HH24:MI:SS'),0,'N',0,174,389) +; + +-- Mar 24, 2014 2:08:12 PM CET +INSERT INTO AD_Process_Para (IsRange,AD_Process_Para_ID,AD_Process_Para_UU,AD_Reference_ID,IsMandatory,EntityType,Name,ColumnName,FieldLength,IsCentrallyMaintained,SeqNo,IsActive,UpdatedBy,Updated,CreatedBy,Created,AD_Org_ID,IsEncrypted,AD_Client_ID,AD_Process_ID) VALUES ('N',200077,'5cc8670c-0715-4351-9c5e-760f902f6ef6',16,'N','D','CreatedSince','CreatedSince',7,'N',20,'Y',100,TO_TIMESTAMP('2014-03-24 14:08:11','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-03-24 14:08:11','YYYY-MM-DD HH24:MI:SS'),0,'N',0,174) +; + +-- Mar 24, 2014 2:08:24 PM CET +UPDATE AD_Process_Para SET Name='Created Since',Updated=TO_TIMESTAMP('2014-03-24 14:08:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_Para_ID=200077 +; + +SELECT register_migration_script('201407161014_IDEMPIERE-1851.sql') FROM dual +; + diff --git a/org.adempiere.base.process/src/org/compiere/process/TabCreateFields.java b/org.adempiere.base.process/src/org/compiere/process/TabCreateFields.java index e5bc1ff033..e4d7239cf4 100644 --- a/org.adempiere.base.process/src/org/compiere/process/TabCreateFields.java +++ b/org.adempiere.base.process/src/org/compiere/process/TabCreateFields.java @@ -18,6 +18,7 @@ package org.compiere.process; import java.sql.PreparedStatement; import java.sql.ResultSet; +import java.sql.Timestamp; import java.util.logging.Level; import org.compiere.model.MColumn; @@ -28,6 +29,7 @@ import org.compiere.model.PO; import org.compiere.util.AdempiereSystemError; import org.compiere.util.DB; import org.compiere.util.DisplayType; +import org.compiere.util.Util; /** @@ -47,14 +49,29 @@ import org.compiere.util.DisplayType; */ public class TabCreateFields extends SvrProcess { - /** Tab NUmber */ + /** Tab Number */ private int p_AD_Tab_ID= 0; + private String p_EntityType = null; + private Timestamp p_CreatedSince = null; /** * prepare */ protected void prepare () { + ProcessInfoParameter[] para = getParameter(); + for (int i = 0; i < para.length; i++) + { + String name = para[i].getParameterName(); + if (para[i].getParameter() == null) + ; + else if (name.equals("EntityType")) + p_EntityType = (String)para[i].getParameter(); + else if (name.equals("CreatedSince")) + p_CreatedSince = para[i].getParameterAsTimestamp(); + else + log.log(Level.SEVERE, "Unknown Parameter: " + name); + } p_AD_Tab_ID = getRecord_ID(); } // prepare @@ -78,8 +95,14 @@ public class TabCreateFields extends SvrProcess + " AND f.AD_Tab_ID=?)" // #2 + " AND AD_Table_ID=?" // #3 + " AND NOT (Name LIKE 'Created%' OR Name LIKE 'Updated%')" - + " AND IsActive='Y' " - + "ORDER BY CASE " + + " AND IsActive='Y' "; + + if(!Util.isEmpty(p_EntityType)) + sql += " AND c.entitytype = ?"; + if(p_CreatedSince != null) + sql += " AND c.created >= ? "; + + sql += "ORDER BY CASE " + " WHEN c.ColumnName = 'AD_Client_ID' THEN -100 " + " WHEN c.ColumnName = 'AD_Org_ID' THEN -90 " + " WHEN c.ColumnName = 'Value' THEN -80 " @@ -101,6 +124,11 @@ public class TabCreateFields extends SvrProcess pstmt.setInt (1, tab.getAD_Table_ID()); pstmt.setInt (2, tab.getAD_Tab_ID()); pstmt.setInt (3, tab.getAD_Table_ID()); + int i = 4; + if(!Util.isEmpty(p_EntityType)) + pstmt.setString(i++, p_EntityType); + if(p_CreatedSince != null) + pstmt.setTimestamp(i++, p_CreatedSince); rs = pstmt.executeQuery (); String uuidcolname = PO.getUUIDColumnName(tab.getAD_Table().getTableName()); while (rs.next ()) diff --git a/org.adempiere.base/src/org/adempiere/base/IGridTabExporter.java b/org.adempiere.base/src/org/adempiere/base/IGridTabExporter.java index b259811269..3f14d0e17f 100644 --- a/org.adempiere.base/src/org/adempiere/base/IGridTabExporter.java +++ b/org.adempiere.base/src/org/adempiere/base/IGridTabExporter.java @@ -53,4 +53,11 @@ public interface IGridTabExporter { * @return suggested file name */ public String getSuggestedFileName(GridTab gridTab); + + /** + * Check a tab (detail tab) is support to export in this exporter + * @param gridTab + * @return + */ + public boolean isExportableTab (GridTab gridTab); } diff --git a/org.adempiere.base/src/org/adempiere/impexp/GridTabCSVExporter.java b/org.adempiere.base/src/org/adempiere/impexp/GridTabCSVExporter.java index 0dc0ecbce8..86b86425bc 100644 --- a/org.adempiere.base/src/org/adempiere/impexp/GridTabCSVExporter.java +++ b/org.adempiere.base/src/org/adempiere/impexp/GridTabCSVExporter.java @@ -135,24 +135,25 @@ public class GridTabCSVExporter implements IGridTabExporter //Details up to tab level 1 if(childs.size() > 0){ int specialDetDispayType = 0; - int numOfTabs=0; + //int numOfTabs=0; for(GridTab detail: childs){ - if(indxDetailSelected != detail.getTabNo()) - continue; + //if(indxDetailSelected != detail.getTabNo()) + //continue; if(!detail.isDisplayed()) continue; if(detail.getDisplayLogic()!=null){ - if(!currentRowOnly) - numOfTabs--; - else if(!Evaluator.evaluateLogic(detail,detail.getDisplayLogic())) + //if(!currentRowOnly) + //numOfTabs--; + //TODO: it's need? DisplayLogic is evaluated when call detail.isDisplayed() + if(currentRowOnly && !Evaluator.evaluateLogic(detail,detail.getDisplayLogic())) continue; } //comment this line if you want to export all tabs - if(numOfTabs > 0) - break; + //if(numOfTabs > 0) + //break; if(detail.getTabLevel()>1) continue; @@ -196,7 +197,7 @@ public class GridTabCSVExporter implements IGridTabExporter specialDetDispayType = 0; } tabMapDetails.put(detail,gridFields); - numOfTabs++; + //numOfTabs++; } gridFields = null; } @@ -593,4 +594,23 @@ public class GridTabCSVExporter implements IGridTabExporter return "Export_" + gridTab.getTableName() + "." + getFileExtension(); } + /** + * {@inheritDoc} + * just export display tab, one level deep, not read only and not account tab + */ + @Override + public boolean isExportableTab(GridTab detail) { + if(!detail.isDisplayed()) + return false; + + if(detail.getTabLevel()>1) + return false; + + if (isValidTabToExport(detail) != null){ + return false; + } + + return true; + } + } diff --git a/org.adempiere.base/src/org/adempiere/impexp/GridTabExcelExporter.java b/org.adempiere.base/src/org/adempiere/impexp/GridTabExcelExporter.java index 8b7616a86a..39a9eebacd 100644 --- a/org.adempiere.base/src/org/adempiere/impexp/GridTabExcelExporter.java +++ b/org.adempiere.base/src/org/adempiere/impexp/GridTabExcelExporter.java @@ -182,4 +182,13 @@ public class GridTabExcelExporter extends AbstractExcelExporter implements IGrid public String getSuggestedFileName(GridTab gridTab) { return gridTab.getName() + "." + getFileExtension(); } + + /** + * {@inheritDoc} + * no detail tab is support to export with excel + */ + @Override + public boolean isExportableTab(GridTab gridTab) { + return false; + } } diff --git a/org.adempiere.base/src/org/adempiere/model/MInfoProcess.java b/org.adempiere.base/src/org/adempiere/model/MInfoProcess.java index 1934a076e4..d9d4d37b25 100644 --- a/org.adempiere.base/src/org/adempiere/model/MInfoProcess.java +++ b/org.adempiere.base/src/org/adempiere/model/MInfoProcess.java @@ -16,6 +16,7 @@ package org.adempiere.model; import java.sql.ResultSet; import java.util.Properties; import java.util.logging.Level; +import org.compiere.model.MColumn; import org.compiere.model.MProcess; import org.compiere.model.X_AD_InfoProcess; import org.compiere.util.Env; @@ -32,7 +33,7 @@ public class MInfoProcess extends X_AD_InfoProcess { /** * */ - private static final long serialVersionUID = -7324387365288006121L; + private static final long serialVersionUID = -2167041563372362436L; /** * {@inheritDoc} @@ -56,6 +57,8 @@ public class MInfoProcess extends X_AD_InfoProcess { } + protected String m_viewIDName; + /************************************************************************** * Is the Column Visible ? Evaluater base in display logic expression and context of this po * @return true, if visible @@ -86,4 +89,25 @@ public class MInfoProcess extends X_AD_InfoProcess { return retValue; } + /** + * name of column define is ViewID + * @return + */ + public String getViewIDName (){ + // no column define + if (getAD_Column_ID() == 0) + return null; + + // return cache value + if (m_viewIDName != null) + return m_viewIDName; + + MColumn viewIDColumn = (MColumn)getAD_Column(); + if (viewIDColumn != null){ + return viewIDColumn.getColumnName(); +} + + return null; + } + } diff --git a/org.adempiere.base/src/org/adempiere/util/ProcessUtil.java b/org.adempiere.base/src/org/adempiere/util/ProcessUtil.java index 2da83f4d2c..180d3544f5 100644 --- a/org.adempiere.base/src/org/adempiere/util/ProcessUtil.java +++ b/org.adempiere.base/src/org/adempiere/util/ProcessUtil.java @@ -269,7 +269,7 @@ public final class ProcessUtil { msg = engine.eval(rule.getScript()).toString(); //transaction should rollback if there are error in process - if (msg.startsWith("@Error@")) + if (msg != null && msg.startsWith("@Error@")) success = false; // Parse Variables diff --git a/org.adempiere.base/src/org/compiere/acct/Doc.java b/org.adempiere.base/src/org/compiere/acct/Doc.java index 17937087a3..d03ac4aab2 100644 --- a/org.adempiere.base/src/org/compiere/acct/Doc.java +++ b/org.adempiere.base/src/org/compiere/acct/Doc.java @@ -129,7 +129,7 @@ public abstract class Doc * M_Requisition POR **************************************************************************/ - private static final String DOC_TYPE_BY_DOC_BASE_TYPE_SQL = "SELECT C_DocType_ID FROM C_DocType WHERE AD_Client_ID=? AND DocBaseType=? AND IsActive='Y'"; + private static final String DOC_TYPE_BY_DOC_BASE_TYPE_SQL = "SELECT C_DocType_ID FROM C_DocType WHERE AD_Client_ID=? AND DocBaseType=? AND IsActive='Y' ORDER BY IsDefault DESC, C_DocType_ID"; /** AR Invoices - ARI */ public static final String DOCTYPE_ARInvoice = MDocType.DOCBASETYPE_ARInvoice; diff --git a/org.adempiere.base/src/org/compiere/model/GridField.java b/org.adempiere.base/src/org/compiere/model/GridField.java index 46bea7b42b..2fa008600e 100644 --- a/org.adempiere.base/src/org/compiere/model/GridField.java +++ b/org.adempiere.base/src/org/compiere/model/GridField.java @@ -81,7 +81,7 @@ public class GridField /** * */ - private static final long serialVersionUID = -2699974883136279635L; + private static final long serialVersionUID = -3759342619253398035L; /** * Field Constructor. @@ -660,6 +660,14 @@ public class GridField } // while more Tokens } // Default value + if (getAD_Process_ID_Of_Panel() > 0){ + defStr = Env.getPreference (m_vo.ctx, getAD_Window_ID_Of_Panel(), getAD_Process_ID_Of_Panel(), m_vo.ColumnName); + if (!defStr.equals("")) + { + if (log.isLoggable(Level.FINE)) log.fine("[Process Parameter Preference] " + m_vo.ColumnName + "=" + defStr); + return createDefault(defStr); + } + } else { /** * (d) Preference (user) - P| */ @@ -680,6 +688,8 @@ public class GridField return createDefault(defStr); } + } + /** * (f) DataType defaults */ @@ -1053,6 +1063,23 @@ public class GridField { return m_vo.AD_Window_ID; } + /** + * in case this field lie on parameter process panel, AD_Process_ID_Of_Panel is id of process will run in this panel + * it's difference with AD_Process_ID + */ + public int getAD_Process_ID_Of_Panel() + { + return m_vo.AD_Process_ID_Of_Panel; + } + + /** + * in case this field lie on parameter process panel, AD_Process_ID_Of_Panel is id of process will run in this panel + * it's difference with AD_Process_ID + */ + public int getAD_Window_ID_Of_Panel() + { + return m_vo.AD_Window_ID_Of_Panel > 0 ? m_vo.AD_Window_ID_Of_Panel : m_vo.AD_Window_ID; + } /** get AD_Chart_ID * @return chart id diff --git a/org.adempiere.base/src/org/compiere/model/GridFieldVO.java b/org.adempiere.base/src/org/compiere/model/GridFieldVO.java index ca8d7ca42f..8a1f6deebf 100644 --- a/org.adempiere.base/src/org/compiere/model/GridFieldVO.java +++ b/org.adempiere.base/src/org/compiere/model/GridFieldVO.java @@ -46,9 +46,7 @@ public class GridFieldVO implements Serializable /** * */ - private static final long serialVersionUID = 7595228091613559685L; - - + private static final long serialVersionUID = 6391887120974125904L; /** * Return the SQL statement used for the MFieldVO.create @@ -314,13 +312,15 @@ public class GridFieldVO implements Serializable * @param rs result set AD_Process_Para * @return MFieldVO */ - public static GridFieldVO createParameter (Properties ctx, int WindowNo, ResultSet rs) + public static GridFieldVO createParameter (Properties ctx, int WindowNo, int ProcessIDOfPanel, int WindowIDOfPanel, ResultSet rs) { GridFieldVO vo = new GridFieldVO (ctx, WindowNo, 0, 0, 0, false); vo.isProcess = true; vo.IsDisplayed = true; vo.IsReadOnly = false; vo.IsUpdateable = true; + vo.AD_Process_ID_Of_Panel = ProcessIDOfPanel; + vo.AD_Window_ID_Of_Panel = WindowIDOfPanel; try { @@ -399,6 +399,7 @@ public class GridFieldVO implements Serializable voT.IsEncryptedField = voF.IsEncryptedField; voT.ReadOnlyLogic = voF.ReadOnlyLogic; voT.DisplayLogic = voF.DisplayLogic; + voT.AD_Process_ID_Of_Panel = voF.AD_Process_ID_Of_Panel; voT.initFinish(); return voT; @@ -487,6 +488,12 @@ public class GridFieldVO implements Serializable public int TabNo; /** AD_Winmdow_ID */ public int AD_Window_ID; + /** + * in case this field lie on parameter process panel, AD_Process_ID_Of_Panel is id of process will run in this panel + * it's difference with AD_Process_ID + */ + public int AD_Process_ID_Of_Panel; + public int AD_Window_ID_Of_Panel; /** AD_Tab_ID */ public int AD_Tab_ID; /** Is the Tab Read Only */ @@ -756,7 +763,8 @@ public class GridFieldVO implements Serializable // Process Parameter clone.isRange = isRange; clone.DefaultValue2 = DefaultValue2; - + clone.AD_Process_ID_Of_Panel = AD_Process_ID_Of_Panel; + clone.AD_Window_ID_Of_Panel = AD_Window_ID_Of_Panel; return clone; } // clone diff --git a/org.adempiere.base/src/org/compiere/model/I_AD_InfoProcess.java b/org.adempiere.base/src/org/compiere/model/I_AD_InfoProcess.java index 9adeeda0ef..da0c5bfbba 100644 --- a/org.adempiere.base/src/org/compiere/model/I_AD_InfoProcess.java +++ b/org.adempiere.base/src/org/compiere/model/I_AD_InfoProcess.java @@ -49,6 +49,21 @@ public interface I_AD_InfoProcess */ public int getAD_Client_ID(); + /** Column name AD_Column_ID */ + public static final String COLUMNNAME_AD_Column_ID = "AD_Column_ID"; + + /** Set ViewID Column. + * Name of unique column in a view. value of this column will save to t_selection table + */ + public void setAD_Column_ID (int AD_Column_ID); + + /** Get ViewID Column. + * Name of unique column in a view. value of this column will save to t_selection table + */ + public int getAD_Column_ID(); + + public org.compiere.model.I_AD_Column getAD_Column() throws RuntimeException; + /** Column name AD_InfoProcess_ID */ public static final String COLUMNNAME_AD_InfoProcess_ID = "AD_InfoProcess_ID"; diff --git a/org.adempiere.base/src/org/compiere/model/I_AD_Preference.java b/org.adempiere.base/src/org/compiere/model/I_AD_Preference.java index 8b9cc908e1..40f423746d 100644 --- a/org.adempiere.base/src/org/compiere/model/I_AD_Preference.java +++ b/org.adempiere.base/src/org/compiere/model/I_AD_Preference.java @@ -84,6 +84,21 @@ public interface I_AD_Preference /** Get AD_Preference_UU */ public String getAD_Preference_UU(); + /** Column name AD_Process_ID */ + public static final String COLUMNNAME_AD_Process_ID = "AD_Process_ID"; + + /** Set Process. + * Process or Report + */ + public void setAD_Process_ID (int AD_Process_ID); + + /** Get Process. + * Process or Report + */ + public int getAD_Process_ID(); + + public org.compiere.model.I_AD_Process getAD_Process() throws RuntimeException; + /** Column name AD_User_ID */ public static final String COLUMNNAME_AD_User_ID = "AD_User_ID"; @@ -152,6 +167,19 @@ public interface I_AD_Preference */ public boolean isActive(); + /** Column name PreferenceFor */ + public static final String COLUMNNAME_PreferenceFor = "PreferenceFor"; + + /** Set Preference For. + * Type of preference, it can window, info window or parameter process + */ + public void setPreferenceFor (String PreferenceFor); + + /** Get Preference For. + * Type of preference, it can window, info window or parameter process + */ + public String getPreferenceFor(); + /** Column name Updated */ public static final String COLUMNNAME_Updated = "Updated"; diff --git a/org.adempiere.base/src/org/compiere/model/I_AD_UserMail.java b/org.adempiere.base/src/org/compiere/model/I_AD_UserMail.java index afc98f3aef..156f750708 100644 --- a/org.adempiere.base/src/org/compiere/model/I_AD_UserMail.java +++ b/org.adempiere.base/src/org/compiere/model/I_AD_UserMail.java @@ -128,6 +128,15 @@ public interface I_AD_UserMail */ public String getDeliveryConfirmation(); + /** Column name EMailFrom */ + public static final String COLUMNNAME_EMailFrom = "EMailFrom"; + + /** Set EMail sent from */ + public void setEMailFrom (String EMailFrom); + + /** Get EMail sent from */ + public String getEMailFrom(); + /** Column name IsActive */ public static final String COLUMNNAME_IsActive = "IsActive"; @@ -176,6 +185,33 @@ public interface I_AD_UserMail */ public String getMessageID(); + /** Column name RecipientBcc */ + public static final String COLUMNNAME_RecipientBcc = "RecipientBcc"; + + /** Set Bcc */ + public void setRecipientBcc (String RecipientBcc); + + /** Get Bcc */ + public String getRecipientBcc(); + + /** Column name RecipientCc */ + public static final String COLUMNNAME_RecipientCc = "RecipientCc"; + + /** Set Cc */ + public void setRecipientCc (String RecipientCc); + + /** Get Cc */ + public String getRecipientCc(); + + /** Column name RecipientTo */ + public static final String COLUMNNAME_RecipientTo = "RecipientTo"; + + /** Set To */ + public void setRecipientTo (String RecipientTo); + + /** Get To */ + public String getRecipientTo(); + /** Column name R_MailText_ID */ public static final String COLUMNNAME_R_MailText_ID = "R_MailText_ID"; diff --git a/org.adempiere.base/src/org/compiere/model/MClient.java b/org.adempiere.base/src/org/compiere/model/MClient.java index 51a06cd44d..eea3f1af16 100644 --- a/org.adempiere.base/src/org/compiere/model/MClient.java +++ b/org.adempiere.base/src/org/compiere/model/MClient.java @@ -735,6 +735,11 @@ public class MClient extends X_AD_Client um.setAD_User_ID(to.getAD_User_ID()); um.setSubject(email.getSubject()); um.setMailText(email.getMessageCRLF()); + um.setMailText(email.getMessageCRLF()); + um.setEMailFrom(email.getFrom().toString()); + um.setRecipientTo(MUserMail.getRecipientWithCommaSeparator(email.getTos())); + um.setRecipientCc(MUserMail.getRecipientWithCommaSeparator(email.getCcs())); + um.setRecipientBcc(MUserMail.getRecipientWithCommaSeparator(email.getBccs())); if (email.isSentOK()) um.setMessageID(email.getMessageID()); else diff --git a/org.adempiere.base/src/org/compiere/model/MOrder.java b/org.adempiere.base/src/org/compiere/model/MOrder.java index 12bb387894..187ef96ae0 100644 --- a/org.adempiere.base/src/org/compiere/model/MOrder.java +++ b/org.adempiere.base/src/org/compiere/model/MOrder.java @@ -1722,15 +1722,23 @@ public class MOrder extends X_C_Order implements DocAction BigDecimal difference = target .subtract(line.getQtyReserved()) .subtract(line.getQtyDelivered()); - if (difference.signum() <= 0) + + if (difference.signum() == 0 || line.getQtyOrdered().signum() < 0) { - MProduct product = line.getProduct(); - if (product != null) + if (difference.signum() == 0 || line.getQtyReserved().signum() == 0) { - Volume = Volume.add(product.getVolume().multiply(line.getQtyOrdered())); - Weight = Weight.add(product.getWeight().multiply(line.getQtyOrdered())); + MProduct product = line.getProduct(); + if (product != null) + { + Volume = Volume.add(product.getVolume().multiply(line.getQtyOrdered())); + Weight = Weight.add(product.getWeight().multiply(line.getQtyOrdered())); + } + continue; + } + else if (line.getQtyOrdered().signum() < 0 && line.getQtyReserved().signum() > 0) + { + difference = line.getQtyReserved().negate(); } - continue; } if (log.isLoggable(Level.FINE)) log.fine("Line=" + line.getLine() diff --git a/org.adempiere.base/src/org/compiere/model/MRefList.java b/org.adempiere.base/src/org/compiere/model/MRefList.java index f3d5916086..678362ca9f 100644 --- a/org.adempiere.base/src/org/compiere/model/MRefList.java +++ b/org.adempiere.base/src/org/compiere/model/MRefList.java @@ -44,8 +44,7 @@ public class MRefList extends X_AD_Ref_List /** * */ - private static final long serialVersionUID = -6948532574960232289L; - + private static final long serialVersionUID = -3612793187620297377L; /** * Get Reference List @@ -61,7 +60,7 @@ public class MRefList extends X_AD_Ref_List .setParameters(AD_Reference_ID, Value) .firstOnly(); } // get - + /** * Get Reference List Value Name (cached) * @param ctx context @@ -72,6 +71,18 @@ public class MRefList extends X_AD_Ref_List public static String getListName (Properties ctx, int AD_Reference_ID, String Value) { String AD_Language = Env.getAD_Language(ctx); + return getListName (AD_Language, AD_Reference_ID, Value); + } + + /** + * Get Reference List Value Name (cached) + * @param Language + * @param AD_Reference_ID reference + * @param Value value + * @return List or "" + */ + public static String getListName (String AD_Language, int AD_Reference_ID, String Value) + { String key = AD_Language + "_" + AD_Reference_ID + "_" + Value; String retValue = (String)s_cache.get(key); if (retValue != null) @@ -117,7 +128,8 @@ public class MRefList extends X_AD_Ref_List // return retValue; } // getListName - + + /** * Get Reference List Value Description (cached) * @param ctx context @@ -128,6 +140,18 @@ public class MRefList extends X_AD_Ref_List public static String getListDescription (Properties ctx, String ListName, String Value) { String AD_Language = Env.getAD_Language(ctx); + return getListDescription (AD_Language, ListName, Value); + } + + /** + * Get Reference List Value Description (cached) + * @param Language + * @param ListName reference + * @param Value value + * @return List or null + */ + public static String getListDescription (String AD_Language, String ListName, String Value) + { String key = AD_Language + "_" + ListName + "_" + Value; String retValue = s_cache.get(key); if (retValue != null) diff --git a/org.adempiere.base/src/org/compiere/model/MRole.java b/org.adempiere.base/src/org/compiere/model/MRole.java index eb758434e0..9d9183df8b 100644 --- a/org.adempiere.base/src/org/compiere/model/MRole.java +++ b/org.adempiere.base/src/org/compiere/model/MRole.java @@ -2368,9 +2368,10 @@ public final class MRole extends X_AD_Role // NOT IN (x) if (m_recordAccess[i].isExclude()) { - if (sbExclude.length() == 0) - sbExclude.append(keyColumnName) - .append(" NOT IN ("); + if (sbExclude.length() == 0){ + sbExclude.append("(").append(keyColumnName).append(" IS NULL OR "); + sbExclude.append(keyColumnName).append(" NOT IN ("); + } else sbExclude.append(","); sbExclude.append(m_recordAccess[i].getRecord_ID()); @@ -2390,7 +2391,7 @@ public final class MRole extends X_AD_Role StringBuilder sb = new StringBuilder(); if (sbExclude.length() > 0) - sb.append(sbExclude).append(")"); + sb.append(sbExclude).append("))"); if (sbInclude.length() > 0) { if (sb.length() > 0) diff --git a/org.adempiere.base/src/org/compiere/model/MUserMail.java b/org.adempiere.base/src/org/compiere/model/MUserMail.java index 63f485536c..6b52180bad 100644 --- a/org.adempiere.base/src/org/compiere/model/MUserMail.java +++ b/org.adempiere.base/src/org/compiere/model/MUserMail.java @@ -19,7 +19,10 @@ package org.compiere.model; import java.sql.ResultSet; import java.util.Properties; +import javax.mail.internet.InternetAddress; + import org.compiere.util.EMail; +import org.compiere.util.Env; /** * User Mail Model @@ -31,7 +34,7 @@ public class MUserMail extends X_AD_UserMail /** * */ - private static final long serialVersionUID = -1019980049099249013L; + private static final long serialVersionUID = 925597416692485382L; /** * Standard Constructor @@ -67,6 +70,7 @@ public class MUserMail extends X_AD_UserMail setClientOrg(parent); setAD_User_ID(AD_User_ID); setR_MailText_ID(parent.getR_MailText_ID()); + setSenderAndRecipient(mail); // if (mail.isSentOK()) setMessageID(mail.getMessageID()); @@ -89,6 +93,7 @@ public class MUserMail extends X_AD_UserMail setClientOrg(parent); setAD_User_ID(AD_User_ID); setW_MailMsg_ID(parent.getW_MailMsg_ID()); + setSenderAndRecipient(mail); // if (mail.isSentOK()) setMessageID(mail.getMessageID()); @@ -112,6 +117,24 @@ public class MUserMail extends X_AD_UserMail setAD_User_ID(AD_User_ID); setSubject(mail.getSubject()); setMailText(mail.getMessageCRLF()); + setSenderAndRecipient(mail); + // + if (mail.isSentOK()) + setMessageID(mail.getMessageID()); + else + { + setMessageID(mail.getSentMsg()); + setIsDelivered(ISDELIVERED_No); + } + } // MUserMail + + public MUserMail (Properties ctx, EMail mail) + { + this (ctx, 0, null); + setAD_User_ID(Env.getAD_User_ID(ctx)); + setSubject(mail.getSubject()); + setMailText(mail.getMessageCRLF()); + setSenderAndRecipient(mail); // if (mail.isSentOK()) setMessageID(mail.getMessageID()); @@ -155,4 +178,23 @@ public class MUserMail extends X_AD_UserMail return s == null; } // isDeliveredUnknown + /** Fill sender and recipients fields */ + public void setSenderAndRecipient(EMail mail) + { + setEMailFrom(mail.getFrom().toString()); + setRecipientTo(getRecipientWithCommaSeparator(mail.getTos())); + setRecipientCc(getRecipientWithCommaSeparator(mail.getCcs())); + setRecipientBcc(getRecipientWithCommaSeparator(mail.getBccs())); + } + + static public String getRecipientWithCommaSeparator(InternetAddress[] recipients) + { + StringBuilder retValue = new StringBuilder(""); + if (recipients != null) { + for (InternetAddress ia : recipients) + retValue.append(retValue.length() > 0 ? ", " : "" ).append(ia.getAddress()); + } + return retValue.toString(); + } + } // MUserMail diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_InfoProcess.java b/org.adempiere.base/src/org/compiere/model/X_AD_InfoProcess.java index a88e564dce..0003f046d5 100644 --- a/org.adempiere.base/src/org/compiere/model/X_AD_InfoProcess.java +++ b/org.adempiere.base/src/org/compiere/model/X_AD_InfoProcess.java @@ -30,7 +30,7 @@ public class X_AD_InfoProcess extends PO implements I_AD_InfoProcess, I_Persiste /** * */ - private static final long serialVersionUID = 20140531L; + private static final long serialVersionUID = 20140606L; /** Standard Constructor */ public X_AD_InfoProcess (Properties ctx, int AD_InfoProcess_ID, String trxName) @@ -76,6 +76,34 @@ public class X_AD_InfoProcess extends PO implements I_AD_InfoProcess, I_Persiste return sb.toString(); } + public org.compiere.model.I_AD_Column getAD_Column() throws RuntimeException + { + return (org.compiere.model.I_AD_Column)MTable.get(getCtx(), org.compiere.model.I_AD_Column.Table_Name) + .getPO(getAD_Column_ID(), get_TrxName()); } + + /** Set ViewID Column. + @param AD_Column_ID + Name of unique column in a view. value of this column will save to t_selection table + */ + public void setAD_Column_ID (int AD_Column_ID) + { + if (AD_Column_ID < 1) + set_Value (COLUMNNAME_AD_Column_ID, null); + else + set_Value (COLUMNNAME_AD_Column_ID, Integer.valueOf(AD_Column_ID)); + } + + /** Get ViewID Column. + @return Name of unique column in a view. value of this column will save to t_selection table + */ + public int getAD_Column_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_AD_Column_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + /** Set Info Process. @param AD_InfoProcess_ID Info Process */ public void setAD_InfoProcess_ID (int AD_InfoProcess_ID) diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_Preference.java b/org.adempiere.base/src/org/compiere/model/X_AD_Preference.java index ef6b56142d..4c54ef543b 100644 --- a/org.adempiere.base/src/org/compiere/model/X_AD_Preference.java +++ b/org.adempiere.base/src/org/compiere/model/X_AD_Preference.java @@ -30,7 +30,7 @@ public class X_AD_Preference extends PO implements I_AD_Preference, I_Persistent /** * */ - private static final long serialVersionUID = 20131031L; + private static final long serialVersionUID = 20140604L; /** Standard Constructor */ public X_AD_Preference (Properties ctx, int AD_Preference_ID, String trxName) @@ -40,6 +40,8 @@ public class X_AD_Preference extends PO implements I_AD_Preference, I_Persistent { setAD_Preference_ID (0); setAttribute (null); + setPreferenceFor (null); +// W setValue (null); } */ } @@ -109,6 +111,34 @@ public class X_AD_Preference extends PO implements I_AD_Preference, I_Persistent return (String)get_Value(COLUMNNAME_AD_Preference_UU); } + public org.compiere.model.I_AD_Process getAD_Process() throws RuntimeException + { + return (org.compiere.model.I_AD_Process)MTable.get(getCtx(), org.compiere.model.I_AD_Process.Table_Name) + .getPO(getAD_Process_ID(), get_TrxName()); } + + /** Set Process. + @param AD_Process_ID + Process or Report + */ + public void setAD_Process_ID (int AD_Process_ID) + { + if (AD_Process_ID < 1) + set_Value (COLUMNNAME_AD_Process_ID, null); + else + set_Value (COLUMNNAME_AD_Process_ID, Integer.valueOf(AD_Process_ID)); + } + + /** Get Process. + @return Process or Report + */ + public int getAD_Process_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_AD_Process_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + public org.compiere.model.I_AD_User getAD_User() throws RuntimeException { return (org.compiere.model.I_AD_User)MTable.get(getCtx(), org.compiere.model.I_AD_User.Table_Name) @@ -187,6 +217,30 @@ public class X_AD_Preference extends PO implements I_AD_Preference, I_Persistent return new KeyNamePair(get_ID(), getAttribute()); } + /** PreferenceFor AD_Reference_ID=200084 */ + public static final int PREFERENCEFOR_AD_Reference_ID=200084; + /** Window = W */ + public static final String PREFERENCEFOR_Window = "W"; + /** Process = P */ + public static final String PREFERENCEFOR_Process = "P"; + /** Set Preference For. + @param PreferenceFor + Type of preference, it can window, info window or parameter process + */ + public void setPreferenceFor (String PreferenceFor) + { + + set_Value (COLUMNNAME_PreferenceFor, PreferenceFor); + } + + /** Get Preference For. + @return Type of preference, it can window, info window or parameter process + */ + public String getPreferenceFor () + { + return (String)get_Value(COLUMNNAME_PreferenceFor); + } + /** Set Search Key. @param Value Search key for the record in the format required - must be unique diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_UserMail.java b/org.adempiere.base/src/org/compiere/model/X_AD_UserMail.java index 4a55e15a62..0606c0d8ae 100644 --- a/org.adempiere.base/src/org/compiere/model/X_AD_UserMail.java +++ b/org.adempiere.base/src/org/compiere/model/X_AD_UserMail.java @@ -30,7 +30,7 @@ public class X_AD_UserMail extends PO implements I_AD_UserMail, I_Persistent /** * */ - private static final long serialVersionUID = 20131031L; + private static final long serialVersionUID = 20140716L; /** Standard Constructor */ public X_AD_UserMail (Properties ctx, int AD_UserMail_ID, String trxName) @@ -161,6 +161,20 @@ public class X_AD_UserMail extends PO implements I_AD_UserMail, I_Persistent return (String)get_Value(COLUMNNAME_DeliveryConfirmation); } + /** Set EMail sent from. + @param EMailFrom EMail sent from */ + public void setEMailFrom (String EMailFrom) + { + set_Value (COLUMNNAME_EMailFrom, EMailFrom); + } + + /** Get EMail sent from. + @return EMail sent from */ + public String getEMailFrom () + { + return (String)get_Value(COLUMNNAME_EMailFrom); + } + /** IsDelivered AD_Reference_ID=319 */ public static final int ISDELIVERED_AD_Reference_ID=319; /** Yes = Y */ @@ -216,6 +230,48 @@ public class X_AD_UserMail extends PO implements I_AD_UserMail, I_Persistent return (String)get_Value(COLUMNNAME_MessageID); } + /** Set Bcc. + @param RecipientBcc Bcc */ + public void setRecipientBcc (String RecipientBcc) + { + set_Value (COLUMNNAME_RecipientBcc, RecipientBcc); + } + + /** Get Bcc. + @return Bcc */ + public String getRecipientBcc () + { + return (String)get_Value(COLUMNNAME_RecipientBcc); + } + + /** Set Cc. + @param RecipientCc Cc */ + public void setRecipientCc (String RecipientCc) + { + set_Value (COLUMNNAME_RecipientCc, RecipientCc); + } + + /** Get Cc. + @return Cc */ + public String getRecipientCc () + { + return (String)get_Value(COLUMNNAME_RecipientCc); + } + + /** Set To. + @param RecipientTo To */ + public void setRecipientTo (String RecipientTo) + { + set_Value (COLUMNNAME_RecipientTo, RecipientTo); + } + + /** Get To. + @return To */ + public String getRecipientTo () + { + return (String)get_Value(COLUMNNAME_RecipientTo); + } + public org.compiere.model.I_R_MailText getR_MailText() throws RuntimeException { return (org.compiere.model.I_R_MailText)MTable.get(getCtx(), org.compiere.model.I_R_MailText.Table_Name) diff --git a/org.adempiere.base/src/org/compiere/process/SvrProcess.java b/org.adempiere.base/src/org/compiere/process/SvrProcess.java index 2c9c00dffb..67ca51f844 100644 --- a/org.adempiere.base/src/org/compiere/process/SvrProcess.java +++ b/org.adempiere.base/src/org/compiere/process/SvrProcess.java @@ -211,7 +211,7 @@ public abstract class SvrProcess implements ProcessCall } //transaction should rollback if there are error in process - if(msg.startsWith("@Error@")) + if(msg != null && msg.startsWith("@Error@")) success = false; if (success) diff --git a/org.adempiere.base/src/org/compiere/util/DB.java b/org.adempiere.base/src/org/compiere/util/DB.java index d8a2ac7d7a..5ea1e72ae8 100644 --- a/org.adempiere.base/src/org/compiere/util/DB.java +++ b/org.adempiere.base/src/org/compiere/util/DB.java @@ -34,6 +34,7 @@ import java.text.MessageFormat; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Map; import java.util.Properties; import java.util.logging.Level; @@ -2291,6 +2292,8 @@ public final class DB /** * Create persistent selection in T_Selection table + * remain this function for backward compatibility. + * refer: IDEMPIERE-1970 * @param AD_PInstance_ID * @param selection * @param trxName @@ -2325,6 +2328,56 @@ public final class DB } } + /** + * Create persistent selection in T_Selection table + * saveKeys is map with key is rowID, value is list value of all viewID + * viewIDIndex is index of viewID need save. + * @param AD_PInstance_ID + * @param selection + * @param trxName + */ + public static void createT_Selection(int AD_PInstance_ID, Map> saveKeys, int viewIDIndex, String trxName) + { + StringBuilder insert = new StringBuilder(); + insert.append("INSERT INTO T_SELECTION(AD_PINSTANCE_ID, T_SELECTION_ID, ViewID) "); + int counter = 0; + for(Integer selectedId : saveKeys.keySet()) + { + counter++; + if (counter > 1) + insert.append(" UNION "); + insert.append("SELECT "); + insert.append(AD_PInstance_ID); + insert.append(", "); + insert.append(selectedId); + insert.append(", "); + + List viewIDValues = saveKeys.get(selectedId); + // when no process have viewID or this process have no viewID or value of viewID is null + if (viewIDValues == null || viewIDIndex < 0 || viewIDValues.get(viewIDIndex) == null){ + insert.append("NULL"); + }else{ + insert.append("'"); + insert.append(viewIDValues.get(viewIDIndex)); + insert.append("'"); + } + + insert.append(" FROM DUAL "); + + if (counter >= 1000) + { + DB.executeUpdateEx(insert.toString(), trxName); + insert = new StringBuilder(); + insert.append("INSERT INTO T_SELECTION(AD_PINSTANCE_ID, T_SELECTION_ID, ViewID) "); + counter = 0; + } + } + if (counter > 0) + { + DB.executeUpdateEx(insert.toString(), trxName); + } + } + private static boolean m_isUUIDVerified = false; private static boolean m_isUUIDSupported = false; /*** diff --git a/org.adempiere.base/src/org/compiere/util/Env.java b/org.adempiere.base/src/org/compiere/util/Env.java index a57e4a6d2c..f981e1d390 100644 --- a/org.adempiere.base/src/org/compiere/util/Env.java +++ b/org.adempiere.base/src/org/compiere/util/Env.java @@ -960,6 +960,17 @@ public final class Env return (retValue == null ? "" : retValue); } // getPreference + public static String getPreference (Properties ctx, int AD_Window_ID, int AD_Process_ID_Of_Panel, String context) + { + if (ctx == null || context == null) + throw new IllegalArgumentException ("Require Context"); + String retValue = null; + + retValue = ctx.getProperty("P"+AD_Window_ID+"|"+ AD_Process_ID_Of_Panel + "|" + context); + + return (retValue == null ? "" : retValue); + } // getPreference + /************************************************************************** * Language issues */ diff --git a/org.adempiere.base/src/org/compiere/util/Login.java b/org.adempiere.base/src/org/compiere/util/Login.java index b9464bef66..9a1d05b072 100644 --- a/org.adempiere.base/src/org/compiere/util/Login.java +++ b/org.adempiere.base/src/org/compiere/util/Login.java @@ -928,7 +928,7 @@ public class Login // This reads all relevant window neutral defaults // overwriting superseeded ones. Window specific is read in Mainain - sql = "SELECT Attribute, Value, AD_Window_ID " + sql = "SELECT Attribute, Value, AD_Window_ID, AD_Process_ID, PreferenceFor " + "FROM AD_Preference " + "WHERE AD_Client_ID IN (0, @#AD_Client_ID@)" + " AND AD_Org_ID IN (0, @#AD_Org_ID@)" @@ -946,11 +946,22 @@ public class Login while (rs.next()) { int AD_Window_ID = rs.getInt(3); + boolean isAllWindow = rs.wasNull(); + int AD_Process_ID = rs.getInt(4); + String PreferenceFor = rs.getString(5); String at = ""; - if (rs.wasNull()) + + // preference for window + if ("W".equals(PreferenceFor)){ + if (isAllWindow) at = "P|" + rs.getString(1); - else + else at = "P" + AD_Window_ID + "|" + rs.getString(1); + }else if ("P".equals(PreferenceFor)){ // preference for processs + // when apply for all window or all process format is "P0|0|m_Attribute; + at = "P" + AD_Window_ID + "|" + AD_Process_ID + "|" + rs.getString(1); + } + String va = rs.getString(2); Env.setContext(m_ctx, at, va); } diff --git a/org.adempiere.extend/src/test/functional/QueryTest.java b/org.adempiere.extend/src/test/functional/QueryTest.java index 61cb02ef8b..1be6f76fcf 100644 --- a/org.adempiere.extend/src/test/functional/QueryTest.java +++ b/org.adempiere.extend/src/test/functional/QueryTest.java @@ -14,9 +14,10 @@ package test.functional; import java.sql.Timestamp; -import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Map; import org.adempiere.exceptions.DBException; import org.compiere.model.MTable; @@ -286,11 +287,11 @@ public class QueryTest extends AdempiereTestCase assertTrue(AD_PInstance_ID > 0); // Create selection list - List elements = new ArrayList(); - elements.add(102); // AD_Element_ID=102 => AD_Client_ID - elements.add(104); // AD_Element_ID=104 => AD_Column_ID + Map> elements = new HashMap> (); + elements.put(102, null); // AD_Element_ID=102 => AD_Client_ID + elements.put(104, null); // AD_Element_ID=104 => AD_Column_ID DB.executeUpdateEx("DELETE FROM T_Selection WHERE AD_PInstance_ID="+AD_PInstance_ID, getTrxName()); - DB.createT_Selection(AD_PInstance_ID, elements, getTrxName()); + DB.createT_Selection(AD_PInstance_ID, elements, 0, getTrxName()); String whereClause = "1=1"; // some dummy where clause int[] ids = new Query(getCtx(), X_AD_Element.Table_Name, whereClause, getTrxName()) @@ -299,9 +300,12 @@ public class QueryTest extends AdempiereTestCase .getIDs(); assertEquals("Resulting number of elements differ", elements.size(), ids.length); - for (int i = 0; i < elements.size(); i++) + Integer[] keys = new Integer[elements.keySet().size()]; + keys = elements.keySet().toArray(keys); + + for (int i = 0; i < keys .length; i++) { - int expected = elements.get(i); + int expected = keys[i]; assertEquals("Element "+i+" not equals", expected, ids[i]); } } diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/GridTab2PackExporter.java b/org.adempiere.pipo/src/org/adempiere/pipo2/GridTab2PackExporter.java index 6d7c247d9f..a214811c10 100644 --- a/org.adempiere.pipo/src/org/adempiere/pipo2/GridTab2PackExporter.java +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/GridTab2PackExporter.java @@ -154,4 +154,13 @@ public class GridTab2PackExporter implements IGridTabExporter { public String getSuggestedFileName(GridTab gridTab) { return gridTab.getName() + "." + getFileExtension(); } + + /** + * {@inheritDoc} + * With 2Pack, everry tab is support to export + */ + @Override + public boolean isExportableTab(GridTab gridTab) { + return true; + } } diff --git a/org.adempiere.ui.swing/src/org/compiere/apps/ProcessParameter.java b/org.adempiere.ui.swing/src/org/compiere/apps/ProcessParameter.java index 92ed7b02ef..1d73679ba8 100644 --- a/org.adempiere.ui.swing/src/org/compiere/apps/ProcessParameter.java +++ b/org.adempiere.ui.swing/src/org/compiere/apps/ProcessParameter.java @@ -66,7 +66,7 @@ public class ProcessParameter extends CDialog /** * */ - private static final long serialVersionUID = -3898982577949513358L; + private static final long serialVersionUID = 5813968036015697042L; /** * Dynamic generated Parameter Dialog screen. @@ -91,11 +91,15 @@ public class ProcessParameter extends CDialog // m_WindowNo = WindowNo; m_processInfo = pi; + + // TODO: set m_AD_Window_ID, is AD_Window_ID of window below this dialog // } // ProcessParameter private Frame m_frame; private int m_WindowNo; + // AD_Window of window below this dialog in case show parameter dialog panel + private int m_AD_Window_ID; private ProcessInfo m_processInfo; private boolean m_isOK = false; /** Logger */ @@ -292,7 +296,7 @@ public class ProcessParameter extends CDialog private void createField (ResultSet rs) { // Create Field - GridFieldVO voF = GridFieldVO.createParameter(Env.getCtx(), m_WindowNo, rs); + GridFieldVO voF = GridFieldVO.createParameter(Env.getCtx(), m_WindowNo, m_processInfo.getAD_Process_ID(), m_AD_Window_ID, rs); GridField mField = new GridField (voF); m_mFields.add(mField); // add to Fields diff --git a/org.adempiere.ui.swing/src/org/compiere/apps/ProcessParameterPanel.java b/org.adempiere.ui.swing/src/org/compiere/apps/ProcessParameterPanel.java index b7f1cd9d77..4fdf9db8a3 100644 --- a/org.adempiere.ui.swing/src/org/compiere/apps/ProcessParameterPanel.java +++ b/org.adempiere.ui.swing/src/org/compiere/apps/ProcessParameterPanel.java @@ -63,10 +63,10 @@ import org.compiere.util.Msg; * @version 2006-12-01 */ public class ProcessParameterPanel extends CPanel implements VetoableChangeListener, IProcessParameter { - /** + /** * */ - private static final long serialVersionUID = -111202562692738248L; + private static final long serialVersionUID = -8583999032745045111L; /** * Dynamic generated Parameter panel. @@ -86,11 +86,14 @@ public class ProcessParameterPanel extends CPanel implements VetoableChangeListe // m_WindowNo = WindowNo; m_processInfo = pi; + // TODO: set m_AD_Window_ID, is AD_Window_ID of window below this dialog // } // ProcessParameterPanel private int m_WindowNo; private ProcessInfo m_processInfo; + // AD_Window of window below this dialog in case show parameter dialog panel + private int m_AD_Window_ID; /** Logger */ private static CLogger log = CLogger.getCLogger(ProcessParameterPanel.class); // @@ -283,7 +286,7 @@ public class ProcessParameterPanel extends CPanel implements VetoableChangeListe private void createField (ResultSet rs) { // Create Field - GridFieldVO voF = GridFieldVO.createParameter(Env.getCtx(), m_WindowNo, rs); + GridFieldVO voF = GridFieldVO.createParameter(Env.getCtx(), m_WindowNo, m_processInfo.getAD_Process_ID(), m_AD_Window_ID, rs); GridField mField = new GridField (voF); m_mFields.add(mField); // add to Fields diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/ValuePreference.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/ValuePreference.java index 4f90e4f891..f0efb4fb68 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/ValuePreference.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/ValuePreference.java @@ -62,11 +62,11 @@ import org.zkoss.zul.Vbox; * @version $Id: ValuePreference.java,v 1.2 2006/07/30 00:51:28 jjanke Exp $ */ public class ValuePreference extends Window implements EventListener -{ +{ /** * */ - private static final long serialVersionUID = 471820722501563271L; + private static final long serialVersionUID = 737741552754618206L; /** * Factory @@ -105,7 +105,7 @@ public class ValuePreference extends Window implements EventListener // Get from mField // AD_Window_ID, DisplayAttribute, Attribute, DisplayType, AD_Referenece_ID - int AD_Window_ID = mField.getAD_Window_ID(); + int AD_Window_ID = mField.getAD_Window_ID_Of_Panel(); String Attribute = mField.getColumnName(); String DisplayAttribute = mField.getHeader(); int displayType = mField.getDisplayType(); @@ -121,7 +121,7 @@ public class ValuePreference extends Window implements EventListener // Create Editor @SuppressWarnings("unused") ValuePreference vp = new ValuePreference (WindowNo, - AD_Client_ID, AD_Org_ID, AD_User_ID, AD_Window_ID, + AD_Client_ID, AD_Org_ID, AD_User_ID, AD_Window_ID, mField.getAD_Process_ID_Of_Panel(), Attribute, DisplayAttribute, Value, DisplayValue, displayType, AD_Reference_ID, ref); } // create @@ -183,7 +183,7 @@ public class ValuePreference extends Window implements EventListener * @param ref */ public ValuePreference (int WindowNo, - int AD_Client_ID, int AD_Org_ID, int AD_User_ID, int AD_Window_ID, + int AD_Client_ID, int AD_Org_ID, int AD_User_ID, int AD_Window_ID, int AD_Process_ID_Of_Panel, String Attribute, String DisplayAttribute, String Value, String DisplayValue, int displayType, int AD_Reference_ID, Component ref) { @@ -206,6 +206,7 @@ public class ValuePreference extends Window implements EventListener m_Value = Value; m_DisplayValue = DisplayValue; m_DisplayType = displayType; + m_AD_Process_ID_Of_Panel = AD_Process_ID_Of_Panel; // m_role = MRole.getDefault(); try @@ -247,6 +248,7 @@ public class ValuePreference extends Window implements EventListener private String m_DisplayValue; private int m_DisplayType; private MRole m_role; + private int m_AD_Process_ID_Of_Panel; // Display private Panel setPanel = new Panel(); @@ -262,6 +264,7 @@ public class ValuePreference extends Window implements EventListener private Checkbox cbOrg = new Checkbox(); private Checkbox cbUser = new Checkbox(); private Checkbox cbWindow = new Checkbox(); + private Checkbox cbProcess = new Checkbox(); private Label lExplanation = new Label(); private ConfirmPanel confirmPanel = new ConfirmPanel(true); @@ -283,6 +286,8 @@ public class ValuePreference extends Window implements EventListener cbUser.setChecked(true); cbWindow.setLabel(Msg.translate(m_ctx, "AD_Window_ID")); cbWindow.setChecked(true); + cbProcess.setLabel(Msg.translate(m_ctx, "AD_Process_ID")); + cbProcess.setChecked(true); // setPanel.appendChild(setLayout); setPanel.setHflex("1"); @@ -330,7 +335,10 @@ public class ValuePreference extends Window implements EventListener chlayout.appendChild(cbOrg); chlayout.appendChild(cbUser); chlayout.appendChild(cbWindow); - row.appendCellChild(chlayout, 4); + if(m_AD_Process_ID_Of_Panel > 0){ + chlayout.appendChild(cbProcess); + } + row.appendCellChild(chlayout, 5); rows.appendChild(row); row = new Row(); @@ -393,6 +401,7 @@ public class ValuePreference extends Window implements EventListener } // Can change all/specific cbWindow.addEventListener(Events.ON_CHECK, this); + cbProcess.addEventListener(Events.ON_CHECK, this); // Other confirmPanel.addComponentsLeft(confirmPanel.createButton("Delete")); @@ -457,6 +466,14 @@ public class ValuePreference extends Window implements EventListener expl.append(" and this Window"); else expl.append(" and all Windows"); + // + if (m_AD_Process_ID_Of_Panel > 0){ + if (cbProcess.isChecked()) + expl.append(" and this Process"); + else + expl.append(" and all Process"); + } + // if (Env.getLanguage(Env.getCtx()).isBaseLanguage()) { @@ -483,6 +500,20 @@ public class ValuePreference extends Window implements EventListener sql.append(" AND AD_Window_ID=").append(m_AD_Window_ID); else sql.append(" AND AD_Window_ID IS NULL"); + + if (m_AD_Process_ID_Of_Panel > 0){ + // preference for process parameter + sql.append(" AND PreferenceFor = 'P'"); + if (cbProcess.isChecked()) + sql.append(" AND AD_Process_ID=").append(m_AD_Process_ID_Of_Panel); + else + sql.append(" AND AD_Process_ID IS NULL"); + }else{ + // preference for process window + sql.append(" AND PreferenceFor = 'W'"); + sql.append(" AND AD_Process_ID IS NULL"); + } + sql.append(" AND Attribute='").append(m_Attribute).append("'"); // if (log.isLoggable(Level.FINE)) log.fine( sql.toString()); @@ -498,10 +529,19 @@ public class ValuePreference extends Window implements EventListener */ private String getContextKey() { + if (m_AD_Process_ID_Of_Panel > 0){ + if (cbProcess.isChecked()) + return "P" + m_AD_Window_ID + "|" + m_AD_Process_ID_Of_Panel + "|" + m_Attribute; + else{ + return "P" + m_AD_Window_ID + "|0|" + m_Attribute; + } + }else{ if (cbWindow.isChecked()) return "P" + m_AD_Window_ID + "|" + m_Attribute; else return "P|" + m_Attribute; + } + } // getContextKey /** @@ -535,13 +575,31 @@ public class ValuePreference extends Window implements EventListener // StringBuilder sql = new StringBuilder ("INSERT INTO AD_Preference (" + "AD_Preference_ID, AD_Preference_UU, AD_Client_ID, AD_Org_ID, IsActive, Created,CreatedBy,Updated,UpdatedBy," - + "AD_Window_ID, AD_User_ID, Attribute, Value) VALUES ("); + + "AD_Window_ID, AD_Process_ID, PreferenceFor, AD_User_ID, Attribute, Value) VALUES ("); sql.append(AD_Preference_ID).append(",").append(DB.TO_STRING(UUID.randomUUID().toString())).append(",").append(Client_ID).append(",").append(Org_ID) .append(", 'Y',SysDate,").append(m_AD_User_ID).append(",SysDate,").append(m_AD_User_ID).append(", "); + if (cbWindow.isChecked()) sql.append(m_AD_Window_ID).append(","); else sql.append("NULL,") ; + + // set value for AD_Process_ID and PreferenceFor + if(m_AD_Process_ID_Of_Panel > 0){ + if (cbProcess.isChecked()){ + sql.append(m_AD_Process_ID_Of_Panel).append(","); + }else{ + sql.append("NULL,"); + } + // in case Preference for process, set PreferenceFor = P + sql.append("'P',"); + }else{ + // in case Preference for window, AD_Process_ID always null + sql.append("NULL,"); + // in case Preference for window, set PreferenceFor = P + sql.append("'W',"); + } + if (cbUser.isChecked()) sql.append(m_AD_User_ID).append(","); else diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java index 160e3a92f4..b4d69ccb2a 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java @@ -125,7 +125,7 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer /** * */ - private static final long serialVersionUID = 2592856355985389339L; + private static final long serialVersionUID = -3728896318124756192L; private static final String ON_SAVE_OPEN_PREFERENCE_EVENT = "onSaveOpenPreference"; @@ -1080,7 +1080,7 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer int windowId = getGridTab().getAD_Window_ID(); int adTabId = getGridTab().getAD_Tab_ID(); if (windowId > 0 && adTabId > 0) { - Query query = new Query(Env.getCtx(), MTable.get(Env.getCtx(), I_AD_Preference.Table_ID), "AD_Window_ID=? AND Attribute=?", null); + Query query = new Query(Env.getCtx(), MTable.get(Env.getCtx(), I_AD_Preference.Table_ID), "AD_Window_ID=? AND Attribute=? AND AD_Process_ID IS NULL AND PreferenceFor = 'W'", null); MPreference preference = query.setOnlyActiveRecords(true) .setApplyAccessFilter(true) .setParameters(windowId, adTabId+"|DetailPane.IsOpen") diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AbstractProcessDialog.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AbstractProcessDialog.java index d0331f7974..6906683aea 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AbstractProcessDialog.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AbstractProcessDialog.java @@ -285,7 +285,10 @@ public abstract class AbstractProcessDialog extends Window implements IProcessUI { Component component = event.getTarget(); if (component == runAsJobField && event.getName().equals(Events.ON_CHECK)) + { notificationTypeField.getComponent().getParent().setVisible(runAsJobField.isChecked()); + centerPanel.invalidate(); + } else if (event.getName().equals(ON_COMPLETE)) onComplete(); else if (event.getName().equals(ON_STATUS_UPDATE)) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessParameterPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessParameterPanel.java index 4954a72ed6..7c0608fea2 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessParameterPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/ProcessParameterPanel.java @@ -23,6 +23,7 @@ import java.util.ArrayList; import java.util.List; import java.util.logging.Level; +import org.adempiere.webui.adwindow.ADWindow; import org.adempiere.webui.component.Column; import org.adempiere.webui.component.Columns; import org.adempiere.webui.component.EditorBox; @@ -77,7 +78,7 @@ public class ProcessParameterPanel extends Panel implements /** * */ - private static final long serialVersionUID = -6089753824709746119L; + private static final long serialVersionUID = 195320654866887445L; private String width; @@ -105,12 +106,36 @@ public class ProcessParameterPanel extends Panel implements // m_WindowNo = WindowNo; m_processInfo = pi; + m_AD_Window_ID = getADWindowID (WindowNo); this.width = width; // initComponent(); addEventListener("onDynamicDisplay", this); } // ProcessParameterPanel + /** + * Get adWindowId below gridField + * when field lie in window, it's id of this window + * when field lie in process parameter dialog it's ad_window_id of window open this process + * when field lie in process parameter open in a standalone window (run process from menu) return id of dummy window + * @param mField + * @return + */ + public static int getADWindowID (int windowNo){ + int adWindowID = 0; + // form process parameter panel + + Object window = SessionManager.getAppDesktop().findWindow(windowNo); + // case show a process dialog, window is below window of process dialog + if (window != null && window instanceof ADWindow){ + adWindowID = ((ADWindow)window).getAD_Window_ID(); + }else if (window != null && window instanceof ProcessDialog){ + adWindowID = 200054;// dummy window + } + + return adWindowID; + } + private void initComponent() { centerPanel = GridFactory.newGridLayout(); centerPanel.setInnerWidth(width); @@ -129,6 +154,8 @@ public class ProcessParameterPanel extends Panel implements private int m_WindowNo; private ProcessInfo m_processInfo; + // AD_Window of window below this dialog in case show parameter dialog panel + private int m_AD_Window_ID = 0; /** Logger */ private static CLogger log = CLogger .getCLogger(ProcessParameterPanel.class); @@ -280,7 +307,7 @@ public class ProcessParameterPanel extends Panel implements */ private void createField(ResultSet rs, Rows rows) { // Create Field - GridFieldVO voF = GridFieldVO.createParameter(Env.getCtx(), m_WindowNo, + GridFieldVO voF = GridFieldVO.createParameter(Env.getCtx(), m_WindowNo, m_processInfo.getAD_Process_ID(), m_AD_Window_ID, rs); GridField mField = new GridField(voF); m_mFields.add(mField); // add to Fields diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WCreateFromWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WCreateFromWindow.java index f167ceef35..e083c7f439 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WCreateFromWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WCreateFromWindow.java @@ -13,28 +13,24 @@ *****************************************************************************/ package org.adempiere.webui.apps.form; +import org.adempiere.webui.component.Button; import org.adempiere.webui.component.ConfirmPanel; import org.adempiere.webui.component.ListModelTable; import org.adempiere.webui.component.ListboxFactory; import org.adempiere.webui.component.Panel; -import org.adempiere.webui.component.ToolBarButton; +import org.adempiere.webui.component.WAppsAction; import org.adempiere.webui.component.WListbox; import org.adempiere.webui.component.Window; import org.adempiere.webui.event.DialogEvents; import org.adempiere.webui.event.WTableModelEvent; import org.adempiere.webui.event.WTableModelListener; import org.adempiere.webui.panel.StatusBarPanel; -import org.adempiere.webui.theme.ThemeManager; import org.adempiere.webui.window.FDialog; import org.compiere.grid.CreateFrom; -import org.compiere.util.Env; -import org.compiere.util.Msg; import org.compiere.util.Trx; import org.compiere.util.TrxRunnable; -import org.compiere.util.Util; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; -import org.zkoss.zk.ui.event.Events; import org.zkoss.zul.Borderlayout; import org.zkoss.zul.Center; import org.zkoss.zul.North; @@ -46,7 +42,7 @@ public class WCreateFromWindow extends Window implements EventListener, W /** * */ - private static final long serialVersionUID = 1525723342123192509L; + private static final long serialVersionUID = 6750121735083748182L; private CreateFrom createFrom; private int windowNo; @@ -59,7 +55,6 @@ public class WCreateFromWindow extends Window implements EventListener, W private boolean isCancel; public static final String SELECT_DESELECT_ALL = "SelectAll"; - private ToolBarButton selectAllAction = new ToolBarButton(SELECT_DESELECT_ALL); private boolean checkAllSelected = true; public WCreateFromWindow(CreateFrom createFrom, int windowNo) @@ -97,10 +92,10 @@ public class WCreateFromWindow extends Window implements EventListener, W contentPane.appendChild(center); center.appendChild(dataTable); - selectAllAction.setMode("toggle"); - selectAllAction.setImage(ThemeManager.getThemeResource("images/SelectAll24.png")); - selectAllAction.setTooltiptext(Util.cleanAmp(Msg.getMsg(Env.getCtx(), SELECT_DESELECT_ALL))); - selectAllAction.addEventListener(Events.ON_CLICK, this); + WAppsAction selectAllAction = new WAppsAction (SELECT_DESELECT_ALL, null, null); + Button selectAllButton = selectAllAction.getButton(); + selectAllButton.setAttribute(SELECT_DESELECT_ALL, Boolean.FALSE); + confirmPanel.addComponentsLeft(selectAllButton); South south = new South(); contentPane.appendChild(south); @@ -108,7 +103,6 @@ public class WCreateFromWindow extends Window implements EventListener, W south.appendChild(southPanel); southPanel.appendChild(new Separator()); southPanel.appendChild(confirmPanel); - southPanel.appendChild(selectAllAction); southPanel.appendChild(new Separator()); southPanel.appendChild(statusBar); @@ -151,11 +145,15 @@ public class WCreateFromWindow extends Window implements EventListener, W } // Select All // Trifon - else if (e.getTarget().equals(selectAllAction)) { + else if (e.getTarget().getId().equals(SELECT_DESELECT_ALL)) { ListModelTable model = dataTable.getModel(); int rows = model.getSize(); - Boolean selectAll = selectAllAction.isPressed() ? Boolean.FALSE : Boolean.TRUE; - selectAllAction.setPressed(! selectAllAction.isPressed()); + Button selectAllBtn = confirmPanel.getButton(SELECT_DESELECT_ALL); + Boolean selectAll = (Boolean) selectAllBtn.getAttribute(SELECT_DESELECT_ALL); + if (selectAll == null) + selectAll = Boolean.FALSE; + selectAll = !selectAll; + selectAllBtn.setAttribute(SELECT_DESELECT_ALL, selectAll); checkAllSelected = false; for (int i = 0; i < rows; i++) { model.setValueAt(selectAll, i, 0); @@ -185,7 +183,8 @@ public class WCreateFromWindow extends Window implements EventListener, W break; } } - selectAllAction.setPressed(! rowUnSelected); + Button selectAllBtn = confirmPanel.getButton(SELECT_DESELECT_ALL); + selectAllBtn.setAttribute(SELECT_DESELECT_ALL, ! rowUnSelected); } } info(); @@ -246,4 +245,4 @@ public class WCreateFromWindow extends Window implements EventListener, W { return isCancel; } -} +} \ No newline at end of file diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WFactReconcile.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WFactReconcile.java index a86e3e05d6..be06bff1ef 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WFactReconcile.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WFactReconcile.java @@ -292,27 +292,40 @@ implements IFormController, EventListener, WTableModelListener, ValueChan if (Account_ID != 0) m_Account_ID = Account_ID; + else + m_Account_ID = 0; if(fieldOrg.getValue()!=null) m_AD_Org_ID = (Integer)fieldOrg.getValue(); + else + m_AD_Org_ID = 0; if(fieldAcctSchema.getValue()!=null) m_C_AcctSchema_ID = (Integer)fieldAcctSchema.getValue(); + else + m_C_AcctSchema_ID = 0; m_isReconciled = isReconciled.isChecked(); if(fieldBPartner.getValue()!=null) m_C_BPartner_ID = (Integer)fieldBPartner.getValue(); + else + m_C_BPartner_ID = 0; if((Integer)fieldProduct.getValue()!=null) m_M_Product_ID = (Integer)fieldProduct.getValue(); + else + m_M_Product_ID = 0; if(fieldDateAcct.getValue()!=null) m_DateAcct = (Timestamp)fieldDateAcct.getValue(); + else + m_DateAcct = null; if(fieldDateAcct2.getValue()!=null) m_DateAcct2 = (Timestamp)fieldDateAcct2.getValue(); - + else + m_DateAcct2 = null; // Set Model Vector> data = getData(); Vector columnNames = getColumnNames(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/graph/WGraph.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/graph/WGraph.java index 2938b784ea..686f49e51f 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/graph/WGraph.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/graph/WGraph.java @@ -483,7 +483,7 @@ public class WGraph extends Div implements IdSpace { Br br = new Br(); td.appendChild(br); text = new Text(stripHtml(m_goal.getColorSchema() - .getDescription(), true)); + .getDescription(), false)); td.appendChild(text); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/WListItemRenderer.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/WListItemRenderer.java index 200a4244ad..52d34ba87b 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/WListItemRenderer.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/WListItemRenderer.java @@ -178,6 +178,9 @@ public class WListItemRenderer implements ListitemRenderer, EventListene listcell.setParent(item); listcell.addEventListener(Events.ON_DOUBLE_CLICK, cellListener); colIndex++; + // just render column in list m_tableColumns + if (m_tableColumns != null && m_tableColumns.size() == colIndex) + break; } return; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/WListbox.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/WListbox.java index e4e8ce0c88..ef04eaffbc 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/WListbox.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/WListbox.java @@ -1135,6 +1135,12 @@ public class WListbox extends Listbox implements IMiniTable, TableValueChangeLis //no op } + /** + * TODO:in theory column of model maybe not map with column of view + * in case set other data model this function always return number of column of model, + * maybe not equal with number of column of view + * so it should is m_layout.length + */ public int getColumnCount() { return getModel() != null ? getModel().getNoColumns() : 0; } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WEditor.java index 1c9fa3908e..a79d00ee72 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WEditor.java @@ -574,8 +574,7 @@ public abstract class WEditor implements EventListener, PropertyChangeLis * @return boolean */ protected boolean isShowPreference() { - return MRole.getDefault().isShowPreference() && gridField != null && !gridField.isEncrypted() && !gridField.isEncryptedColumn() - && gridTab != null; // don't show preference for process parameters + return MRole.getDefault().isShowPreference() && gridField != null && !gridField.isEncrypted() && !gridField.isEncryptedColumn(); } /** diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java index da3d70daec..2b8f3a82f5 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java @@ -96,7 +96,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL /** * */ - private static final long serialVersionUID = 1913208136527058096L; + private static final long serialVersionUID = 6606023722122538154L; protected Grid parameterGrid; private Borderlayout layout; @@ -122,26 +122,6 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL private List gridFields; private int AD_InfoWindow_ID; private Checkbox checkAND; - /** - * All info process of this infoWindow - */ - protected MInfoProcess [] infoProcessList; - /** - * flag detect exists info process - */ - protected boolean haveProcess = false; - /** - * Info process have style is button - */ - protected List infoProcessBtList; - /** - * Info process have style is drop down list - */ - protected List infoProcessDropList; - /** - * Info process have style is menu - */ - protected List infoProcessMenuList; /** * Menu contail process menu item */ @@ -903,6 +883,8 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } } + addViewIDToQuery(); + if (m_sqlMain.length() > 0 && infoWindow.isDistinct()) { m_sqlMain = m_sqlMain.substring("SELECT ".length()); m_sqlMain = "SELECT DISTINCT " + m_sqlMain; @@ -918,6 +900,58 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL } } + /** + * add all ViewID in each MInfoProcess to query + * if main query have subquery in SELECT, it will beak or incorrect + */ + protected void addViewIDToQuery () { + + if (m_sqlMain.length() > 0 && infoProcessList != null && infoProcessList.length > 0){ + int fromIndex = m_sqlMain.indexOf("FROM"); + // split Select and from clause + String selectClause = m_sqlMain.substring(0, fromIndex); + String fromClause = m_sqlMain.substring(fromIndex); + + // get alias of main table + String alias = getTableName(); + StringBuilder sqlBuilder = new StringBuilder(selectClause); + + // reset flag relate viewID to recount + numOfViewID = 0; + isHasViewID = false; + + // add View_ID column to select clause + for (MInfoProcess infoProcess : infoProcessList){ + String columnInQuery = infoProcess.getViewIDName(); + // this process hasn't viewID column, next other infoProcess + if (columnInQuery == null) + continue; + + // add alias of main table to column + columnInQuery = alias + "." + columnInQuery; + + // maintain varial relate to ViewID, it can init just one time when load infoWindow define + // but let it here for simple logic control + numOfViewID++; + isHasViewID = true; + + // if query is include this viewID column, not need add + if (sqlBuilder.toString().toLowerCase().contains(columnInQuery.toLowerCase())){ + continue; + } + + // add column to SELECT clause of main sql + sqlBuilder.append(", "); + sqlBuilder.append (columnInQuery); + sqlBuilder.append(" "); + } + + sqlBuilder.append(fromClause); + // update main sql + m_sqlMain = sqlBuilder.toString(); + } + } + protected void renderWindow() { setTitle(infoWindow.get_Translation("Name")); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java index 4b19d07b6d..37bead2228 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java @@ -33,6 +33,7 @@ import java.util.Map; import java.util.Vector; import java.util.logging.Level; +import org.adempiere.model.MInfoProcess; import org.adempiere.webui.AdempiereWebUI; import org.adempiere.webui.apps.AEnv; import org.adempiere.webui.apps.BusyDialog; @@ -78,6 +79,7 @@ import org.zkoss.zk.ui.Page; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.Events; +import org.zkoss.zk.ui.event.MouseEvent; import org.zkoss.zk.ui.event.SelectEvent; import org.zkoss.zk.ui.util.Clients; import org.zkoss.zul.Comboitem; @@ -106,7 +108,7 @@ public abstract class InfoPanel extends Window implements EventListener, /** * */ - private static final long serialVersionUID = -6257894588906175658L; + private static final long serialVersionUID = 7393899696081833013L; private final static int DEFAULT_PAGE_SIZE = 100; protected List