Merge with 44c18b00e72e79a347c3738041b9e34769ce2fb6

This commit is contained in:
Elaine Tan 2013-06-03 13:17:21 +08:00
commit 2deffafdab
38 changed files with 1100 additions and 127 deletions

View File

@ -23,7 +23,8 @@ CREATE OR REPLACE VIEW AD_FIELD_V AS
f.isdisplayedgrid,
f.seqnogrid,
c.seqnoselection, f.xposition, f.columnspan, f.numlines,
COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton
COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton,
c.FormatPattern
FROM AD_FIELD f
INNER JOIN AD_TAB t ON (f.AD_Tab_ID = t.AD_Tab_ID)
LEFT OUTER JOIN AD_FIELDGROUP fg ON (f.AD_FieldGroup_ID = fg.AD_FieldGroup_ID)

View File

@ -22,7 +22,8 @@ CREATE OR REPLACE VIEW AD_FIELD_VT AS
f.isdisplayedgrid,
f.seqnogrid,
c.seqnoselection, f.xposition, f.columnspan, f.numlines,
COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton
COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton,
c.FormatPattern
FROM AD_FIELD f
INNER JOIN AD_FIELD_TRL trl ON (f.AD_Field_ID = trl.AD_Field_ID)
INNER JOIN AD_TAB t ON (f.AD_Tab_ID = t.AD_Tab_ID)

View File

@ -19,7 +19,8 @@ CREATE OR REPLACE VIEW ad_field_v AS
f.isdisplayedgrid,
f.seqnogrid,
c.seqnoselection, f.xposition, f.columnspan, f.numlines,
COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton
COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton,
c.FormatPattern
FROM ad_field f
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
LEFT JOIN ad_fieldgroup fg ON f.ad_fieldgroup_id = fg.ad_fieldgroup_id

View File

@ -15,7 +15,8 @@ CREATE OR REPLACE VIEW ad_field_vt AS
f.isdisplayedgrid,
f.seqnogrid,
c.seqnoselection, f.xposition, f.columnspan, f.numlines,
COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton
COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton,
c.FormatPattern
FROM ad_field f
JOIN ad_field_trl trl ON f.ad_field_id = trl.ad_field_id
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id

View File

@ -0,0 +1,13 @@
-- Jun 1, 2013 10:06:30 AM COT
-- IDEMPIERE-1004 Account Info title translation
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','Posting',200177,'D','fa29733a-5b1d-44b4-b1e1-875e3fb18e4f','Posting','Y',TO_DATE('2013-06-01 10:06:28','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_DATE('2013-06-01 10:06:28','YYYY-MM-DD HH24:MI:SS'),0)
;
-- Jun 1, 2013 10:06:30 AM COT
-- IDEMPIERE-1004 Account Info title translation
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200177 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
;
SELECT register_migration_script('201306011007_IDEMPIERE-1004.sql') FROM dual
;

View File

@ -0,0 +1,80 @@
-- IDEMPIERE-1010 Thousands grouping separator is used for integers values
CREATE OR REPLACE VIEW AD_FIELD_V AS
SELECT t.AD_Window_ID, f.AD_Tab_ID, f.AD_Field_ID, tbl.AD_Table_ID, f.AD_Column_ID,
f.NAME, f.Description, f.Help, f.IsDisplayed, f.DisplayLogic, f.DisplayLength,
f.SeqNo, f.SortNo, f.IsSameLine, f.IsHeading, f.IsFieldOnly, f.IsReadOnly,
f.IsEncrypted AS IsEncryptedField, f.ObscureType,
c.ColumnName, c.ColumnSQL, c.FieldLength, c.VFormat,
COALESCE(f.DefaultValue, c.DefaultValue) AS DefaultValue,
c.IsKey, c.IsParent,
COALESCE(f.IsMandatory, c.IsMandatory) AS IsMandatory,
c.IsIdentifier, c.IsTranslated, COALESCE(f.AD_Reference_Value_ID, c.AD_Reference_Value_ID) AS AD_Reference_Value_ID,
c.Callout, COALESCE(f.AD_Reference_ID, c.AD_Reference_ID) AS AD_Reference_ID,
COALESCE(f.AD_Val_Rule_ID, c.AD_Val_Rule_ID) AS AD_Val_Rule_ID, c.AD_Process_ID,
COALESCE(f.Isalwaysupdateable , C.Isalwaysupdateable) As Isalwaysupdateable,
COALESCE(f.Readonlylogic, c.Readonlylogic ) As Readonlylogic,
COALESCE(f.Mandatorylogic , C.Mandatorylogic) As Mandatorylogic,
COALESCE(f.isupdateable, c.isupdateable) AS isupdateable, c.IsEncrypted AS IsEncryptedColumn,
c.IsSelectionColumn,
tbl.TableName, c.ValueMin, c.ValueMax,
fg.NAME AS FieldGroup, vr.Code AS ValidationCode,
f.Included_Tab_ID, fg.FieldGroupType, fg.IsCollapsedByDefault,
COALESCE(f.InfoFactoryClass, c.InfoFactoryClass) as InfoFactoryClass,
c.IsAutocomplete, COALESCE(f.IsAllowCopy, c.IsAllowCopy) AS IsAllowCopy,
f.isdisplayedgrid,
f.seqnogrid,
c.seqnoselection, f.xposition, f.columnspan, f.numlines,
COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton,
c.FormatPattern
FROM AD_FIELD f
INNER JOIN AD_TAB t ON (f.AD_Tab_ID = t.AD_Tab_ID)
LEFT OUTER JOIN AD_FIELDGROUP fg ON (f.AD_FieldGroup_ID = fg.AD_FieldGroup_ID)
LEFT OUTER JOIN AD_COLUMN c ON (f.AD_Column_ID = c.AD_Column_ID)
INNER JOIN AD_TABLE tbl ON (c.AD_Table_ID = tbl.AD_Table_ID)
LEFT OUTER JOIN AD_VAL_RULE vr ON (vr.AD_Val_Rule_ID = COALESCE(f.AD_Val_Rule_ID, c.AD_Val_Rule_ID))
WHERE f.IsActive = 'Y'
AND c.IsActive = 'Y'
;
CREATE OR REPLACE VIEW AD_FIELD_VT AS
SELECT trl.AD_LANGUAGE, t.AD_Window_ID, f.AD_Tab_ID, f.AD_Field_ID, tbl.AD_Table_ID, f.AD_Column_ID,
trl.NAME, trl.Description, trl.Help, f.IsDisplayed, f.DisplayLogic, f.DisplayLength,
f.SeqNo, f.SortNo, f.IsSameLine, f.IsHeading, f.IsFieldOnly, f.IsReadOnly,
f.IsEncrypted AS IsEncryptedField, f.ObscureType,
c.ColumnName, c.ColumnSQL, c.FieldLength, c.VFormat,
COALESCE(f.DefaultValue, c.DefaultValue) AS DefaultValue,
c.IsKey, c.IsParent,
COALESCE(f.IsMandatory, c.IsMandatory) AS IsMandatory,
c.IsIdentifier, c.IsTranslated, COALESCE(f.AD_Reference_Value_ID, c.AD_Reference_Value_ID) AS AD_Reference_Value_ID,
c.Callout, COALESCE(f.AD_Reference_ID, c.AD_Reference_ID) AS AD_Reference_ID,
COALESCE(f.AD_Val_Rule_ID, c.AD_Val_Rule_ID) as AD_Val_Rule_ID, c.AD_Process_ID,
COALESCE(f.Isalwaysupdateable , C.Isalwaysupdateable) As Isalwaysupdateable,
COALESCE(f.Readonlylogic, c.Readonlylogic ) As Readonlylogic,
COALESCE(f.Mandatorylogic , C.Mandatorylogic) As Mandatorylogic,
COALESCE(f.isupdateable, c.isupdateable) AS isupdateable, c.IsEncrypted AS IsEncryptedColumn, c.IsSelectionColumn,
tbl.TableName, c.ValueMin, c.ValueMax,
fgt.NAME AS FieldGroup, vr.Code AS ValidationCode,
f.Included_Tab_ID, fg.FieldGroupType, fg.IsCollapsedByDefault,
COALESCE(f.InfoFactoryClass, c.InfoFactoryClass) as InfoFactoryClass,
c.IsAutocomplete, COALESCE(f.IsAllowCopy, c.IsAllowCopy) AS IsAllowCopy,
f.isdisplayedgrid,
f.seqnogrid,
c.seqnoselection, f.xposition, f.columnspan, f.numlines,
COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton,
c.FormatPattern
FROM AD_FIELD f
INNER JOIN AD_FIELD_TRL trl ON (f.AD_Field_ID = trl.AD_Field_ID)
INNER JOIN AD_TAB t ON (f.AD_Tab_ID = t.AD_Tab_ID)
LEFT OUTER JOIN AD_FIELDGROUP fg ON (f.AD_FieldGroup_ID = fg.AD_FieldGroup_ID)
LEFT OUTER JOIN AD_FIELDGROUP_TRL fgt ON
(f.AD_FieldGroup_ID = fgt.AD_FieldGroup_ID AND trl.AD_LANGUAGE=fgt.AD_LANGUAGE)
LEFT OUTER JOIN AD_COLUMN c ON (f.AD_Column_ID = c.AD_Column_ID)
INNER JOIN AD_TABLE tbl ON (c.AD_Table_ID = tbl.AD_Table_ID)
LEFT OUTER JOIN AD_VAL_RULE vr ON (vr.AD_Val_Rule_ID=COALESCE(f.AD_Val_Rule_ID, c.AD_Val_Rule_ID))
WHERE f.IsActive = 'Y'
AND c.IsActive = 'Y'
;
SELECT register_migration_script('201306021150_IDEMPIERE-1010.sql') FROM dual
;

View File

@ -0,0 +1,23 @@
-- Jun 2, 2013 1:51:02 PM CEST
-- IDEMPIERE-1009 Translation of tree popup
INSERT INTO AD_Message (AD_Client_ID,AD_Message_ID,AD_Message_UU,AD_Org_ID,Created,CreatedBy,EntityType,IsActive,MsgText,MsgType,Updated,UpdatedBy,Value) VALUES (0,200178,'8619a78f-92b8-4f84-b2ea-8cea0a7af2e5',0,TO_DATE('2013-06-02 13:51:01','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Move into','I',TO_DATE('2013-06-02 13:51:01','YYYY-MM-DD HH24:MI:SS'),100,'MoveInto')
;
-- Jun 2, 2013 1:51:03 PM CEST
-- IDEMPIERE-1009 Translation of tree popup
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200178 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
;
-- Jun 2, 2013 1:51:19 PM CEST
-- IDEMPIERE-1009 Translation of tree popup
INSERT INTO AD_Message (AD_Client_ID,AD_Message_ID,AD_Message_UU,AD_Org_ID,Created,CreatedBy,EntityType,IsActive,MsgText,MsgType,Updated,UpdatedBy,Value) VALUES (0,200179,'91f51d98-8afb-4a08-ba21-f4b24fa8da04',0,TO_DATE('2013-06-02 13:51:19','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Insert after','I',TO_DATE('2013-06-02 13:51:19','YYYY-MM-DD HH24:MI:SS'),100,'InsertAfter')
;
-- Jun 2, 2013 1:51:19 PM CEST
-- IDEMPIERE-1009 Translation of tree popup
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200179 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
;
SELECT register_migration_script('201306021405_IDEMPIERE-1009.sql') FROM dual
;

View File

@ -0,0 +1,260 @@
-- IDEMPIERE-1011 Improve usability of Table window
-- Jun 2, 2013 12:02:52 PM COT
UPDATE AD_Column SET ReadOnlyLogic='@#UIClient@!swing',Updated=TO_DATE('2013-06-02 12:02:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=1179
;
-- Jun 2, 2013 12:10:10 PM COT
UPDATE AD_Field SET SeqNo=160, NumLines=2,Updated=TO_DATE('2013-06-02 12:10:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=133
;
-- Jun 2, 2013 12:10:10 PM COT
UPDATE AD_Field SET SeqNo=240,Updated=TO_DATE('2013-06-02 12:10:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200350
;
-- Jun 2, 2013 12:10:10 PM COT
UPDATE AD_Field SET SeqNo=250,Updated=TO_DATE('2013-06-02 12:10:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200348
;
-- Jun 2, 2013 12:10:10 PM COT
UPDATE AD_Field SET SeqNo=260,Updated=TO_DATE('2013-06-02 12:10:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200349
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=270,Updated=TO_DATE('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13425
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=280,Updated=TO_DATE('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200837
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=290,Updated=TO_DATE('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=54402
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=300,Updated=TO_DATE('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=54401
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=310,Updated=TO_DATE('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200838
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=320,Updated=TO_DATE('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200834
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=330,Updated=TO_DATE('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13424
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=340,Updated=TO_DATE('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62468
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=350, AD_FieldGroup_ID=200004, IsDisplayed='Y', XPosition=1, NumLines=2,Updated=TO_DATE('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=53280
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=360, IsDisplayed='Y', XPosition=1, NumLines=2,Updated=TO_DATE('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200836
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=370, NumLines=2,Updated=TO_DATE('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200835
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=380,Updated=TO_DATE('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=136
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=390,Updated=TO_DATE('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=139
;
-- Jun 2, 2013 12:14:18 PM COT
UPDATE AD_Field SET SeqNo=150,Updated=TO_DATE('2013-06-02 12:14:18','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56374
;
-- Jun 2, 2013 12:14:18 PM COT
UPDATE AD_Field SET SeqNo=160, AD_FieldGroup_ID=NULL, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2013-06-02 12:14:18','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=310
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=170,Updated=TO_DATE('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2526
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=180, IsDisplayed='Y', XPosition=5,Updated=TO_DATE('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=169
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=200, IsDisplayed='Y', XPosition=5,Updated=TO_DATE('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56279
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=210,Updated=TO_DATE('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=171
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=240,Updated=TO_DATE('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=161
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=250,Updated=TO_DATE('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=162
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=260,Updated=TO_DATE('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=166
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=270,Updated=TO_DATE('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2370
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=280, IsDisplayed='Y', XPosition=2,Updated=TO_DATE('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5122
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=290,Updated=TO_DATE('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10128
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=300, IsDisplayed='Y', XPosition=1, NumLines=2,Updated=TO_DATE('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=160
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=310, NumLines=2,Updated=TO_DATE('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=4941
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=320, NumLines=2,Updated=TO_DATE('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50188
;
-- Jun 2, 2013 12:14:44 PM COT
UPDATE AD_Column SET IsToolbarButton='Y',Updated=TO_DATE('2013-06-02 12:14:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=128
;
-- Jun 2, 2013 12:20:54 PM COT
UPDATE AD_Field SET SeqNo=40, IsDisplayed='Y', XPosition=1,Updated=TO_DATE('2013-06-02 12:20:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=1345
;
-- Jun 2, 2013 12:20:54 PM COT
UPDATE AD_Field SET SeqNo=50,Updated=TO_DATE('2013-06-02 12:20:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=156
;
-- Jun 2, 2013 12:20:54 PM COT
UPDATE AD_Field SET SeqNo=60,Updated=TO_DATE('2013-06-02 12:20:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11264
;
-- Jun 2, 2013 12:20:54 PM COT
UPDATE AD_Field SET SeqNo=130, IsDisplayed='Y', XPosition=4,Updated=TO_DATE('2013-06-02 12:20:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5121
;
-- Jun 2, 2013 12:20:54 PM COT
UPDATE AD_Field SET SeqNo=140,Updated=TO_DATE('2013-06-02 12:20:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=170
;
-- Jun 2, 2013 12:20:54 PM COT
UPDATE AD_Field SET SeqNo=150,Updated=TO_DATE('2013-06-02 12:20:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=172
;
-- Jun 2, 2013 12:20:54 PM COT
UPDATE AD_Field SET SeqNo=160,Updated=TO_DATE('2013-06-02 12:20:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56374
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=170,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=310
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=180,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2526
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=190,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=169
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=200,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200648
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=210,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56279
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=220,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=171
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=230,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2574
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=240,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2573
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=250,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=161
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=260,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=162
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=270,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=166
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=280, IsDisplayed='Y', XPosition=5,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2370
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=310, IsDisplayed='Y', XPosition=2,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5122
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=320,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=4941
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=330,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50188
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=340,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=168
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=350,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=159
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=380, IsDisplayed='Y', XPosition=2,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56317
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=390, IsDisplayed='Y', XPosition=5,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62467
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=400, AD_FieldGroup_ID=200015, IsDisplayed='Y', XPosition=2,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=167
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=410, AD_FieldGroup_ID=200015, IsDisplayed='Y', XPosition=1,Updated=TO_DATE('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=825
;
-- Jun 2, 2013 7:51:57 PM COT
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2013-06-02 19:51:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=156
;
-- Jun 2, 2013 7:53:38 PM COT
UPDATE AD_Column SET Callout='org.compiere.model.Callout_AD_Column.element',Updated=TO_DATE('2013-06-02 19:53:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=2608
;
SELECT register_migration_script('201306021533_IDEMPIERE-1011.sql') FROM dual
;

View File

@ -0,0 +1,13 @@
-- Jun 1, 2013 10:06:30 AM COT
-- IDEMPIERE-1004 Account Info title translation
INSERT INTO AD_Message (MsgType,MsgText,AD_Message_ID,EntityType,AD_Message_UU,Value,IsActive,Updated,CreatedBy,UpdatedBy,AD_Org_ID,Created,AD_Client_ID) VALUES ('I','Posting',200177,'D','fa29733a-5b1d-44b4-b1e1-875e3fb18e4f','Posting','Y',TO_TIMESTAMP('2013-06-01 10:06:28','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_TIMESTAMP('2013-06-01 10:06:28','YYYY-MM-DD HH24:MI:SS'),0)
;
-- Jun 1, 2013 10:06:30 AM COT
-- IDEMPIERE-1004 Account Info title translation
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200177 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
;
SELECT register_migration_script('201306011007_IDEMPIERE-1004.sql') FROM dual
;

View File

@ -0,0 +1,66 @@
-- IDEMPIERE-1010 Thousands grouping separator is used for integers values
CREATE OR REPLACE VIEW ad_field_v AS
SELECT t.ad_window_id, f.ad_tab_id, f.ad_field_id, tbl.ad_table_id, f.ad_column_id,
f.name, f.description, f.help, f.isdisplayed, f.displaylogic, f.displaylength, f.seqno,
f.sortno, f.issameline, f.isheading, f.isfieldonly, f.isreadonly, f.isencrypted AS isencryptedfield,
f.obscuretype, c.columnname, c.columnsql, c.fieldlength, c.vformat,
COALESCE(f.defaultvalue, c.defaultvalue) AS defaultvalue, c.iskey, c.isparent,
COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated,
COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id, c.callout,
COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id,
COALESCE(f.ad_val_rule_id, c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id,
COALESCE(f.Isalwaysupdateable , C.Isalwaysupdateable) As Isalwaysupdateable,
COALESCE(f.Readonlylogic, c.Readonlylogic ) As Readonlylogic,
COALESCE(f.Mandatorylogic , C.Mandatorylogic) As Mandatorylogic,
COALESCE(f.isupdateable, c.isupdateable) AS isupdateable,
c.isencrypted AS isencryptedcolumn, c.isselectioncolumn, tbl.tablename, c.valuemin, c.valuemax,
fg.name AS fieldgroup, vr.code AS validationcode, f.included_tab_id, fg.fieldgrouptype, fg.iscollapsedbydefault,
COALESCE(f.infofactoryclass, c.infofactoryclass) AS infofactoryclass, c.isautocomplete,
COALESCE(f.IsAllowCopy, c.IsAllowCopy) AS IsAllowCopy,
f.isdisplayedgrid,
f.seqnogrid,
c.seqnoselection, f.xposition, f.columnspan, f.numlines,
COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton,
c.FormatPattern
FROM ad_field f
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
LEFT JOIN ad_fieldgroup fg ON f.ad_fieldgroup_id = fg.ad_fieldgroup_id
LEFT JOIN ad_column c ON f.ad_column_id = c.ad_column_id
JOIN ad_table tbl ON c.ad_table_id = tbl.ad_table_id
LEFT JOIN ad_val_rule vr ON vr.ad_val_rule_id = COALESCE(f.ad_val_rule_id, c.ad_val_rule_id)
WHERE f.isactive = 'Y'::bpchar AND c.isactive = 'Y'::bpchar
;
CREATE OR REPLACE VIEW ad_field_vt AS
SELECT trl.ad_language, t.ad_window_id, f.ad_tab_id, f.ad_field_id, tbl.ad_table_id, f.ad_column_id, trl.name, trl.description,
trl.help, f.isdisplayed, f.displaylogic, f.displaylength, f.seqno, f.sortno, f.issameline, f.isheading, f.isfieldonly, f.isreadonly,
f.isencrypted AS isencryptedfield, f.obscuretype, c.columnname, c.columnsql, c.fieldlength, c.vformat, COALESCE(f.defaultvalue, c.defaultvalue) AS defaultvalue,
c.iskey, c.isparent, COALESCE(f.ismandatory, c.ismandatory) AS ismandatory, c.isidentifier, c.istranslated,
COALESCE(f.ad_reference_value_id, c.ad_reference_value_id) AS ad_reference_value_id, c.callout, COALESCE(f.ad_reference_id, c.ad_reference_id) AS ad_reference_id,
COALESCE(f.ad_val_rule_id,c.ad_val_rule_id) AS ad_val_rule_id, c.ad_process_id,
COALESCE(f.Isalwaysupdateable,C.Isalwaysupdateable) As Isalwaysupdateable,
COALESCE(f.Readonlylogic,c.Readonlylogic) As Readonlylogic,
COALESCE(f.Mandatorylogic , C.Mandatorylogic) As Mandatorylogic,
COALESCE(f.isupdateable, c.isupdateable) AS isupdateable,
c.isencrypted AS isencryptedcolumn, c.isselectioncolumn, tbl.tablename, c.valuemin, c.valuemax, fgt.name AS fieldgroup, vr.code AS validationcode,
f.included_tab_id, fg.fieldgrouptype, fg.iscollapsedbydefault, COALESCE(f.infofactoryclass, c.infofactoryclass) AS infofactoryclass, c.isautocomplete,
COALESCE(f.IsAllowCopy, c.IsAllowCopy) AS IsAllowCopy,
f.isdisplayedgrid,
f.seqnogrid,
c.seqnoselection, f.xposition, f.columnspan, f.numlines,
COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton,
c.FormatPattern
FROM ad_field f
JOIN ad_field_trl trl ON f.ad_field_id = trl.ad_field_id
JOIN ad_tab t ON f.ad_tab_id = t.ad_tab_id
LEFT JOIN ad_fieldgroup fg ON f.ad_fieldgroup_id = fg.ad_fieldgroup_id
LEFT JOIN ad_fieldgroup_trl fgt ON f.ad_fieldgroup_id = fgt.ad_fieldgroup_id AND trl.ad_language::text = fgt.ad_language::text
LEFT JOIN ad_column c ON f.ad_column_id = c.ad_column_id
JOIN ad_table tbl ON c.ad_table_id = tbl.ad_table_id
LEFT JOIN ad_val_rule vr ON vr.ad_val_rule_id = COALESCE(f.ad_val_rule_id, c.ad_val_rule_id)
WHERE f.isactive = 'Y'::bpchar AND c.isactive = 'Y'::bpchar
;
SELECT register_migration_script('201306021150_IDEMPIERE-1010.sql') FROM dual
;

View File

@ -0,0 +1,23 @@
-- Jun 2, 2013 1:51:02 PM CEST
-- IDEMPIERE-1009 Translation of tree popup
INSERT INTO AD_Message (AD_Client_ID,AD_Message_ID,AD_Message_UU,AD_Org_ID,Created,CreatedBy,EntityType,IsActive,MsgText,MsgType,Updated,UpdatedBy,Value) VALUES (0,200178,'8619a78f-92b8-4f84-b2ea-8cea0a7af2e5',0,TO_TIMESTAMP('2013-06-02 13:51:01','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Move into','I',TO_TIMESTAMP('2013-06-02 13:51:01','YYYY-MM-DD HH24:MI:SS'),100,'MoveInto')
;
-- Jun 2, 2013 1:51:03 PM CEST
-- IDEMPIERE-1009 Translation of tree popup
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200178 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
;
-- Jun 2, 2013 1:51:19 PM CEST
-- IDEMPIERE-1009 Translation of tree popup
INSERT INTO AD_Message (AD_Client_ID,AD_Message_ID,AD_Message_UU,AD_Org_ID,Created,CreatedBy,EntityType,IsActive,MsgText,MsgType,Updated,UpdatedBy,Value) VALUES (0,200179,'91f51d98-8afb-4a08-ba21-f4b24fa8da04',0,TO_TIMESTAMP('2013-06-02 13:51:19','YYYY-MM-DD HH24:MI:SS'),100,'D','Y','Insert after','I',TO_TIMESTAMP('2013-06-02 13:51:19','YYYY-MM-DD HH24:MI:SS'),100,'InsertAfter')
;
-- Jun 2, 2013 1:51:19 PM CEST
-- IDEMPIERE-1009 Translation of tree popup
INSERT INTO AD_Message_Trl (AD_Language,AD_Message_ID, MsgText,MsgTip, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Message_Trl_UU ) SELECT l.AD_Language,t.AD_Message_ID, t.MsgText,t.MsgTip, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Message t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Message_ID=200179 AND NOT EXISTS (SELECT * FROM AD_Message_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Message_ID=t.AD_Message_ID)
;
SELECT register_migration_script('201306021405_IDEMPIERE-1009.sql') FROM dual
;

View File

@ -0,0 +1,260 @@
-- IDEMPIERE-1011 Improve usability of Table window
-- Jun 2, 2013 12:02:52 PM COT
UPDATE AD_Column SET ReadOnlyLogic='@#UIClient@!swing',Updated=TO_TIMESTAMP('2013-06-02 12:02:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=1179
;
-- Jun 2, 2013 12:10:10 PM COT
UPDATE AD_Field SET SeqNo=160, NumLines=2,Updated=TO_TIMESTAMP('2013-06-02 12:10:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=133
;
-- Jun 2, 2013 12:10:10 PM COT
UPDATE AD_Field SET SeqNo=240,Updated=TO_TIMESTAMP('2013-06-02 12:10:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200350
;
-- Jun 2, 2013 12:10:10 PM COT
UPDATE AD_Field SET SeqNo=250,Updated=TO_TIMESTAMP('2013-06-02 12:10:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200348
;
-- Jun 2, 2013 12:10:10 PM COT
UPDATE AD_Field SET SeqNo=260,Updated=TO_TIMESTAMP('2013-06-02 12:10:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200349
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=270,Updated=TO_TIMESTAMP('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13425
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=280,Updated=TO_TIMESTAMP('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200837
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=290,Updated=TO_TIMESTAMP('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=54402
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=300,Updated=TO_TIMESTAMP('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=54401
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=310,Updated=TO_TIMESTAMP('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200838
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=320,Updated=TO_TIMESTAMP('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200834
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=330,Updated=TO_TIMESTAMP('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13424
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=340,Updated=TO_TIMESTAMP('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62468
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=350, AD_FieldGroup_ID=200004, IsDisplayed='Y', XPosition=1, NumLines=2,Updated=TO_TIMESTAMP('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=53280
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=360, IsDisplayed='Y', XPosition=1, NumLines=2,Updated=TO_TIMESTAMP('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200836
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=370, NumLines=2,Updated=TO_TIMESTAMP('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200835
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=380,Updated=TO_TIMESTAMP('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=136
;
-- Jun 2, 2013 12:10:11 PM COT
UPDATE AD_Field SET SeqNo=390,Updated=TO_TIMESTAMP('2013-06-02 12:10:11','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=139
;
-- Jun 2, 2013 12:14:18 PM COT
UPDATE AD_Field SET SeqNo=150,Updated=TO_TIMESTAMP('2013-06-02 12:14:18','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56374
;
-- Jun 2, 2013 12:14:18 PM COT
UPDATE AD_Field SET SeqNo=160, AD_FieldGroup_ID=NULL, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2013-06-02 12:14:18','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=310
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=170,Updated=TO_TIMESTAMP('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2526
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=180, IsDisplayed='Y', XPosition=5,Updated=TO_TIMESTAMP('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=169
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=200, IsDisplayed='Y', XPosition=5,Updated=TO_TIMESTAMP('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56279
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=210,Updated=TO_TIMESTAMP('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=171
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=240,Updated=TO_TIMESTAMP('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=161
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=250,Updated=TO_TIMESTAMP('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=162
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=260,Updated=TO_TIMESTAMP('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=166
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=270,Updated=TO_TIMESTAMP('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2370
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=280, IsDisplayed='Y', XPosition=2,Updated=TO_TIMESTAMP('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5122
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=290,Updated=TO_TIMESTAMP('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10128
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=300, IsDisplayed='Y', XPosition=1, NumLines=2,Updated=TO_TIMESTAMP('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=160
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=310, NumLines=2,Updated=TO_TIMESTAMP('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=4941
;
-- Jun 2, 2013 12:14:19 PM COT
UPDATE AD_Field SET SeqNo=320, NumLines=2,Updated=TO_TIMESTAMP('2013-06-02 12:14:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50188
;
-- Jun 2, 2013 12:14:44 PM COT
UPDATE AD_Column SET IsToolbarButton='Y',Updated=TO_TIMESTAMP('2013-06-02 12:14:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=128
;
-- Jun 2, 2013 12:20:54 PM COT
UPDATE AD_Field SET SeqNo=40, IsDisplayed='Y', XPosition=1,Updated=TO_TIMESTAMP('2013-06-02 12:20:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=1345
;
-- Jun 2, 2013 12:20:54 PM COT
UPDATE AD_Field SET SeqNo=50,Updated=TO_TIMESTAMP('2013-06-02 12:20:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=156
;
-- Jun 2, 2013 12:20:54 PM COT
UPDATE AD_Field SET SeqNo=60,Updated=TO_TIMESTAMP('2013-06-02 12:20:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11264
;
-- Jun 2, 2013 12:20:54 PM COT
UPDATE AD_Field SET SeqNo=130, IsDisplayed='Y', XPosition=4,Updated=TO_TIMESTAMP('2013-06-02 12:20:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5121
;
-- Jun 2, 2013 12:20:54 PM COT
UPDATE AD_Field SET SeqNo=140,Updated=TO_TIMESTAMP('2013-06-02 12:20:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=170
;
-- Jun 2, 2013 12:20:54 PM COT
UPDATE AD_Field SET SeqNo=150,Updated=TO_TIMESTAMP('2013-06-02 12:20:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=172
;
-- Jun 2, 2013 12:20:54 PM COT
UPDATE AD_Field SET SeqNo=160,Updated=TO_TIMESTAMP('2013-06-02 12:20:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56374
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=170,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=310
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=180,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2526
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=190,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=169
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=200,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200648
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=210,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56279
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=220,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=171
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=230,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2574
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=240,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2573
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=250,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=161
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=260,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=162
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=270,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=166
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=280, IsDisplayed='Y', XPosition=5,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2370
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=310, IsDisplayed='Y', XPosition=2,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5122
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=320,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=4941
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=330,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50188
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=340,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=168
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=350,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=159
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=380, IsDisplayed='Y', XPosition=2,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56317
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=390, IsDisplayed='Y', XPosition=5,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62467
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=400, AD_FieldGroup_ID=200015, IsDisplayed='Y', XPosition=2,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=167
;
-- Jun 2, 2013 12:20:55 PM COT
UPDATE AD_Field SET SeqNo=410, AD_FieldGroup_ID=200015, IsDisplayed='Y', XPosition=1,Updated=TO_TIMESTAMP('2013-06-02 12:20:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=825
;
-- Jun 2, 2013 7:51:57 PM COT
UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2013-06-02 19:51:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=156
;
-- Jun 2, 2013 7:53:38 PM COT
UPDATE AD_Column SET Callout='org.compiere.model.Callout_AD_Column.element',Updated=TO_TIMESTAMP('2013-06-02 19:53:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=2608
;
SELECT register_migration_script('201306021533_IDEMPIERE-1011.sql') FROM dual
;

View File

@ -363,14 +363,24 @@ public class CalloutPayment extends CalloutEngine
+ ", C_Currency_ID=" + C_Currency_Invoice_ID);
// Get Info from Tab
BigDecimal PayAmt = (BigDecimal)mTab.getValue ("PayAmt");
if (PayAmt == null)
PayAmt = Env.ZERO;
BigDecimal DiscountAmt = (BigDecimal)mTab.getValue ("DiscountAmt");
if (DiscountAmt == null)
DiscountAmt = Env.ZERO;
BigDecimal WriteOffAmt = (BigDecimal)mTab.getValue ("WriteOffAmt");
if (WriteOffAmt == null)
WriteOffAmt = Env.ZERO;
BigDecimal OverUnderAmt = (BigDecimal)mTab.getValue ("OverUnderAmt");
if (OverUnderAmt == null)
OverUnderAmt = Env.ZERO;
if (log.isLoggable(Level.FINE)) log.fine ("Pay=" + PayAmt + ", Discount=" + DiscountAmt + ", WriteOff="
+ WriteOffAmt + ", OverUnderAmt=" + OverUnderAmt);
// Get Currency Info
int C_Currency_ID = ((Integer)mTab.getValue ("C_Currency_ID"))
.intValue ();
Integer curr_int = (Integer) mTab.getValue ("C_Currency_ID");
if (curr_int == null)
curr_int = Integer.valueOf(0);
int C_Currency_ID = curr_int.intValue ();
MCurrency currency = MCurrency.get (ctx, C_Currency_ID);
Timestamp ConvDate = (Timestamp)mTab.getValue ("DateTrx");
int C_ConversionType_ID = 0;

View File

@ -151,10 +151,18 @@ public class CalloutPaymentAllocate extends CalloutEngine
if (C_Invoice_ID == 0)
return "";
// Get Info from Tab
BigDecimal Amount = (BigDecimal)mTab.getValue("Amount");
BigDecimal DiscountAmt = (BigDecimal)mTab.getValue("DiscountAmt");
BigDecimal WriteOffAmt = (BigDecimal)mTab.getValue("WriteOffAmt");
BigDecimal OverUnderAmt = (BigDecimal)mTab.getValue("OverUnderAmt");
BigDecimal Amount = (BigDecimal)mTab.getValue ("Amount");
if (Amount == null)
Amount = Env.ZERO;
BigDecimal DiscountAmt = (BigDecimal)mTab.getValue ("DiscountAmt");
if (DiscountAmt == null)
DiscountAmt = Env.ZERO;
BigDecimal WriteOffAmt = (BigDecimal)mTab.getValue ("WriteOffAmt");
if (WriteOffAmt == null)
WriteOffAmt = Env.ZERO;
BigDecimal OverUnderAmt = (BigDecimal)mTab.getValue ("OverUnderAmt");
if (OverUnderAmt == null)
OverUnderAmt = Env.ZERO;
BigDecimal InvoiceAmt = (BigDecimal)mTab.getValue("InvoiceAmt");
if (log.isLoggable(Level.FINE)) log.fine("Amt=" + Amount + ", Discount=" + DiscountAmt
+ ", WriteOff=" + WriteOffAmt + ", OverUnder=" + OverUnderAmt

View File

@ -12,13 +12,20 @@
*****************************************************************************/
package org.compiere.model;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import org.adempiere.exceptions.DBException;
import org.adempiere.model.GridTabWrapper;
import org.compiere.util.DB;
import org.compiere.util.DisplayType;
/**
* @author teo_sarca
*
*
* @author Carlos Ruiz - globalqss - IDEMPIERE-1011 Improve usability of Table window
*/
public class Callout_AD_Column extends CalloutEngine
{
@ -27,7 +34,110 @@ public class Callout_AD_Column extends CalloutEngine
I_AD_Column column = GridTabWrapper.create(mTab, I_AD_Column.class);
if (MColumn.isSuggestSelectionColumn(column.getColumnName(), true))
column.setIsSelectionColumn(true);
//
// IDEMPIERE-1011
if (PO.getUUIDColumnName(column.getAD_Table().getTableName()).equals(column.getColumnName())) {
// UUID column
column.setAD_Reference_ID(DisplayType.String);
column.setAD_Val_Rule_ID(0);
column.setAD_Reference_Value_ID(0);
column.setFieldLength(36);
column.setDefaultValue(null);
column.setMandatoryLogic(null);
column.setReadOnlyLogic(null);
column.setIsIdentifier(false);
column.setIsUpdateable(false);
column.setIsAlwaysUpdateable(false);
column.setIsKey(true);
} else if (column.getAD_Table().getTableName().concat("_ID").equals(column.getColumnName())) {
// ID key column
column.setAD_Reference_ID(DisplayType.ID);
column.setAD_Val_Rule_ID(0);
column.setAD_Reference_Value_ID(0);
column.setFieldLength(22);
column.setDefaultValue(null);
column.setMandatoryLogic(null);
column.setReadOnlyLogic(null);
column.setIsIdentifier(false);
column.setIsUpdateable(false);
column.setIsAlwaysUpdateable(false);
} else {
// get defaults from most used case
String sql = ""
+ "SELECT AD_Reference_ID, "
+ " AD_Val_Rule_ID, "
+ " AD_Reference_Value_ID, "
+ " FieldLength, "
+ " DefaultValue, "
+ " MandatoryLogic, "
+ " ReadOnlyLogic, "
+ " IsIdentifier, "
+ " IsUpdateable, "
+ " IsAlwaysUpdateable, "
+ " COUNT(*) "
+ "FROM AD_Column "
+ "WHERE ColumnName = ? "
+ "GROUP BY AD_Reference_ID, "
+ " AD_Val_Rule_ID, "
+ " AD_Reference_Value_ID, "
+ " FieldLength, "
+ " DefaultValue, "
+ " MandatoryLogic, "
+ " ReadOnlyLogic, "
+ " IsIdentifier, "
+ " IsUpdateable, "
+ " IsAlwaysUpdateable "
+ "ORDER BY COUNT(*) DESC ";
PreparedStatement pstmt = null;
ResultSet rs = null;
try
{
pstmt = DB.prepareStatement(sql, null);
pstmt.setString(1, column.getColumnName());
rs = pstmt.executeQuery();
if (rs.next()) {
int ad_reference_id = rs.getInt(1);
if (ad_reference_id == DisplayType.ID)
ad_reference_id = DisplayType.TableDir;
column.setAD_Reference_ID(ad_reference_id);
column.setAD_Val_Rule_ID(rs.getInt(2));
column.setAD_Reference_Value_ID(rs.getInt(3));
column.setFieldLength(rs.getInt(4));
column.setDefaultValue(rs.getString(5));
column.setMandatoryLogic(rs.getString(6));
column.setReadOnlyLogic(rs.getString(7));
column.setIsIdentifier("Y".equals(rs.getString(8)));
column.setIsUpdateable("Y".equals(rs.getString(9)));
column.setIsAlwaysUpdateable("Y".equals(rs.getString(10)));
}
}
catch (SQLException e)
{
throw new DBException(e);
}
finally
{
DB.close(rs, pstmt);
rs = null;
pstmt = null;
}
}
return "";
}
public String element (Properties ctx, int WindowNo, GridTab mTab, GridField mField, Object value)
{
// IDEMPIERE-1011
I_AD_Column column = GridTabWrapper.create(mTab, I_AD_Column.class);
if (column.getAD_Element_ID() > 0) {
M_Element element = new M_Element(ctx, column.getAD_Element_ID(), null);
column.setColumnName(element.getColumnName());
column.setName(element.getName());
column.setDescription(element.getDescription());
column.setHelp(element.getHelp());
}
return "";
}

View File

@ -238,7 +238,7 @@ public class AccessSqlParser
index = from.indexOf(ON);
while (index != -1)
{
int indexClose = from.indexOf(')'); // does not catch "IN (1,2)" in ON
int indexClose = getIndexClose(from); // does not catch "IN (1,2)" in ON
int indexNextOn = from.indexOf(ON, index+4);
if (indexNextOn != -1)
indexClose = from.lastIndexOf(')', indexNextOn);
@ -383,6 +383,33 @@ public class AccessSqlParser
}
return "";
} // getMainSql
/**
* Get index of ')'
* @return index of ')'
*/
public int getIndexClose(String from)
{
int parenthesisLevel = 0;
int indexOpen=from.indexOf('(');
int index=-1;
while(indexOpen!=-1)
{
parenthesisLevel++;
int indexNextOpen = from.indexOf('(', indexOpen+1);
int indexClose = from.indexOf(')',indexOpen+1);
if (indexNextOpen==-1 || indexClose<indexNextOpen){
break;
}
indexOpen=from.indexOf('(',indexNextOpen);
}
while(parenthesisLevel>0)
{
index = from.indexOf(')',index+1);
parenthesisLevel--;
}
return index;
}
/**
* Table Info VO

View File

@ -76,12 +76,10 @@ import org.compiere.util.Evaluator;
public class GridField
implements Serializable, Evaluatee, Cloneable
{
/**
*
*/
private static final long serialVersionUID = -2384947306143518488L;
private static final long serialVersionUID = -4907605626586089308L;
/**
* Field Constructor.
@ -1197,6 +1195,13 @@ public class GridField
{
return m_vo.VFormat;
}
/**
* Get Format Pattern
* @return format pattern
*/
public String getFormatPattern() {
return m_vo.FormatPattern;
}
/**
* Get Value Min
* @return min
@ -2005,4 +2010,5 @@ public class GridField
}
}
} // MField

View File

@ -45,7 +45,7 @@ public class GridFieldVO implements Serializable
/**
*
*/
private static final long serialVersionUID = 542767511640866058L;
private static final long serialVersionUID = -6098724121324445114L;
/**
* Return the SQL statement used for the MFieldVO.create
@ -144,6 +144,8 @@ public class GridFieldVO implements Serializable
vo.FieldLength = rs.getInt (i);
else if (columnName.equalsIgnoreCase("VFormat"))
vo.VFormat = rs.getString (i);
else if (columnName.equalsIgnoreCase("FormatPattern"))
vo.FormatPattern = rs.getString (i);
else if (columnName.equalsIgnoreCase("ValueMin"))
vo.ValueMin = rs.getString (i);
else if (columnName.equalsIgnoreCase("ValueMax"))
@ -311,6 +313,7 @@ public class GridFieldVO implements Serializable
vo.DefaultValue = rs.getString("DefaultValue");
vo.DefaultValue2 = rs.getString("DefaultValue2");
vo.VFormat = rs.getString("VFormat");
vo.FormatPattern = rs.getString("FormatPattern");
vo.ValueMin = rs.getString("ValueMin");
vo.ValueMax = rs.getString("ValueMax");
vo.isRange = rs.getString("IsRange").equals("Y");
@ -359,6 +362,7 @@ public class GridFieldVO implements Serializable
voT.DisplayLength = voF.FieldLength;
voT.DefaultValue = voF.DefaultValue2;
voT.VFormat = voF.VFormat;
voT.FormatPattern = voF.FormatPattern;
voT.ValueMin = voF.ValueMin;
voT.ValueMax = voF.ValueMax;
voT.isRange = voF.isRange;
@ -519,6 +523,8 @@ public class GridFieldVO implements Serializable
public int FieldLength = 0;
/** Format enforcement */
public String VFormat = "";
/** Format pattern */
public String FormatPattern;
/** Min. Value */
public String ValueMin = "";
/** Max. Value */
@ -696,6 +702,7 @@ public class GridFieldVO implements Serializable
clone.SortNo = SortNo;
clone.FieldLength = FieldLength;
clone.VFormat = VFormat;
clone.FormatPattern = FormatPattern;
clone.ValueMin = ValueMin;
clone.ValueMax = ValueMax;
clone.FieldGroup = FieldGroup;

View File

@ -111,7 +111,7 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
/**
*
*/
private static final long serialVersionUID = -1638364577972806113L;
private static final long serialVersionUID = -4022944302529684348L;
public static final String DEFAULT_STATUS_MESSAGE = "NavigateOrUpdate";
@ -785,20 +785,20 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
if (query.getRestrictionCount() != 1)
{
if (log.isLoggable(Level.FINE)) log.fine("Ignored(More than 1 Restriction): " + query);
return query.getWhereClause();
return query.getWhereClause(true);
}
String colName = query.getColumnName(0);
if (colName == null)
{
if (log.isLoggable(Level.FINE)) log.fine("Ignored(No Column): " + query);
return query.getWhereClause();
return query.getWhereClause(true);
}
// a '(' in the name = function - don't try to resolve
if (colName.indexOf('(') != -1)
{
if (log.isLoggable(Level.FINE)) log.fine("Ignored(Function): " + colName);
return query.getWhereClause();
return query.getWhereClause(true);
}
// OK - Query is valid
@ -806,7 +806,7 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
if (getField(colName) != null)
{
if (log.isLoggable(Level.FINE)) log.fine("Field Found: " + colName);
return query.getWhereClause();
return query.getWhereClause(true);
}
String refColName = null;
@ -845,7 +845,7 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
if (getField(refColName) != null)
{
if (log.isLoggable(Level.FINE)) log.fine("Column " + colName + " replaced with " + refColName);
return query.getWhereClause();
return query.getWhereClause(true);
}
colName = refColName;
}
@ -897,7 +897,7 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
if (log.isLoggable(Level.INFO)) log.info ("Not successfull - Column="
+ colName + ", Key=" + tabKeyColumn
+ ", Query=" + query);
return query.getWhereClause();
return query.getWhereClause(true);
}
query.setTableName("xx");

View File

@ -100,7 +100,7 @@ public class GridTable extends AbstractTableModel
/**
*
*/
private static final long serialVersionUID = 5782826500266625861L;
private static final long serialVersionUID = -2181155164268688340L;
public static final String DATA_REFRESH_MESSAGE = "Refreshed";
@ -2270,6 +2270,7 @@ public class GridTable extends AbstractTableModel
int size = m_fields.size();
StringBuffer singleRowWHERE = null;
StringBuffer multiRowWHERE = null;
String tableName = getTableName();
for (int col = 0; col < size; col++)
{
GridField field = (GridField)m_fields.get (col);
@ -2283,10 +2284,10 @@ public class GridTable extends AbstractTableModel
return null;
}
if (columnName.endsWith ("_ID"))
singleRowWHERE = new StringBuffer(columnName)
singleRowWHERE = new StringBuffer(tableName).append(".").append(columnName)
.append ("=").append (value);
else
singleRowWHERE = new StringBuffer(columnName)
singleRowWHERE = new StringBuffer(tableName).append(".").append(columnName)
.append ("=").append (DB.TO_STRING(value.toString()));
}
else if (field.isParentColumn())
@ -2303,10 +2304,10 @@ public class GridTable extends AbstractTableModel
else
multiRowWHERE.append(" AND ");
if (columnName.endsWith ("_ID"))
multiRowWHERE.append (columnName)
multiRowWHERE.append (tableName).append(".").append(columnName)
.append ("=").append (value);
else
multiRowWHERE.append (columnName)
multiRowWHERE.append (tableName).append(".").append(columnName)
.append ("=").append (DB.TO_STRING(value.toString()));
}
} // for all columns
@ -2889,13 +2890,13 @@ public class GridTable extends AbstractTableModel
close(false);
if (retainedWhere != null)
{
String whereClause = m_whereClause;
// String whereClause = m_whereClause;
if (m_whereClause != null && m_whereClause.trim().length() > 0)
{
m_whereClause = "((" + m_whereClause + ") OR (" + retainedWhere + ")) ";
}
open(m_maxRows);
m_whereClause = whereClause;
// m_whereClause = whereClause;
}
else
{

View File

@ -69,6 +69,8 @@ public class MAttributeUse extends X_M_AttributeUse
*/
protected boolean afterSave (boolean newRecord, boolean success)
{
if (!success)
return success;
// also used for afterDelete
StringBuilder sql = new StringBuilder("UPDATE M_AttributeSet mas")
.append(" SET IsInstanceAttribute='Y' ")

View File

@ -20,6 +20,11 @@ import java.math.BigDecimal;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.Locale;
import java.util.Properties;
import java.util.logging.Level;
@ -39,11 +44,10 @@ import org.compiere.util.Util;
*/
public class MColumn extends X_AD_Column
{
/**
*
*/
private static final long serialVersionUID = 6543789555737635129L;
private static final long serialVersionUID = -3366954463322356334L;
/**
* Get MColumn from Cache
@ -305,11 +309,33 @@ public class MColumn extends X_AD_Column
)
setIsAllowCopy(false);
}
// validate FormatPattern
String pattern = getFormatPattern();
if (! Util.isEmpty(pattern, true)) {
if (DisplayType.isNumeric(getAD_Reference_ID())) {
DecimalFormat format = (DecimalFormat)NumberFormat.getNumberInstance(Locale.US);
try {
format.applyPattern(pattern);
} catch (IllegalArgumentException e) {
log.saveError("SaveError", "Invalid number format: " + pattern);
return false;
}
} else if (DisplayType.isDate(getAD_Reference_ID())) {
SimpleDateFormat format = (SimpleDateFormat)DateFormat.getInstance();
try {
format.applyPattern(pattern);
} catch (IllegalArgumentException e) {
log.saveError("SaveError", "Invalid date pattern: " + pattern);
return false;
}
} else {
setFormatPattern(null);
}
}
return true;
} // beforeSave
/**
* After Save

View File

@ -1352,7 +1352,6 @@ public class MInOut extends X_M_InOut implements DocAction
orderedDiff = ma.getMovementQty().negate();
}
// Update Storage - see also VMatch.createMatchRecord
if (!MStorageOnHand.add(getCtx(), getM_Warehouse_ID(),
sLine.getM_Locator_ID(),
@ -1362,7 +1361,7 @@ public class MInOut extends X_M_InOut implements DocAction
get_TrxName()))
{
String lastError = CLogger.retrieveErrorString("");
m_processMsg = "Cannot correct Inventory OnHand (MA) - " + lastError;
m_processMsg = "Cannot correct Inventory OnHand (MA) [" + product.getValue() + "] - " + lastError;
return DocAction.STATUS_Invalid;
}
if (sameWarehouse && reservedDiff.signum() != 0) {
@ -1374,7 +1373,7 @@ public class MInOut extends X_M_InOut implements DocAction
get_TrxName()))
{
String lastError = CLogger.retrieveErrorString("");
m_processMsg = "Cannot correct Inventory Reserved (MA) - " + lastError;
m_processMsg = "Cannot correct Inventory Reserved (MA) [" + product.getValue() + "] - " + lastError;
return DocAction.STATUS_Invalid;
}
}
@ -1387,7 +1386,7 @@ public class MInOut extends X_M_InOut implements DocAction
get_TrxName()))
{
String lastError = CLogger.retrieveErrorString("");
m_processMsg = "Cannot correct Inventory Ordered (MA) - " + lastError;
m_processMsg = "Cannot correct Inventory Ordered (MA) [" + product.getValue() + "] - " + lastError;
return DocAction.STATUS_Invalid;
}
}
@ -1401,7 +1400,7 @@ public class MInOut extends X_M_InOut implements DocAction
ma.getM_AttributeSetInstance_ID(), reservationAttributeSetInstance_ID,
reservedDiff, true, get_TrxName()))
{
m_processMsg = "Cannot correct Inventory Reserved (MA) in order warehouse";
m_processMsg = "Cannot correct Inventory Reserved (MA) in order warehouse [" + product.getValue() + "]";
return DocAction.STATUS_Invalid;
}
}
@ -1411,7 +1410,7 @@ public class MInOut extends X_M_InOut implements DocAction
ma.getM_AttributeSetInstance_ID(), reservationAttributeSetInstance_ID,
orderedDiff, false, get_TrxName()))
{
m_processMsg = "Cannot correct Inventory Ordered (MA) in order warehouse";
m_processMsg = "Cannot correct Inventory Ordered (MA) in order warehouse [" + product.getValue() + "]";
return DocAction.STATUS_Invalid;
}
@ -1425,7 +1424,7 @@ public class MInOut extends X_M_InOut implements DocAction
mtrx.setM_InOutLine_ID(sLine.getM_InOutLine_ID());
if (!mtrx.save())
{
m_processMsg = "Could not create Material Transaction (MA)";
m_processMsg = "Could not create Material Transaction (MA) [" + product.getValue() + "]";
return DocAction.STATUS_Invalid;
}
}
@ -1444,7 +1443,7 @@ public class MInOut extends X_M_InOut implements DocAction
Qty, get_TrxName()))
{
String lastError = CLogger.retrieveErrorString("");
m_processMsg = "Cannot correct Inventory OnHand - " + lastError;
m_processMsg = "Cannot correct Inventory OnHand [" + product.getValue() + "] - " + lastError;
return DocAction.STATUS_Invalid;
}
if (reservedDiff.signum() != 0) {
@ -1453,7 +1452,7 @@ public class MInOut extends X_M_InOut implements DocAction
sLine.getM_AttributeSetInstance_ID(), reservationAttributeSetInstance_ID,
reservedDiff, true, get_TrxName()))
{
m_processMsg = "Cannot correct Inventory Reserved";
m_processMsg = "Cannot correct Inventory Reserved [" + product.getValue() + "]";
return DocAction.STATUS_Invalid;
}
}
@ -1463,7 +1462,7 @@ public class MInOut extends X_M_InOut implements DocAction
sLine.getM_AttributeSetInstance_ID(), reservationAttributeSetInstance_ID,
orderedDiff, false, get_TrxName()))
{
m_processMsg = "Cannot correct Inventory Ordered";
m_processMsg = "Cannot correct Inventory Ordered [" + product.getValue() + "]";
return DocAction.STATUS_Invalid;
}
}
@ -1477,7 +1476,7 @@ public class MInOut extends X_M_InOut implements DocAction
sLine.getM_AttributeSetInstance_ID(), reservationAttributeSetInstance_ID,
QtySO.negate(), true, get_TrxName()))
{
m_processMsg = "Cannot correct Inventory Reserved";
m_processMsg = "Cannot correct Inventory Reserved [" + product.getValue() + "]";
return DocAction.STATUS_Invalid;
}
}
@ -1487,7 +1486,7 @@ public class MInOut extends X_M_InOut implements DocAction
sLine.getM_AttributeSetInstance_ID(), reservationAttributeSetInstance_ID,
QtyPO.negate(), false, get_TrxName()))
{
m_processMsg = "Cannot correct Inventory Ordered";
m_processMsg = "Cannot correct Inventory Ordered [" + product.getValue() + "]";
return DocAction.STATUS_Invalid;
}
}
@ -1500,7 +1499,7 @@ public class MInOut extends X_M_InOut implements DocAction
mtrx.setM_InOutLine_ID(sLine.getM_InOutLine_ID());
if (!mtrx.save())
{
m_processMsg = CLogger.retrieveErrorString("Could not create Material Transaction");
m_processMsg = CLogger.retrieveErrorString("Could not create Material Transaction [" + product.getValue() + "]");
return DocAction.STATUS_Invalid;
}
}

View File

@ -583,7 +583,7 @@ public class WAcctViewer extends Window implements EventListener<Event>
southPanel.setVflex("1");
southPanel.setHflex("1");
this.setTitle(TITLE);
this.setTitle(Msg.getMsg(Env.getCtx(), TITLE));
this.setClosable(true);
this.setStyle("position: absolute; width: 100%; height: 100%;");
this.setSizable(true);
@ -770,7 +770,7 @@ public class WAcctViewer extends Window implements EventListener<Event>
RModelExcelExporter exporter = new RModelExcelExporter(m_rmodel);
File file;
try {
file = new File(FileUtil.getTempMailName(TITLE, ".xls"));
file = new File(FileUtil.getTempMailName(Msg.getMsg(Env.getCtx(), TITLE), ".xls"));
exporter.export(file, Env.getLanguage(Env.getCtx()));
Filedownload.save(file, "application/vnd.ms-excel");
} catch (Exception e) {

View File

@ -77,7 +77,6 @@ public class WMerge extends Merge implements IFormController, EventListener<Even
private ConfirmPanel confirmPanel = new ConfirmPanel(true);
private String m_msg;
private boolean m_success;
private BusyDialog progressWindow;
private MergeRunnable runnable;
@ -255,10 +254,7 @@ public class WMerge extends Merge implements IFormController, EventListener<Even
{
updateDeleteTable(columnNameRef);
progressWindow = new BusyDialog();
progressWindow.setPage(form.getPage());
progressWindow.doHighlighted();
Clients.showBusy("");
runnable = new MergeRunnable(columnNameRef, fromIdRef, toIdRef);
Clients.response(new AuEcho(form, "runProcess", null));
}
@ -279,7 +275,8 @@ public class WMerge extends Merge implements IFormController, EventListener<Even
public void run() {
try {
m_success = merge (columnName, from_ID, to_ID);
postMerge(columnName, to_ID);
if (m_success)
postMerge(columnName, to_ID);
} finally{
Clients.clearBusy();
Clients.response(new AuEcho(form, "onAfterProcess", null));

View File

@ -20,14 +20,16 @@ import org.compiere.model.MTree;
import org.compiere.model.MTreeNode;
import org.compiere.util.CLogger;
import org.compiere.util.DB;
import org.compiere.util.Env;
import org.compiere.util.Msg;
import org.compiere.util.Trx;
import org.zkoss.zk.ui.event.DropEvent;
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.DefaultTreeNode;
import org.zkoss.zul.Menuitem;
import org.zkoss.zul.Menupopup;
import org.zkoss.zul.DefaultTreeNode;
import org.zkoss.zul.Tree;
import org.zkoss.zul.Treeitem;
import org.zkoss.zul.Treerow;
@ -102,21 +104,20 @@ public class ADTreeOnDropListener implements EventListener<Event> {
tree.setSelectedItem(toItem);
Events.sendEvent(tree, new Event(Events.ON_SELECT, tree));
MenuListener listener = new MenuListener(movingNode, toNode);
//TODO: translation
Menupopup popup = new Menupopup();
Menuitem menuItem = new Menuitem("Insert After");
Menuitem menuItem = new Menuitem(Msg.getMsg(Env.getCtx(), "InsertAfter"));
menuItem.setValue("InsertAfter");
menuItem.setParent(popup);
menuItem.addEventListener(Events.ON_CLICK, listener);
menuItem = new Menuitem("Move Into");
menuItem = new Menuitem(Msg.getMsg(Env.getCtx(), "MoveInto"));
menuItem.setValue("MoveInto");
menuItem.setParent(popup);
menuItem.addEventListener(Events.ON_CLICK, listener);
popup.setPage(tree.getPage());
popup.open(toItem.getTreerow());
}

View File

@ -45,10 +45,10 @@ import org.zkoss.zul.Vbox;
*/
public class NumberBox extends Div
{
/**
/**
*
*/
private static final long serialVersionUID = 7089099079981906933L;
private static final long serialVersionUID = -3548087521669052891L;
private Textbox txtCalc = new Textbox();
@ -145,11 +145,7 @@ public class NumberBox extends Div
{
BigDecimal value = decimalBox.getValue();
if (value == null) return null;
if (format != null)
return format.format(value);
else
return value.toPlainString();
return decimalBox.getText();
}
/**

View File

@ -30,6 +30,7 @@ import org.adempiere.webui.window.WFieldRecordInfo;
import org.compiere.model.GridField;
import org.compiere.util.DisplayType;
import org.compiere.util.Env;
import org.compiere.util.Language;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.Events;
@ -134,8 +135,15 @@ public class WNumberEditor extends WEditor implements ContextMenuListener
displayType = DisplayType.Integer;
else if (!DisplayType.isNumeric(displayType))
displayType = DisplayType.Number;
DecimalFormat format = DisplayType.getNumberFormat(displayType, AEnv.getLanguage(Env.getCtx()));
getComponent().getDecimalbox().setFormat(format.toPattern());
// IDEMPIERE-989
Language lang = AEnv.getLanguage(Env.getCtx());
DecimalFormat format = DisplayType.getNumberFormat(displayType, lang);
if (gridField != null && gridField.getFormatPattern() != null)
getComponent().getDecimalbox().setFormat(gridField.getFormatPattern());
else
getComponent().getDecimalbox().setFormat(format.toPattern());
getComponent().getDecimalbox().setLocale(lang.getLocale());
getComponent().setFormat(format);
popupMenu = new WEditorPopupMenu(false, false, isShowPreference());
addChangeLogMenu(popupMenu);

View File

@ -170,7 +170,6 @@ public class WSearchEditor extends WEditor implements ContextMenuListener, Value
{
columnName = this.getColumnName();
imageUrl = ThemeManager.getThemeResource("images/PickOpen16.png");
if (columnName.equals("C_BPartner_ID"))
{
popupMenu = new WEditorPopupMenu(true, true, isShowPreference(), true, true, false, lookup);
@ -184,6 +183,7 @@ public class WSearchEditor extends WEditor implements ContextMenuListener, Value
else
{
popupMenu = new WEditorPopupMenu(true, true, isShowPreference(), false, false, false, lookup);
imageUrl = ThemeManager.getThemeResource("images/PickOpen16.png");
}
getComponent().getButton().setImage(imageUrl);

View File

@ -68,12 +68,8 @@ public class ButtonFactory {
{
Button button = new Button();
button.setName("btn"+name);
String text = Msg.translate(Env.getCtx(), name);
if (!name.equals(text))
text = text.replaceAll("[&]", "");
else
text = null;
String text = Util.cleanAmp(Msg.translate(Env.getCtx(), name));
if (withText && text != null)
{

View File

@ -26,6 +26,7 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import org.adempiere.exceptions.AdempiereException;
import org.adempiere.webui.AdempiereWebUI;
import org.adempiere.webui.LayoutUtils;
import org.adempiere.webui.component.Button;
import org.adempiere.webui.component.FolderBrowser;
@ -128,7 +129,7 @@ public class WTranslationDialog extends TranslationController implements IFormCo
bImport.setLabel(Msg.getMsg(Env.getCtx(), "Import"));
bImport.addActionListener(this);
bImportZIP.setLabel(Msg.getMsg(Env.getCtx(), "ImportZIP"));
bImportZIP.setUpload("true");
bImportZIP.setUpload(AdempiereWebUI.getUploadSetting());
bImportZIP.addEventListener(Events.ON_UPLOAD, this);
Rows rows = centerLayout.newRows();

View File

@ -247,21 +247,45 @@ public class ReportAction implements EventListener<Event>
int Record_ID = 0;
int[] RecordIDs = null;
MQuery query = new MQuery(gridTab.getTableName());
String whereClause;
if (currentRowOnly)
{
Record_ID = gridTab.getRecord_ID();
query.addRestriction(query.getTableName() + "_ID", MQuery.EQUAL, Record_ID);
whereClause = gridTab.getTableModel().getWhereClause(gridTab.getCurrentRow());
if (whereClause==null)
whereClause = gridTab.getTableModel().getSelectWhereClause();
}
else
{
whereClause = gridTab.getTableModel().getSelectWhereClause();
RecordIDs = new int[gridTab.getRowCount()];
for(int i = 0; i < gridTab.getRowCount(); i++)
{
RecordIDs[i] = gridTab.getKeyID(i);
query.addRestriction(query.getTableName() + "." + query.getTableName() + "_ID" + MQuery.EQUAL + RecordIDs[i], false, 0);
}
}
if (whereClause!=null && whereClause.length() > 0)
{
if (whereClause.indexOf('@') != -1) //replace variables in context
{
String context = Env.parseContext(Env.getCtx(), panel.getWindowNo(), whereClause, false);
if(context != null && context.trim().length() > 0)
{
whereClause = context;
}
else
{
log.log(Level.WARNING, "Failed to parse where clause. whereClause= "+whereClause);
whereClause = ("1 = 2");
}
}
}
query.addRestriction(whereClause);
PrintInfo info = new PrintInfo(pf.getName(), pf.getAD_Table_ID(), Record_ID);
info.setDescription(query.getInfo());

View File

@ -29,6 +29,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
@ -43,6 +44,7 @@ import org.adempiere.webui.component.Column;
import org.adempiere.webui.component.Columns;
import org.adempiere.webui.component.Combobox;
import org.adempiere.webui.component.ConfirmPanel;
import org.adempiere.webui.component.DatetimeBox;
import org.adempiere.webui.component.Grid;
import org.adempiere.webui.component.Label;
import org.adempiere.webui.component.ListCell;
@ -96,6 +98,7 @@ import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zul.Borderlayout;
import org.zkoss.zul.Center;
import org.zkoss.zul.Comboitem;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.Div;
import org.zkoss.zul.Hbox;
import org.zkoss.zul.South;
@ -1331,7 +1334,24 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
// Value ******
ListCell cellQueryFrom = (ListCell)row.getFellow("cellQueryFrom"+row.getId());
Object value = cellQueryFrom.getAttribute("value");
Object value = null;
//Allowing Date validation before save
Component compo = cellQueryFrom.getFirstChild();
if(compo instanceof Datebox) {
Datebox dbox = (Datebox)compo;
if(dbox.getValue() != null)
value = new Timestamp(((Date)dbox.getValue()).getTime());
}
else if(compo instanceof DatetimeBox) {
DatetimeBox dtbox = (DatetimeBox)compo;
if(dtbox.getValue() != null)
value = new Timestamp(((Date)dtbox.getValue()).getTime());
}
else {
value = cellQueryFrom.getAttribute("value");
}
if (value == null)
{
if(Operator.equals(MQuery.NULL) || Operator.equals(MQuery.NOT_NULL))
@ -1369,6 +1389,24 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
if (MQuery.OPERATORS[MQuery.BETWEEN_INDEX].getValue().equals(Operator))
{
ListCell cellQueryTo = (ListCell)row.getFellow("cellQueryTo"+row.getId());
//Allowing Date validation before save
compo = cellQueryTo.getFirstChild();
if(compo instanceof Datebox) {
Datebox dbox = (Datebox)compo;
if(dbox.getValue() != null)
value2 = new Timestamp(((Date)dbox.getValue()).getTime());
}
else if(compo instanceof DatetimeBox) {
DatetimeBox dtbox = (DatetimeBox)compo;
if(dtbox.getValue() != null)
value2 = new Timestamp(((Date)dtbox.getValue()).getTime());
}
else {
value2 = cellQueryFrom.getAttribute("value");
}
value2 = cellQueryTo.getAttribute("value");
if (value2 == null)
continue;

View File

@ -38,11 +38,10 @@ import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.event.UploadEvent;
import org.zkoss.zul.Borderlayout;
import org.zkoss.zul.Center;
import org.zkoss.zul.North;
import org.zkoss.zul.South;
import org.zkoss.zul.Fileupload;
import org.zkoss.zul.Image;
import org.zkoss.zul.North;
import org.zkoss.zul.Separator;
import org.zkoss.zul.South;
/**
* Base on the original Swing Image Dialog.
@ -57,7 +56,7 @@ public class WImageDialog extends Window implements EventListener<Event>
/**
*
*/
private static final long serialVersionUID = 4253571652070223072L;
private static final long serialVersionUID = -5048907034691374834L;
/**
* Constructor
@ -147,9 +146,10 @@ public class WImageDialog extends Window implements EventListener<Event>
south.setStyle("background-color: transparent; border: none;");
south.setParent(mainLayout);
south.appendChild(confirmPanel);
//
fileButton.addEventListener(Events.ON_CLICK, this);
fileButton.setUpload(AdempiereWebUI.getUploadSetting());
fileButton.addEventListener(Events.ON_UPLOAD, this);
confirmPanel.addActionListener(Events.ON_CLICK, this);
addEventListener(Events.ON_UPLOAD, this);
@ -161,10 +161,6 @@ public class WImageDialog extends Window implements EventListener<Event>
UploadEvent ue = (UploadEvent) e;
processUploadMedia(ue.getMedia());
}
else if (e.getTarget() == fileButton)
{
cmd_file();
}
else if (e.getTarget().getId().equals(ConfirmPanel.A_OK))
{
if (image.getContent() != null)
@ -196,17 +192,6 @@ public class WImageDialog extends Window implements EventListener<Event>
public boolean isCancel() {
return cancel;
}
/**
* Load file & display
*/
private void cmd_file()
{
// Show File Open Dialog
Media media = Fileupload.get();
if (AdempiereWebUI.isEventThreadEnabled())
processUploadMedia(media);
} // cmd_file
private void processUploadMedia(Media imageFile) {
if (imageFile == null)

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 947 B

View File

@ -28,8 +28,6 @@ import org.compiere.util.Trx;
public class Merge
{
@SuppressWarnings("unused")
private static final long serialVersionUID = 149783846292562740L;
/** Window No */
public int m_WindowNo = 0;
/** Total Count */
@ -115,7 +113,6 @@ public class Merge
ResultSet rs = null;
try
{
m_trx = Trx.get(Trx.createTrxName("merge"), true);
//
pstmt = DB.prepareStatement(sql, Trx.createTrxName());
@ -142,9 +139,6 @@ public class Merge
{
sql = "DELETE " + TableName + " WHERE " + ColumnName + "=" + from_ID;
if ( DB.executeUpdate(sql, m_trx.getTrxName()) < 0 )
{
m_errorLog.append(Env.NL).append("DELETE ").append(TableName)
@ -156,14 +150,6 @@ public class Merge
}
}
//
if ( success )
success = m_trx.commit();
else
m_trx.rollback();
m_trx.close();
}
catch (Exception ex)
{
@ -172,6 +158,14 @@ public class Merge
}
finally
{
//
if (m_trx != null) {
if (success)
success = m_trx.commit();
else
m_trx.rollback();
m_trx.close();
}
DB.close(rs, pstmt);
rs = null;
pstmt = null;
@ -214,11 +208,8 @@ public class Merge
}
int count = DB.executeUpdate(sql, m_trx.getTrxName());
if ( count < 0 )
if (count < 0)
{
count = -1;
m_errorLog.append(Env.NL)
.append(delete ? "DELETE " : "UPDATE ")
@ -226,12 +217,10 @@ public class Merge
.append(" - ").append(sql);
if (log.isLoggable(Level.CONFIG)) log.config(m_errorLog.toString());
m_trx.rollback();
}
if (log.isLoggable(Level.FINE)) log.fine(count
+ (delete ? " -Delete- " : " -Update- ") + TableName);
return count;
} // mergeTable