diff --git a/db/ddlutils/oracle/views/AD_FIELD_V.sql b/db/ddlutils/oracle/views/AD_FIELD_V.sql index 59579b3b41..4cfa50a321 100644 --- a/db/ddlutils/oracle/views/AD_FIELD_V.sql +++ b/db/ddlutils/oracle/views/AD_FIELD_V.sql @@ -24,7 +24,7 @@ CREATE OR REPLACE VIEW AD_FIELD_V AS f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton, - c.FormatPattern, f.IsDefaultFocus + c.FormatPattern, f.isadvancedfield, f.IsDefaultFocus 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) diff --git a/db/ddlutils/oracle/views/AD_FIELD_VT.sql b/db/ddlutils/oracle/views/AD_FIELD_VT.sql index 537200d0c0..26be57bb4b 100644 --- a/db/ddlutils/oracle/views/AD_FIELD_VT.sql +++ b/db/ddlutils/oracle/views/AD_FIELD_VT.sql @@ -23,7 +23,7 @@ CREATE OR REPLACE VIEW AD_FIELD_VT AS f.seqnogrid, c.seqnoselection, f.xposition, f.columnspan, f.numlines, COALESCE(f.istoolbarbutton , c.istoolbarbutton ) As istoolbarbutton, - c.FormatPattern, f.IsDefaultFocus + c.FormatPattern, f.isadvancedfield, f.IsDefaultFocus 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) diff --git a/db/ddlutils/oracle/views/M_CostMovement_V.sql b/db/ddlutils/oracle/views/M_CostMovement_V.sql index 2adaf9fcab..c4dbbfb607 100644 --- a/db/ddlutils/oracle/views/M_CostMovement_V.sql +++ b/db/ddlutils/oracle/views/M_CostMovement_V.sql @@ -1,5 +1,8 @@ CREATE OR REPLACE VIEW m_costmovement_v AS -SELECT a.ad_client_id, a.ad_org_id, b.c_acctschema_id, a.m_costhistory_id, a.m_costtype_id, a.m_costelement_id, a.m_attributesetinstance_id, b.m_product_id, a.oldqty, a.newqty, a.oldcostprice, a.newcostprice, a.oldcqty, a.newcqty, a.oldcamt, a.newcamt, b.qty, b.amt, b.deltaqty, b.deltaamt, b.c_orderline_id, b.m_inoutline_id, b.c_invoiceline_id, b.m_movementline_id, b.m_inventoryline_id, b.m_productionline_id, b.c_projectissue_id, a.m_costdetail_id, b.description, a.created, a.createdby, a.updated, a.updatedby, a.isactive +SELECT a.ad_client_id, a.ad_org_id, b.c_acctschema_id, a.m_costhistory_id, a.m_costtype_id, a.m_costelement_id, a.m_attributesetinstance_id, + b.m_product_id, a.oldqty, a.newqty, a.oldcostprice, a.newcostprice, a.oldcqty, a.newcqty, a.oldcamt, a.newcamt, b.qty, b.amt, b.deltaqty, + b.deltaamt, b.c_orderline_id, b.m_inoutline_id, b.c_invoiceline_id, b.m_movementline_id, b.m_inventoryline_id, b.m_productionline_id, + b.c_projectissue_id, b.m_matchinv_id, a.m_costdetail_id, b.description, a.created, a.createdby, a.updated, a.updatedby, a.isactive FROM m_costhistory a JOIN m_costdetail b ON a.m_costdetail_id = b.m_costdetail_id ORDER BY a.m_costhistory_id diff --git a/db/ddlutils/postgresql/views/AD_FIELD_V.sql b/db/ddlutils/postgresql/views/AD_FIELD_V.sql index 087f24e6a0..2577009ad3 100644 --- a/db/ddlutils/postgresql/views/AD_FIELD_V.sql +++ b/db/ddlutils/postgresql/views/AD_FIELD_V.sql @@ -1,26 +1,22 @@ 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, + 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, f.IsDefaultFocus + 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, f.isadvancedfield, f.IsDefaultFocus 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 @@ -28,3 +24,4 @@ CREATE OR REPLACE VIEW ad_field_v AS 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; + diff --git a/db/ddlutils/postgresql/views/AD_FIELD_VT.sql b/db/ddlutils/postgresql/views/AD_FIELD_VT.sql index 23cf8768b8..b3e40c95a9 100644 --- a/db/ddlutils/postgresql/views/AD_FIELD_VT.sql +++ b/db/ddlutils/postgresql/views/AD_FIELD_VT.sql @@ -1,22 +1,23 @@ 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, f.IsDefaultFocus + 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, f.isadvancedfield, f.IsDefaultFocus 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 diff --git a/db/ddlutils/postgresql/views/M_CostMovement_V.sql b/db/ddlutils/postgresql/views/M_CostMovement_V.sql index 2adaf9fcab..c4dbbfb607 100644 --- a/db/ddlutils/postgresql/views/M_CostMovement_V.sql +++ b/db/ddlutils/postgresql/views/M_CostMovement_V.sql @@ -1,5 +1,8 @@ CREATE OR REPLACE VIEW m_costmovement_v AS -SELECT a.ad_client_id, a.ad_org_id, b.c_acctschema_id, a.m_costhistory_id, a.m_costtype_id, a.m_costelement_id, a.m_attributesetinstance_id, b.m_product_id, a.oldqty, a.newqty, a.oldcostprice, a.newcostprice, a.oldcqty, a.newcqty, a.oldcamt, a.newcamt, b.qty, b.amt, b.deltaqty, b.deltaamt, b.c_orderline_id, b.m_inoutline_id, b.c_invoiceline_id, b.m_movementline_id, b.m_inventoryline_id, b.m_productionline_id, b.c_projectissue_id, a.m_costdetail_id, b.description, a.created, a.createdby, a.updated, a.updatedby, a.isactive +SELECT a.ad_client_id, a.ad_org_id, b.c_acctschema_id, a.m_costhistory_id, a.m_costtype_id, a.m_costelement_id, a.m_attributesetinstance_id, + b.m_product_id, a.oldqty, a.newqty, a.oldcostprice, a.newcostprice, a.oldcqty, a.newcqty, a.oldcamt, a.newcamt, b.qty, b.amt, b.deltaqty, + b.deltaamt, b.c_orderline_id, b.m_inoutline_id, b.c_invoiceline_id, b.m_movementline_id, b.m_inventoryline_id, b.m_productionline_id, + b.c_projectissue_id, b.m_matchinv_id, a.m_costdetail_id, b.description, a.created, a.createdby, a.updated, a.updatedby, a.isactive FROM m_costhistory a JOIN m_costdetail b ON a.m_costdetail_id = b.m_costdetail_id ORDER BY a.m_costhistory_id diff --git a/migration/i1.0c-release/oracle/20130608133825_IDEMPIERE-1138.sql b/migration/i1.0c-release/oracle/20130608133825_IDEMPIERE-1138.sql new file mode 100644 index 0000000000..6833ad4f74 --- /dev/null +++ b/migration/i1.0c-release/oracle/20130608133825_IDEMPIERE-1138.sql @@ -0,0 +1,17 @@ +-- Aug 6, 2013 1:35:12 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Column SET AD_Val_Rule_ID=158, IsToolbarButton='N',Updated=TO_DATE('2013-08-06 13:35:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200990 +; + +-- Aug 6, 2013 1:36:09 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +INSERT INTO AD_Val_Rule (Code,AD_Val_Rule_ID,EntityType,Name,Type,AD_Val_Rule_UU,CreatedBy,UpdatedBy,Updated,Created,IsActive,AD_Org_ID,AD_Client_ID) VALUES ('AD_User.AD_User_ID IN (SELECT AD_User_ID FROM AD_User_Roles WHERE IsActive=''Y'' AND AD_User_Roles.AD_Client_ID=@#AD_Client_ID@)',200052,'D','AD_User of Client','S','db84ffe3-27c1-4a81-85f5-dcb3effecadd',100,100,TO_DATE('2013-08-06 13:36:08','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2013-08-06 13:36:08','YYYY-MM-DD HH24:MI:SS'),'Y',0,0) +; + +-- Aug 6, 2013 1:36:29 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Column SET AD_Val_Rule_ID=200052, IsToolbarButton='N',Updated=TO_DATE('2013-08-06 13:36:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200991 +; + +SELECT register_migration_script('20130608133825_IDEMPIERE-1138.sql') FROM dual +; diff --git a/migration/i1.0c-release/oracle/201307052208_IDEMPIERE-1151.sql b/migration/i1.0c-release/oracle/201307052208_IDEMPIERE-1151.sql index 6e6834f86f..f471d366d9 100644 --- a/migration/i1.0c-release/oracle/201307052208_IDEMPIERE-1151.sql +++ b/migration/i1.0c-release/oracle/201307052208_IDEMPIERE-1151.sql @@ -114,10 +114,6 @@ UPDATE AD_Column SET IsSecure='Y',Updated=TO_DATE('2013-07-05 22:15:16','YYYY-MM UPDATE AD_Column SET IsSecure='Y',Updated=TO_DATE('2013-07-05 22:15:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=4771 ; --- Jul 5, 2013 10:20:07 PM COT -UPDATE R_RequestProcessor SET DateLastRun=TO_DATE('2013-07-05 22:20:07','YYYY-MM-DD HH24:MI:SS'), DateNextRun=TO_DATE('2013-07-05 22:35:07','YYYY-MM-DD HH24:MI:SS'),Updated=TO_DATE('2013-07-05 22:20:07','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE R_RequestProcessor_ID=1000003 -; - -- Jul 5, 2013 10:29:14 PM COT UPDATE AD_Column SET IsSecure='Y',Updated=TO_DATE('2013-07-05 22:29:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200972 ; diff --git a/migration/i1.0c-release/oracle/201307190835_IDEMPIERE-528.sql b/migration/i1.0c-release/oracle/201307190835_IDEMPIERE-528.sql index 234241b22c..688629cf58 100644 --- a/migration/i1.0c-release/oracle/201307190835_IDEMPIERE-528.sql +++ b/migration/i1.0c-release/oracle/201307190835_IDEMPIERE-528.sql @@ -474,11 +474,6 @@ UPDATE AD_Field SET SeqNo=60, IsDisplayed='Y', XPosition=1, ColumnSpan=3, NumLin UPDATE AD_Field SET SeqNo=70, IsDisplayed='Y', XPosition=1, ColumnSpan=2,Updated=TO_DATE('2013-07-19 17:12:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201831 ; --- Jul 22, 2013 11:48:27 AM MYT --- IDEMPIERE-1042 Role Data Access -UPDATE AD_SysConfig SET Value='IDEMPIERE-528 Determine Zoom window depending on record',Updated=TO_DATE('2013-07-22 11:48:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_SysConfig_ID=50003 -; - -- Jul 22, 2013 11:50:07 AM MYT -- IDEMPIERE-528 Determine Zoom window depending on record INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,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,AD_Element_ID) VALUES (0,'N',1,200066,210660,'Y','N','Y',0,'N',60,'Y',10,'N','N','Y','45deb4e7-a2a4-4aa5-9f32-05c2066e72cd','Y','Name','Alphanumeric identifier of the entity','The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length.','Name','Y',TO_DATE('2013-07-22 11:50:03','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-07-22 11:50:03','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',469) diff --git a/migration/i1.0c-release/oracle/20130801160000_IDEMPIERE-1160.sql b/migration/i1.0c-release/oracle/20130801160000_IDEMPIERE-1160.sql new file mode 100644 index 0000000000..d684f355ef --- /dev/null +++ b/migration/i1.0c-release/oracle/20130801160000_IDEMPIERE-1160.sql @@ -0,0 +1,517 @@ +-- Jul 31, 2013 7:16:30 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,Created,Updated,CreatedBy,AD_Org_ID,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('IsAdvancedField',202574,'Advanced Field','Advanced Field','1ab899a3-278e-418a-b84e-fe5fc3f263b6',TO_DATE('2013-07-31 19:16:29','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2013-07-31 19:16:29','YYYY-MM-DD HH24:MI:SS'),100,0,100,'Y',0,'D') +; + +-- Jul 31, 2013 7:16:30 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202574 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID) +; + +-- Jul 31, 2013 7:17:38 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',0,107,210679,'N','N','N',0,'N',1,'N',20,'N','N','Y','45c86144-67dc-487b-a761-54774dd34388','Y','IsAdvancedField','N','Advanced Field','Y',TO_DATE('2013-07-31 19:17:38','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-07-31 19:17:38','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',202574,'N') +; + +-- Jul 31, 2013 7:17:38 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210679 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Jul 31, 2013 7:17:51 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +ALTER TABLE AD_Field ADD IsAdvancedField CHAR(1) DEFAULT 'N' CHECK (IsAdvancedField IN ('Y','N')) +; + +-- Jul 31, 2013 7:18:37 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan) VALUES ('N',107,1,'N','N',210679,400,'Y',202362,'N','D','Advanced Field','153209a5-5587-49dc-b587-51f236ebfd53','Y','N',100,0,TO_DATE('2013-07-31 19:18:36','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-07-31 19:18:36','YYYY-MM-DD HH24:MI:SS'),'Y',2,0,2) +; + +-- Jul 31, 2013 7:18:37 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=202362 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=240, IsDisplayed='Y', XPosition=5,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202362 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=250,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200350 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=260,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200348 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=270,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200349 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=280,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13425 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=290,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200837 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=300,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=54402 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=310,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=54401 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=320,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200838 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=330,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200834 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=340,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13424 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=350,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62468 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=360,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=53280 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=370,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200836 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=380,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200835 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=390,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=136 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=400,Updated=TO_DATE('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=139 +; + +-- Jul 31, 2013 7:20:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,Created,Updated,CreatedBy,AD_Org_ID,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('IsAccessAdvanced',202575,'Access Advanced ','Access Advanced ','2977102f-1399-4824-ba24-2b0c902aed64',TO_DATE('2013-07-31 19:20:23','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2013-07-31 19:20:23','YYYY-MM-DD HH24:MI:SS'),100,0,100,'Y',0,'D') +; + +-- Jul 31, 2013 7:20:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202575 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID) +; + +-- Jul 31, 2013 7:22:04 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',0,156,210680,'N','N','N',0,'N',1,'N',20,'N','N','Y','1827e3d1-f438-4d13-8162-1288ab34d2da','Y','IsAccessAdvanced','Y','Access Advanced ','Y',TO_DATE('2013-07-31 19:22:03','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-07-31 19:22:03','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',202575,'N') +; + +-- Jul 31, 2013 7:22:04 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210680 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Jul 31, 2013 7:22:19 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +ALTER TABLE AD_Role ADD IsAccessAdvanced CHAR(1) DEFAULT 'N' CHECK (IsAccessAdvanced IN ('Y','N')) +; + + +-- Jul 31, 2013 7:23:25 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan) VALUES ('N',119,1,'N','N',210680,480,'Y',202366,'N','D','Access Advanced ','f1ae60d9-680d-4764-a54e-2de52d65310e','Y','N',100,0,TO_DATE('2013-07-31 19:23:25','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-07-31 19:23:25','YYYY-MM-DD HH24:MI:SS'),'Y',2,0,2) +; + +-- Jul 31, 2013 7:23:25 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=202366 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Aug 1, 2013 3:19:25 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N',Updated=TO_DATE('2013-08-01 15:19:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202366 +; + +-- Aug 6, 2013 2:44:19 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=200, IsDisplayed='Y', XPosition=5,Updated=TO_DATE('2013-08-06 14:44:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202362 +; + +-- Aug 6, 2013 2:44:19 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=210,Updated=TO_DATE('2013-08-06 14:44:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=142 +; + +-- Aug 6, 2013 2:44:19 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=220,Updated=TO_DATE('2013-08-06 14:44:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8343 +; + +-- Aug 6, 2013 2:44:19 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=230,Updated=TO_DATE('2013-08-06 14:44:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=140 +; + +-- Aug 6, 2013 2:44:19 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=240,Updated=TO_DATE('2013-08-06 14:44:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=141 +; + +-- Aug 6, 2013 2:45:23 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=280, IsDisplayed='Y', XPosition=2,Updated=TO_DATE('2013-08-06 14:45:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202366 +; + +-- Aug 6, 2013 2:45:23 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=290, IsDisplayed='Y', XPosition=5,Updated=TO_DATE('2013-08-06 14:45:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200071 +; + +-- Aug 6, 2013 2:45:23 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=300,Updated=TO_DATE('2013-08-06 14:45:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50168 +; + +-- Aug 6, 2013 2:45:23 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=310,Updated=TO_DATE('2013-08-06 14:45:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50178 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=320,Updated=TO_DATE('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50176 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=330,Updated=TO_DATE('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50170 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=340,Updated=TO_DATE('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50174 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=350,Updated=TO_DATE('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50173 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=360,Updated=TO_DATE('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50172 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=370,Updated=TO_DATE('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50175 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=380,Updated=TO_DATE('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50169 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=390,Updated=TO_DATE('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50177 +; + +update ad_tab set isadvancedtab='N' where isadvancedtab='Y' +; + +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, f.isadvancedfield +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, f.isadvancedfield + 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' +; + +-- Aug 6, 2013 2:52:33 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Role SET IsAccessAdvanced='Y',Updated=TO_DATE('2013-08-06 14:52:33','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Role_ID IN (0,102) +; + +-- Aug 6, 2013 3:23:57 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:23:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10318 +; + +-- Aug 6, 2013 3:24:26 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:24:26','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11024 +; + +-- Aug 6, 2013 3:24:51 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:24:51','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=54238 +; + +-- Aug 6, 2013 3:25:22 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:25:22','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=54680 +; + +-- Aug 6, 2013 3:25:56 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:25:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200948 +; + +-- Aug 6, 2013 3:26:01 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:26:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200949 +; + +-- Aug 6, 2013 3:26:43 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:26:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56981 +; + +-- Aug 6, 2013 3:27:19 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:27:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202366 +; + +-- Aug 6, 2013 3:28:06 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_DATE('2013-08-06 15:28:06','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=50003 +; + +-- Aug 6, 2013 3:28:09 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_DATE('2013-08-06 15:28:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=50004 +; + +-- Aug 6, 2013 3:28:13 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_DATE('2013-08-06 15:28:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=50002 +; + +-- Aug 6, 2013 3:28:23 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsInsertRecord='N', IsAdvancedTab='Y',Updated=TO_DATE('2013-08-06 15:28:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=50001 +; + +-- Aug 6, 2013 3:28:32 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_DATE('2013-08-06 15:28:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=50008 +; + +-- Aug 6, 2013 3:28:41 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_DATE('2013-08-06 15:28:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=50005 +; + +-- Aug 6, 2013 3:28:45 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_DATE('2013-08-06 15:28:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=50006 +; + +-- Aug 6, 2013 3:29:04 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_DATE('2013-08-06 15:29:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=505 +; + +-- Aug 6, 2013 3:29:25 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_DATE('2013-08-06 15:29:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=369 +; + +-- Aug 6, 2013 3:29:42 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_DATE('2013-08-06 15:29:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=150 +; + +-- Aug 6, 2013 3:29:46 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_DATE('2013-08-06 15:29:46','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=126 +; + +-- Aug 6, 2013 3:29:52 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_DATE('2013-08-06 15:29:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=310 +; + +-- Aug 6, 2013 3:30:30 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:30:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200406 +; + +-- Aug 6, 2013 3:30:51 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_DATE('2013-08-06 15:30:51','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53066 +; + +-- Aug 6, 2013 3:30:54 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_DATE('2013-08-06 15:30:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53067 +; + +-- Aug 6, 2013 3:31:08 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_DATE('2013-08-06 15:31:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200032 +; + +-- Aug 6, 2013 3:31:34 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:31:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5028 +; + +-- Aug 6, 2013 3:31:37 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:31:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5029 +; + +-- Aug 6, 2013 3:32:00 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:32:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5040 +; + +-- Aug 6, 2013 3:32:03 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:32:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200003 +; + +-- Aug 6, 2013 3:32:36 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:32:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5053 +; + +-- Aug 6, 2013 3:32:50 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:32:50','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11252 +; + +-- Aug 6, 2013 3:33:04 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:33:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200858 +; + +-- Aug 6, 2013 3:33:13 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:33:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200855 +; + +-- Aug 6, 2013 3:33:18 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:33:18','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5054 +; + +-- Aug 6, 2013 3:33:21 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:33:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200849 +; + +-- Aug 6, 2013 3:33:26 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:33:26','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200851 +; + +-- Aug 6, 2013 3:33:29 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:33:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200852 +; + +-- Aug 6, 2013 3:33:34 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_DATE('2013-08-06 15:33:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200854 +; + +SELECT register_migration_script('20130801160000_IDEMPIERE-1160.sql') FROM dual +; diff --git a/migration/i1.0c-release/oracle/201308051548_IDEMPIERE-1229.sql b/migration/i1.0c-release/oracle/201308051548_IDEMPIERE-1229.sql new file mode 100644 index 0000000000..d0ed2045a7 --- /dev/null +++ b/migration/i1.0c-release/oracle/201308051548_IDEMPIERE-1229.sql @@ -0,0 +1,292 @@ +-- Aug 1, 2013 12:32:12 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,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,AD_Element_ID,IsSecure) VALUES (0,'N',0,493,210681,'N','N','N',0,'N',22,'N',19,'N','N','Y','01406b24-b108-4ef9-9533-688ceb8615c4','Y','AD_Window_ID','Data entry or display window','The Window field identifies a unique Window in the system.','Window','Y',TO_DATE('2013-08-01 12:32:11','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-08-01 12:32:11','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',143,'N') +; + +-- Aug 1, 2013 12:32:12 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210681 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 1, 2013 12:32:17 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +ALTER TABLE AD_PrintFormat ADD AD_Window_ID NUMBER(10) DEFAULT NULL +; + +-- Aug 1, 2013 12:35:28 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan) VALUES ('N',425,36,'N','N',60458,220,'Y',202367,'N','D','AD_PrintFormat_UU','d856c59c-850d-4f62-98c2-b30edf36641b','N','N',100,0,TO_DATE('2013-08-01 12:35:27','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-08-01 12:35:27','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2) +; + +-- Aug 1, 2013 12:35:28 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=202367 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Aug 1, 2013 12:35:29 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan) VALUES ('N',425,22,'N','N',210681,230,'Y',202368,'N','The Window field identifies a unique Window in the system.','D','Data entry or display window','Window','588d3710-0a9b-497d-a5fc-f03a565b8b2d','Y','N',100,0,TO_DATE('2013-08-01 12:35:28','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-08-01 12:35:28','YYYY-MM-DD HH24:MI:SS'),'Y',0,2) +; + +-- Aug 1, 2013 12:35:29 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=202368 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Aug 1, 2013 12:36:10 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET DisplayLength=14,Updated=TO_DATE('2013-08-01 12:36:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202368 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=5666 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=5662 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=5664 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=5659 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=5665 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=5652 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=8291 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=5655 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=5744 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=5656 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=100,IsDisplayedGrid='Y' WHERE AD_Field_ID=5651 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=110,IsDisplayedGrid='Y' WHERE AD_Field_ID=5663 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=120,IsDisplayedGrid='Y' WHERE AD_Field_ID=5653 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=130,IsDisplayedGrid='Y' WHERE AD_Field_ID=5762 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=140,IsDisplayedGrid='Y' WHERE AD_Field_ID=6503 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=150,IsDisplayedGrid='Y' WHERE AD_Field_ID=5657 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=160,IsDisplayedGrid='Y' WHERE AD_Field_ID=5661 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=170,IsDisplayedGrid='Y' WHERE AD_Field_ID=5654 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=180,IsDisplayedGrid='Y' WHERE AD_Field_ID=5658 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=190,IsDisplayedGrid='Y' WHERE AD_Field_ID=50179 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=200,IsDisplayedGrid='Y' WHERE AD_Field_ID=202368 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=210,IsDisplayedGrid='Y' WHERE AD_Field_ID=52009 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=220,IsDisplayedGrid='Y' WHERE AD_Field_ID=5660 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=230,IsDisplayedGrid='Y' WHERE AD_Field_ID=52008 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202367 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=5666 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=10,IsDisplayed='Y' WHERE AD_Field_ID=5662 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=20,IsDisplayed='Y' WHERE AD_Field_ID=5664 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=30,IsDisplayed='Y' WHERE AD_Field_ID=5659 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=40,IsDisplayed='Y' WHERE AD_Field_ID=5665 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=50,IsDisplayed='Y' WHERE AD_Field_ID=5652 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=8291 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=5655 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=5744 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=5656 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=100,IsDisplayed='Y' WHERE AD_Field_ID=5651 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=110,IsDisplayed='Y' WHERE AD_Field_ID=5663 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=120,IsDisplayed='Y' WHERE AD_Field_ID=5653 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=130,IsDisplayed='Y' WHERE AD_Field_ID=5762 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=140,IsDisplayed='Y' WHERE AD_Field_ID=6503 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=5657 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=5661 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=5654 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=180,IsDisplayed='Y' WHERE AD_Field_ID=5658 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=190,IsDisplayed='Y' WHERE AD_Field_ID=50179 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=200,IsDisplayed='Y' WHERE AD_Field_ID=202368 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=210,IsDisplayed='Y' WHERE AD_Field_ID=52009 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=220,IsDisplayed='Y' WHERE AD_Field_ID=5660 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=230,IsDisplayed='Y' WHERE AD_Field_ID=52008 +; + +-- Aug 1, 2013 12:38:10 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET IsSameLine='Y', XPosition=4,Updated=TO_DATE('2013-08-01 12:38:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202368 +; + +SELECT register_migration_script('201308051548_IDEMPIERE-1229.sql') FROM dual +; \ No newline at end of file diff --git a/migration/i1.0c-release/oracle/201308051741_IDEMPIERE-1025.sql b/migration/i1.0c-release/oracle/201308051741_IDEMPIERE-1025.sql new file mode 100644 index 0000000000..1d981dd8a0 --- /dev/null +++ b/migration/i1.0c-release/oracle/201308051741_IDEMPIERE-1025.sql @@ -0,0 +1,8 @@ +-- Aug 5, 2013 5:41:02 PM COT +-- IDEMPIERE-1025 Improve translation for custom tables +UPDATE AD_SysConfig SET Value='Y',Updated=TO_DATE('2013-08-05 17:41:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_SysConfig_ID=50031 +; + +SELECT register_migration_script('201308051741_IDEMPIERE-1025.sql') FROM dual +; + diff --git a/migration/i1.0c-release/oracle/201308090826_IDEMPIERE-1232.sql b/migration/i1.0c-release/oracle/201308090826_IDEMPIERE-1232.sql new file mode 100644 index 0000000000..07cb4ac839 --- /dev/null +++ b/migration/i1.0c-release/oracle/201308090826_IDEMPIERE-1232.sql @@ -0,0 +1,64 @@ +-- Aug 9, 2013 8:16:28 AM COT +-- IDEMPIERE-1232 Zoom condition fixes +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('AD_ZoomCondition_UU',202578,'AD_ZoomCondition_UU','AD_ZoomCondition_UU','7f562afd-d2c2-40cc-8f5f-fd71597f7621',TO_DATE('2013-08-09 08:16:19','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2013-08-09 08:16:19','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y',0,'D') +; + +-- Aug 9, 2013 8:16:28 AM COT +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202578 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID) +; + +-- Aug 9, 2013 8:16:28 AM COT +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Column_UU,IsUpdateable,ColumnName,Name,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID) VALUES (1.0,200066,210683,'N','N','N','N',36,'N',10,'N','4748d5ef-fbba-458e-8947-8676fce31f72','Y','AD_ZoomCondition_UU','AD_ZoomCondition_UU',TO_DATE('2013-08-09 08:16:19','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-08-09 08:16:19','YYYY-MM-DD HH24:MI:SS'),100,'N',0,'D','N',202578) +; + +-- Aug 9, 2013 8:16:28 AM COT +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210683 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 9, 2013 8:16:28 AM COT +ALTER TABLE AD_ZoomCondition ADD AD_ZoomCondition_UU NVARCHAR2(36) DEFAULT NULL +; + +-- Aug 9, 2013 8:16:29 AM COT +ALTER TABLE AD_ZoomCondition ADD CONSTRAINT AD_ZoomCondition_UU_idx UNIQUE (AD_ZoomCondition_UU) +; + +-- Aug 9, 2013 8:24:07 AM COT +UPDATE AD_ZoomCondition SET AD_ZoomCondition_UU='3962168d-caad-4057-b009-b5db798ce6d8' WHERE AD_ZoomCondition_ID=200001 +; + +-- Aug 9, 2013 8:24:07 AM COT +UPDATE AD_ZoomCondition SET AD_ZoomCondition_UU='9cc206f5-283f-428d-a3b5-9d8a7669d7e8' WHERE AD_ZoomCondition_ID=200002 +; + +-- Aug 9, 2013 9:35:21 AM COT +INSERT INTO AD_ZoomCondition (AD_Client_ID,AD_Org_ID,AD_Window_ID,AD_ZoomCondition_ID,Created,CreatedBy,IsActive,Updated,UpdatedBy,SeqNo,WhereClause,AD_Table_ID,Name,AD_ZoomCondition_UU) VALUES (0,0,53098,200003,TO_DATE('2013-08-09 09:35:14','YYYY-MM-DD HH24:MI:SS'),100,'Y',TO_DATE('2013-08-09 09:35:14','YYYY-MM-DD HH24:MI:SS'),100,10,'M_InOut.MovementType IN (''V-'')',319,'Return to Vendor','c4403f97-5fe3-4a70-a71a-006739d5d8cc') +; + +-- Aug 9, 2013 9:35:48 AM COT +INSERT INTO AD_ZoomCondition (AD_Client_ID,AD_Org_ID,AD_Window_ID,AD_ZoomCondition_ID,Created,CreatedBy,IsActive,Updated,UpdatedBy,SeqNo,WhereClause,AD_Table_ID,Name,AD_ZoomCondition_UU) VALUES (0,0,53097,200004,TO_DATE('2013-08-09 09:35:47','YYYY-MM-DD HH24:MI:SS'),100,'Y',TO_DATE('2013-08-09 09:35:47','YYYY-MM-DD HH24:MI:SS'),100,20,'M_InOut.MovementType IN (''C+'')',319,'Customer Return','c6c7fde3-2a9c-4eaf-8d22-fc2537de1678') +; + +-- Aug 9, 2013 9:38:48 AM COT +UPDATE AD_Tab SET Help='The Return to Vendor Line Tab defines the individual items in a Return to Vendor.', Name='Return to Vendor Line', Description='Return to Vendor Line',Updated=TO_DATE('2013-08-09 09:38:48','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53277 +; + +-- Aug 9, 2013 9:39:06 AM COT +UPDATE AD_Tab SET Description='Optional Confirmations of Return to Vendor Lines',Updated=TO_DATE('2013-08-09 09:39:06','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53278 +; + +-- Aug 9, 2013 9:40:05 AM COT +UPDATE AD_Field SET IsCentrallyMaintained='N', Help='The Return to Vendor', Description='Return to Vendor Document', Name='Return to Vendor',Updated=TO_DATE('2013-08-09 09:40:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57900 +; + +-- Aug 9, 2013 9:40:45 AM COT +UPDATE AD_Tab SET Help='The Customer Return Line Tab defines the individual items in a Customer Return.', Name='Customer Return Line', Description='Customer Return Line',Updated=TO_DATE('2013-08-09 09:40:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53272 +; + +-- Aug 9, 2013 9:41:08 AM COT +UPDATE AD_Field SET IsCentrallyMaintained='N', Help='The Customer Return', Description='Customer Return Document', Name='Customer Return',Updated=TO_DATE('2013-08-09 09:41:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57761 +; + +SELECT register_migration_script('201308090826_IDEMPIERE-1232.sql') FROM dual +; + diff --git a/migration/i1.0c-release/oracle/201308120824_IDEMPIERE-1255.sql b/migration/i1.0c-release/oracle/201308120824_IDEMPIERE-1255.sql new file mode 100644 index 0000000000..8346d7e8be --- /dev/null +++ b/migration/i1.0c-release/oracle/201308120824_IDEMPIERE-1255.sql @@ -0,0 +1,13 @@ +-- Aug 12, 2013 4:21:30 PM MYT +-- IDEMPIERE-1207 Fixed inconsistent error message for well known database exception +UPDATE AD_Column SET DefaultValue='@#AD_Client_ID@',Updated=TO_DATE('2013-08-12 16:21:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=5163 +; + +-- Aug 12, 2013 4:21:53 PM MYT +-- IDEMPIERE-1207 Fixed inconsistent error message for well known database exception +UPDATE AD_Column SET DefaultValue='@#AD_Org_ID@',Updated=TO_DATE('2013-08-12 16:21:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=5164 +; + +SELECT register_migration_script('201308120824_IDEMPIERE-1255.sql') FROM dual +; + diff --git a/migration/i1.0c-release/oracle/201308120955_IDEMPIERE-1260.sql b/migration/i1.0c-release/oracle/201308120955_IDEMPIERE-1260.sql new file mode 100644 index 0000000000..8a68306864 --- /dev/null +++ b/migration/i1.0c-release/oracle/201308120955_IDEMPIERE-1260.sql @@ -0,0 +1,8 @@ +-- Aug 12, 2013 5:52:23 PM MYT +-- IDEMPIERE-1207 Fixed inconsistent error message for well known database exception +UPDATE AD_Column SET IsUpdateable='N', DefaultValue=NULL,Updated=TO_DATE('2013-08-12 17:52:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=2705 +; + +SELECT register_migration_script('201308120955_IDEMPIERE-1260.sql') FROM dual +; + diff --git a/migration/i1.0c-release/oracle/201308140925_IDEMPIERE-1188.sql b/migration/i1.0c-release/oracle/201308140925_IDEMPIERE-1188.sql new file mode 100644 index 0000000000..2a95acce29 --- /dev/null +++ b/migration/i1.0c-release/oracle/201308140925_IDEMPIERE-1188.sql @@ -0,0 +1,53 @@ +-- Jul 22, 2013 8:56:39 PM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID) VALUES (0,'N',1,808,210662,'N','N','N',0,'N',22,'N',30,'N','N','Y','c5983338-dac3-4173-ac05-81bc1bdb1ce7','N','M_MatchInv_ID','Match Shipment/Receipt to Invoice','Match Invoice','N',TO_DATE('2013-07-22 20:56:37','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-07-22 20:56:37','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',1689) +; + +-- Jul 22, 2013 8:56:39 PM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210662 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Jul 22, 2013 8:56:45 PM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +ALTER TABLE M_CostDetail ADD M_MatchInv_ID NUMBER(10) DEFAULT NULL +; + +CREATE OR REPLACE VIEW m_costmovement_v AS +SELECT a.ad_client_id, a.ad_org_id, b.c_acctschema_id, a.m_costhistory_id, a.m_costtype_id, a.m_costelement_id, a.m_attributesetinstance_id, + b.m_product_id, a.oldqty, a.newqty, a.oldcostprice, a.newcostprice, a.oldcqty, a.newcqty, a.oldcamt, a.newcamt, b.qty, b.amt, b.deltaqty, + b.deltaamt, b.c_orderline_id, b.m_inoutline_id, b.c_invoiceline_id, b.m_movementline_id, b.m_inventoryline_id, b.m_productionline_id, + b.c_projectissue_id, b.m_matchinv_id, a.m_costdetail_id, b.description, a.created, a.createdby, a.updated, a.updatedby, a.isactive + FROM m_costhistory a + JOIN m_costdetail b ON a.m_costdetail_id = b.m_costdetail_id + ORDER BY a.m_costhistory_id +; + +-- Jul 23, 2013 7:55:31 AM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID) VALUES (0,'N',1,200002,210663,'N','N','N',0,'N',22,'N',30,'N','N','Y','10f7d192-2c18-497c-bcf3-548f8546fd41','N','M_MatchInv_ID','Match Shipment/Receipt to Invoice','Match Invoice','N',TO_DATE('2013-07-23 07:55:29','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_DATE('2013-07-23 07:55:29','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',1689) +; + +-- Jul 23, 2013 7:55:31 AM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210663 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Jul 23, 2013 7:56:36 AM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +INSERT INTO AD_Field (NumLines,SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan) VALUES (1,0,'N',200000,0,'N','N',210663,270,'Y',202340,'N','D','Match Shipment/Receipt to Invoice','Match Invoice','Y','N','624749f1-6544-45d7-a6b7-cebc6bcdfc93',100,0,TO_DATE('2013-07-23 07:56:34','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-07-23 07:56:34','YYYY-MM-DD HH24:MI:SS'),'Y','Y',270,1,'N',0,1) +; + +-- Jul 23, 2013 7:56:36 AM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=202340 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Jul 23, 2013 7:57:03 AM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +UPDATE AD_Field SET SeqNo=270, ColumnSpan=2,Updated=TO_DATE('2013-07-23 07:57:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202340 +; + +SELECT register_migration_script('201308140925_IDEMPIERE-1188.sql') FROM dual +; + diff --git a/migration/i1.0c-release/oracle/201308141001_IDEMPIERE-1219.sql b/migration/i1.0c-release/oracle/201308141001_IDEMPIERE-1219.sql new file mode 100644 index 0000000000..a147875568 --- /dev/null +++ b/migration/i1.0c-release/oracle/201308141001_IDEMPIERE-1219.sql @@ -0,0 +1,13 @@ +-- Aug 14, 2013 9:52:38 AM COT +-- IDEMPIERE-1219 Error message when saving 2 default Tax Rates are not translated +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','Only one @C_Tax_ID@ per @C_TaxCategory_ID@ can be marked as Default!',200220,'D','84a60603-8500-40be-a90f-f6c1bc16e827','OnlyOneTaxPerCategoryMarkedDefault','Y',TO_DATE('2013-08-14 09:52:37','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_DATE('2013-08-14 09:52:37','YYYY-MM-DD HH24:MI:SS'),0) +; + +-- Aug 14, 2013 9:52:38 AM COT +-- IDEMPIERE-1219 Error message when saving 2 default Tax Rates are not translated +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=200220 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('201308141001_IDEMPIERE-1269.sql') FROM dual +; + diff --git a/migration/i1.0c-release/oracle/201308141244_IDEMPIERE-1243.sql b/migration/i1.0c-release/oracle/201308141244_IDEMPIERE-1243.sql new file mode 100644 index 0000000000..f803a46bfe --- /dev/null +++ b/migration/i1.0c-release/oracle/201308141244_IDEMPIERE-1243.sql @@ -0,0 +1,27 @@ +-- Aug 14, 2013 12:20:12 PM IST +-- IDEMPIERE-1243 It shall not be possible to change Organization on the Order Line +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2013-08-14 12:20:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2053 +; + +-- Aug 14, 2013 12:22:49 PM IST +-- IDEMPIERE-1243 It shall not be possible to change Organization on the Order Line +UPDATE AD_Column SET AD_Val_Rule_ID=189,Updated=TO_DATE('2013-08-14 12:22:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=2223 +; + +-- Aug 14, 2013 12:34:17 PM IST +-- IDEMPIERE-1243 It shall not be possible to change Organization on the Order Line +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2013-08-14 12:34:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3409 +; + +-- Aug 14, 2013 6:06:28 PM MYT +-- IDEMPIERE-1243 It shall not be possible to change Organization on the Order Line +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2013-08-14 18:06:28','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=1129 +; + +-- Aug 14, 2013 6:10:37 PM MYT +-- IDEMPIERE-1243 It shall not be possible to change Organization on the Order Line +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_DATE('2013-08-14 18:10:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3388 +; + +SELECT register_migration_script('201308141244_IDEMPIERE-1243.sql') FROM dual +; \ No newline at end of file diff --git a/migration/i1.0c-release/oracle/20131707164800_IDEMPIERE-1138.sql b/migration/i1.0c-release/oracle/20131707164800_IDEMPIERE-1138.sql new file mode 100644 index 0000000000..1ff8ff0276 --- /dev/null +++ b/migration/i1.0c-release/oracle/20131707164800_IDEMPIERE-1138.sql @@ -0,0 +1,98 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Jul 16, 2013 5:50:07 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Ref_List SET Value='E',Updated=TO_DATE('2013-07-16 17:50:07','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Ref_List_ID=200046 +; + +-- Jul 16, 2013 5:56:21 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_BroadcastMessage SET BroadcastFrequency='E' WHERE BroadcastFrequency='U' +; + +-- Jul 16, 2013 5:54:09 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,Description,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID,EntityType) VALUES (200156,200020,'Repeat it until the message has been acknowledged','Until Acknowledge','d6b87260-502d-4984-b9e3-8daafde1acd9','A',TO_DATE('2013-07-16 17:54:08','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-07-16 17:54:08','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0,'D') +; + +-- Jul 16, 2013 5:54:09 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +INSERT INTO AD_Ref_List_Trl (AD_Language,AD_Ref_List_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Ref_List_Trl_UU ) SELECT l.AD_Language,t.AD_Ref_List_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Ref_List t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Ref_List_ID=200156 AND NOT EXISTS (SELECT * FROM AD_Ref_List_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Ref_List_ID=t.AD_Ref_List_ID) +; + +-- Jul 16, 2013 5:56:21 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,Description,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID,EntityType) VALUES (200157,200020,'Repeat it until the message expires or until it has been acknowledged, whatever happens first','Until Expiration or Acknowledge','aa345f63-dfbe-4d18-aae4-e5ed06cd4407','O',TO_DATE('2013-07-16 17:56:21','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2013-07-16 17:56:21','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0,'D') +; + +-- Jul 16, 2013 5:56:21 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +INSERT INTO AD_Ref_List_Trl (AD_Language,AD_Ref_List_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Ref_List_Trl_UU ) SELECT l.AD_Language,t.AD_Ref_List_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Ref_List t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Ref_List_ID=200157 AND NOT EXISTS (SELECT * FROM AD_Ref_List_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Ref_List_ID=t.AD_Ref_List_ID) +; + +-- Jul 17, 2013 8:50:32 AM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Field SET IsActive='N',Updated=TO_DATE('2013-07-17 08:50:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200882 +; + +-- Jul 17, 2013 8:50:51 AM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Field SET DisplayLogic=NULL,Updated=TO_DATE('2013-07-17 08:50:51','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200881 +; + +-- Jul 17, 2013 8:50:59 AM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Field SET IsDisplayed='N',Updated=TO_DATE('2013-07-17 08:50:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200881 +; + +-- Jul 17, 2013 8:54:47 AM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Field SET DisplayLogic='@BroadcastType@!''I''',Updated=TO_DATE('2013-07-17 08:54:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200873 +; + +-- Jul 17, 2013 9:14:17 AM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Field SET DisplayLogic='@BroadcastFrequency@=''E'' | @BroadcastFrequency@=''O''',Updated=TO_DATE('2013-07-17 09:14:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200879 +; + +-- Jul 17, 2013 3:18:50 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +INSERT INTO AD_Val_Rule (AD_Val_Rule_ID,EntityType,Name,Code,Type,AD_Val_Rule_UU,CreatedBy,UpdatedBy,Updated,Created,AD_Org_ID,IsActive,AD_Client_ID) VALUES (200051,'D','AD_BroadcastMessage - Combination','AD_Ref_List.Value NOT IN(SELECT CASE WHEN AD_Client_ID<>0 THEN ''E'' ELSE ''1'' END FROM AD_Client WHERE AD_Client_ID=@#AD_Client_ID@)','S','9c09aaee-c787-4f30-900e-25412968812a',100,100,TO_DATE('2013-07-17 15:18:49','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2013-07-17 15:18:49','YYYY-MM-DD HH24:MI:SS'),0,'Y',0) +; + +-- Jul 17, 2013 3:19:09 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Column SET AD_Val_Rule_ID=200051, IsToolbarButton='N',Updated=TO_DATE('2013-07-17 15:19:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200989 +; + +-- Jul 17, 2013 4:29:38 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Field SET Help='

1. Just Once : Message will be broadcasted one time. 

+

2. Until Acknowledge : Repeat it until the message has been acknowledged. 

+

3. Until Expiration or Acknowledge : Repeat it until the message expires or until it has been acknowledged, whatever happens first.

+

4. Until Expiration : Repeat it until message expiration value.

+',Updated=TO_DATE('2013-07-17 16:29:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200873 +; + +-- Jul 17, 2013 4:29:49 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Column SET Help='

1. Just Once : Message will be broadcasted one time. 

+

2. Until Acknowledge : Repeat it until the message has been acknowledged. 

+

3. Until Expiration or Acknowledge : Repeat it until the message expires or until it has been acknowledged, whatever happens first.

+

4. Until Expiration : Repeat it until message expiration value.

+',Updated=TO_DATE('2013-07-17 16:29:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200984 +; + +-- Jul 17, 2013 4:29:49 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Field SET Name='Broadcast Frequency', Description='How Many Times Message Should be Broadcasted', Help='

1. Just Once : Message will be broadcasted one time. 

+

2. Until Acknowledge : Repeat it until the message has been acknowledged. 

+

3. Until Expiration or Acknowledge : Repeat it until the message expires or until it has been acknowledged, whatever happens first.

+

4. Until Expiration : Repeat it until message expiration value.

+' WHERE AD_Column_ID=200984 AND IsCentrallyMaintained='Y' +; + +SELECT register_migration_script('20131707164800_IDEMPIERE-1138.sql') FROM dual +; + diff --git a/migration/i1.0c-release/postgresql/20130608133825_IDEMPIERE-1138.sql b/migration/i1.0c-release/postgresql/20130608133825_IDEMPIERE-1138.sql new file mode 100644 index 0000000000..1e79bb13b5 --- /dev/null +++ b/migration/i1.0c-release/postgresql/20130608133825_IDEMPIERE-1138.sql @@ -0,0 +1,17 @@ +-- Aug 6, 2013 1:35:12 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Column SET AD_Val_Rule_ID=158, IsToolbarButton='N',Updated=TO_TIMESTAMP('2013-08-06 13:35:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200990 +; + +-- Aug 6, 2013 1:36:09 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +INSERT INTO AD_Val_Rule (Code,AD_Val_Rule_ID,EntityType,Name,Type,AD_Val_Rule_UU,CreatedBy,UpdatedBy,Updated,Created,IsActive,AD_Org_ID,AD_Client_ID) VALUES ('AD_User.AD_User_ID IN (SELECT AD_User_ID FROM AD_User_Roles WHERE IsActive=''Y'' AND AD_User_Roles.AD_Client_ID=@#AD_Client_ID@)',200052,'D','AD_User of Client','S','db84ffe3-27c1-4a81-85f5-dcb3effecadd',100,100,TO_TIMESTAMP('2013-08-06 13:36:08','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2013-08-06 13:36:08','YYYY-MM-DD HH24:MI:SS'),'Y',0,0) +; + +-- Aug 6, 2013 1:36:29 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Column SET AD_Val_Rule_ID=200052, IsToolbarButton='N',Updated=TO_TIMESTAMP('2013-08-06 13:36:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200991 +; + +SELECT register_migration_script('20130608133825_IDEMPIERE-1138.sql') FROM dual +; diff --git a/migration/i1.0c-release/postgresql/201307052208_IDEMPIERE-1151.sql b/migration/i1.0c-release/postgresql/201307052208_IDEMPIERE-1151.sql index 0c95af4b21..9424430a43 100644 --- a/migration/i1.0c-release/postgresql/201307052208_IDEMPIERE-1151.sql +++ b/migration/i1.0c-release/postgresql/201307052208_IDEMPIERE-1151.sql @@ -114,10 +114,6 @@ UPDATE AD_Column SET IsSecure='Y',Updated=TO_TIMESTAMP('2013-07-05 22:15:16','YY UPDATE AD_Column SET IsSecure='Y',Updated=TO_TIMESTAMP('2013-07-05 22:15:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=4771 ; --- Jul 5, 2013 10:20:07 PM COT -UPDATE R_RequestProcessor SET DateLastRun=TO_TIMESTAMP('2013-07-05 22:20:07','YYYY-MM-DD HH24:MI:SS'), DateNextRun=TO_TIMESTAMP('2013-07-05 22:35:07','YYYY-MM-DD HH24:MI:SS'),Updated=TO_TIMESTAMP('2013-07-05 22:20:07','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE R_RequestProcessor_ID=1000003 -; - -- Jul 5, 2013 10:29:14 PM COT UPDATE AD_Column SET IsSecure='Y',Updated=TO_TIMESTAMP('2013-07-05 22:29:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200972 ; diff --git a/migration/i1.0c-release/postgresql/201307190835_IDEMPIERE-528.sql b/migration/i1.0c-release/postgresql/201307190835_IDEMPIERE-528.sql index 387a2f7fb9..5983a4bb71 100644 --- a/migration/i1.0c-release/postgresql/201307190835_IDEMPIERE-528.sql +++ b/migration/i1.0c-release/postgresql/201307190835_IDEMPIERE-528.sql @@ -469,11 +469,6 @@ UPDATE AD_Field SET SeqNo=60, IsDisplayed='Y', XPosition=1, ColumnSpan=3, NumLin UPDATE AD_Field SET SeqNo=70, IsDisplayed='Y', XPosition=1, ColumnSpan=2,Updated=TO_TIMESTAMP('2013-07-19 17:12:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201831 ; --- Jul 22, 2013 11:48:27 AM MYT --- IDEMPIERE-1042 Role Data Access -UPDATE AD_SysConfig SET Value='IDEMPIERE-528 Determine Zoom window depending on record',Updated=TO_TIMESTAMP('2013-07-22 11:48:27','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_SysConfig_ID=50003 -; - -- Jul 22, 2013 11:50:07 AM MYT -- IDEMPIERE-528 Determine Zoom window depending on record INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,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,AD_Element_ID) VALUES (0,'N',1,200066,210660,'Y','N','Y',0,'N',60,'Y',10,'N','N','Y','45deb4e7-a2a4-4aa5-9f32-05c2066e72cd','Y','Name','Alphanumeric identifier of the entity','The name of an entity (record) is used as an default search option in addition to the search key. The name is up to 60 characters in length.','Name','Y',TO_TIMESTAMP('2013-07-22 11:50:03','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-07-22 11:50:03','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',469) diff --git a/migration/i1.0c-release/postgresql/20130801160000_IDEMPIERE-1160.sql b/migration/i1.0c-release/postgresql/20130801160000_IDEMPIERE-1160.sql new file mode 100644 index 0000000000..2b195b9733 --- /dev/null +++ b/migration/i1.0c-release/postgresql/20130801160000_IDEMPIERE-1160.sql @@ -0,0 +1,500 @@ +-- Jul 31, 2013 7:16:30 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,Created,Updated,CreatedBy,AD_Org_ID,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('IsAdvancedField',202574,'Advanced Field','Advanced Field','1ab899a3-278e-418a-b84e-fe5fc3f263b6',TO_TIMESTAMP('2013-07-31 19:16:29','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2013-07-31 19:16:29','YYYY-MM-DD HH24:MI:SS'),100,0,100,'Y',0,'D') +; + +-- Jul 31, 2013 7:16:30 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202574 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID) +; + +-- Jul 31, 2013 7:17:38 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',0,107,210679,'N','N','N',0,'N',1,'N',20,'N','N','Y','45c86144-67dc-487b-a761-54774dd34388','Y','IsAdvancedField','N','Advanced Field','Y',TO_TIMESTAMP('2013-07-31 19:17:38','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-07-31 19:17:38','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',202574,'N') +; + +-- Jul 31, 2013 7:17:38 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210679 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Jul 31, 2013 7:17:51 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +ALTER TABLE AD_Field ADD COLUMN IsAdvancedField CHAR(1) DEFAULT 'N' CHECK (IsAdvancedField IN ('Y','N')) +; + +-- Jul 31, 2013 7:18:37 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan) VALUES ('N',107,1,'N','N',210679,400,'Y',202362,'N','D','Advanced Field','153209a5-5587-49dc-b587-51f236ebfd53','Y','N',100,0,TO_TIMESTAMP('2013-07-31 19:18:36','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-07-31 19:18:36','YYYY-MM-DD HH24:MI:SS'),'Y',2,0,2) +; + +-- Jul 31, 2013 7:18:37 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=202362 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=240, IsDisplayed='Y', XPosition=5,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202362 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=250,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200350 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=260,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200348 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=270,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200349 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=280,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13425 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=290,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200837 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=300,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=54402 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=310,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=54401 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=320,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200838 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=330,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200834 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=340,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=13424 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=350,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62468 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=360,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=53280 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=370,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200836 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=380,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200835 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=390,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=136 +; + +-- Jul 31, 2013 7:19:10 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=400,Updated=TO_TIMESTAMP('2013-07-31 19:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=139 +; + +-- Jul 31, 2013 7:20:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,Created,Updated,CreatedBy,AD_Org_ID,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('IsAccessAdvanced',202575,'Access Advanced ','Access Advanced ','2977102f-1399-4824-ba24-2b0c902aed64',TO_TIMESTAMP('2013-07-31 19:20:23','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2013-07-31 19:20:23','YYYY-MM-DD HH24:MI:SS'),100,0,100,'Y',0,'D') +; + +-- Jul 31, 2013 7:20:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202575 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID) +; + +-- Jul 31, 2013 7:22:04 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,DefaultValue,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID,IsSecure) VALUES (0,'N',0,156,210680,'N','N','N',0,'N',1,'N',20,'N','N','Y','1827e3d1-f438-4d13-8162-1288ab34d2da','Y','IsAccessAdvanced','Y','Access Advanced ','Y',TO_TIMESTAMP('2013-07-31 19:22:03','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-07-31 19:22:03','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',202575,'N') +; + +-- Jul 31, 2013 7:22:04 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210680 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Jul 31, 2013 7:22:19 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +ALTER TABLE AD_Role ADD COLUMN IsAccessAdvanced CHAR(1) DEFAULT 'N' CHECK (IsAccessAdvanced IN ('Y','N')) +; + + +-- Jul 31, 2013 7:23:25 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,XPosition,AD_Client_ID,ColumnSpan) VALUES ('N',119,1,'N','N',210680,480,'Y',202366,'N','D','Access Advanced ','f1ae60d9-680d-4764-a54e-2de52d65310e','Y','N',100,0,TO_TIMESTAMP('2013-07-31 19:23:25','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-07-31 19:23:25','YYYY-MM-DD HH24:MI:SS'),'Y',2,0,2) +; + +-- Jul 31, 2013 7:23:25 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=202366 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Aug 1, 2013 3:19:25 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET DisplayLogic='@IsMasterRole@=N',Updated=TO_TIMESTAMP('2013-08-01 15:19:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202366 +; + +-- Aug 6, 2013 2:44:19 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=200, IsDisplayed='Y', XPosition=5,Updated=TO_TIMESTAMP('2013-08-06 14:44:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202362 +; + +-- Aug 6, 2013 2:44:19 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=210,Updated=TO_TIMESTAMP('2013-08-06 14:44:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=142 +; + +-- Aug 6, 2013 2:44:19 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=220,Updated=TO_TIMESTAMP('2013-08-06 14:44:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=8343 +; + +-- Aug 6, 2013 2:44:19 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=230,Updated=TO_TIMESTAMP('2013-08-06 14:44:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=140 +; + +-- Aug 6, 2013 2:44:19 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=240,Updated=TO_TIMESTAMP('2013-08-06 14:44:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=141 +; + +-- Aug 6, 2013 2:45:23 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=280, IsDisplayed='Y', XPosition=2,Updated=TO_TIMESTAMP('2013-08-06 14:45:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202366 +; + +-- Aug 6, 2013 2:45:23 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=290, IsDisplayed='Y', XPosition=5,Updated=TO_TIMESTAMP('2013-08-06 14:45:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200071 +; + +-- Aug 6, 2013 2:45:23 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=300,Updated=TO_TIMESTAMP('2013-08-06 14:45:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50168 +; + +-- Aug 6, 2013 2:45:23 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=310,Updated=TO_TIMESTAMP('2013-08-06 14:45:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50178 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=320,Updated=TO_TIMESTAMP('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50176 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=330,Updated=TO_TIMESTAMP('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50170 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=340,Updated=TO_TIMESTAMP('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50174 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=350,Updated=TO_TIMESTAMP('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50173 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=360,Updated=TO_TIMESTAMP('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50172 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=370,Updated=TO_TIMESTAMP('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50175 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=380,Updated=TO_TIMESTAMP('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50169 +; + +-- Aug 6, 2013 2:45:24 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET SeqNo=390,Updated=TO_TIMESTAMP('2013-08-06 14:45:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=50177 +; + +update ad_tab set isadvancedtab='N' where isadvancedtab='Y' +; + +CREATE OR REPLACE VIEW adempiere.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, f.isadvancedfield + FROM adempiere.ad_field f + JOIN adempiere.ad_tab t ON f.ad_tab_id = t.ad_tab_id + LEFT JOIN adempiere.ad_fieldgroup fg ON f.ad_fieldgroup_id = fg.ad_fieldgroup_id + LEFT JOIN adempiere.ad_column c ON f.ad_column_id = c.ad_column_id + JOIN adempiere.ad_table tbl ON c.ad_table_id = tbl.ad_table_id + LEFT JOIN adempiere.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 adempiere.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, f.isadvancedfield + FROM adempiere.ad_field f + JOIN adempiere.ad_field_trl trl ON f.ad_field_id = trl.ad_field_id + JOIN adempiere.ad_tab t ON f.ad_tab_id = t.ad_tab_id + LEFT JOIN adempiere.ad_fieldgroup fg ON f.ad_fieldgroup_id = fg.ad_fieldgroup_id + LEFT JOIN adempiere.ad_fieldgroup_trl fgt ON f.ad_fieldgroup_id = fgt.ad_fieldgroup_id AND trl.ad_language::text = fgt.ad_language::text + LEFT JOIN adempiere.ad_column c ON f.ad_column_id = c.ad_column_id + JOIN adempiere.ad_table tbl ON c.ad_table_id = tbl.ad_table_id + LEFT JOIN adempiere.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 +; + +-- Aug 6, 2013 2:52:33 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Role SET IsAccessAdvanced='Y',Updated=TO_TIMESTAMP('2013-08-06 14:52:33','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Role_ID IN (0,102) +; + +-- Aug 6, 2013 3:23:57 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:23:57','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10318 +; + +-- Aug 6, 2013 3:24:26 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:24:26','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11024 +; + +-- Aug 6, 2013 3:24:51 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:24:51','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=54238 +; + +-- Aug 6, 2013 3:25:22 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:25:22','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=54680 +; + +-- Aug 6, 2013 3:25:56 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:25:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200948 +; + +-- Aug 6, 2013 3:26:01 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:26:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200949 +; + +-- Aug 6, 2013 3:26:43 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:26:43','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=56981 +; + +-- Aug 6, 2013 3:27:19 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:27:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202366 +; + +-- Aug 6, 2013 3:28:06 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_TIMESTAMP('2013-08-06 15:28:06','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=50003 +; + +-- Aug 6, 2013 3:28:09 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_TIMESTAMP('2013-08-06 15:28:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=50004 +; + +-- Aug 6, 2013 3:28:13 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_TIMESTAMP('2013-08-06 15:28:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=50002 +; + +-- Aug 6, 2013 3:28:23 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsInsertRecord='N', IsAdvancedTab='Y',Updated=TO_TIMESTAMP('2013-08-06 15:28:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=50001 +; + +-- Aug 6, 2013 3:28:32 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_TIMESTAMP('2013-08-06 15:28:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=50008 +; + +-- Aug 6, 2013 3:28:41 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_TIMESTAMP('2013-08-06 15:28:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=50005 +; + +-- Aug 6, 2013 3:28:45 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_TIMESTAMP('2013-08-06 15:28:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=50006 +; + +-- Aug 6, 2013 3:29:04 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_TIMESTAMP('2013-08-06 15:29:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=505 +; + +-- Aug 6, 2013 3:29:25 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_TIMESTAMP('2013-08-06 15:29:25','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=369 +; + +-- Aug 6, 2013 3:29:42 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_TIMESTAMP('2013-08-06 15:29:42','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=150 +; + +-- Aug 6, 2013 3:29:46 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_TIMESTAMP('2013-08-06 15:29:46','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=126 +; + +-- Aug 6, 2013 3:29:52 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_TIMESTAMP('2013-08-06 15:29:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=310 +; + +-- Aug 6, 2013 3:30:30 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:30:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200406 +; + +-- Aug 6, 2013 3:30:51 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_TIMESTAMP('2013-08-06 15:30:51','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53066 +; + +-- Aug 6, 2013 3:30:54 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_TIMESTAMP('2013-08-06 15:30:54','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53067 +; + +-- Aug 6, 2013 3:31:08 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Tab SET IsAdvancedTab='Y',Updated=TO_TIMESTAMP('2013-08-06 15:31:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=200032 +; + +-- Aug 6, 2013 3:31:34 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:31:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5028 +; + +-- Aug 6, 2013 3:31:37 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:31:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5029 +; + +-- Aug 6, 2013 3:32:00 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:32:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5040 +; + +-- Aug 6, 2013 3:32:03 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:32:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200003 +; + +-- Aug 6, 2013 3:32:36 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:32:36','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5053 +; + +-- Aug 6, 2013 3:32:50 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:32:50','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=11252 +; + +-- Aug 6, 2013 3:33:04 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:33:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200858 +; + +-- Aug 6, 2013 3:33:13 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:33:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200855 +; + +-- Aug 6, 2013 3:33:18 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:33:18','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5054 +; + +-- Aug 6, 2013 3:33:21 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:33:21','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200849 +; + +-- Aug 6, 2013 3:33:26 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:33:26','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200851 +; + +-- Aug 6, 2013 3:33:29 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:33:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200852 +; + +-- Aug 6, 2013 3:33:34 PM COT +-- IDEMPIERE-1160 Hide potentially dangerous stuff from non-admin users +UPDATE AD_Field SET IsAdvancedField='Y',Updated=TO_TIMESTAMP('2013-08-06 15:33:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200854 +; + +SELECT register_migration_script('20130801160000_IDEMPIERE-1160.sql') FROM dual +; diff --git a/migration/i1.0c-release/postgresql/201308051548_IDEMPIERE-1229.sql b/migration/i1.0c-release/postgresql/201308051548_IDEMPIERE-1229.sql new file mode 100644 index 0000000000..c77a16a6d1 --- /dev/null +++ b/migration/i1.0c-release/postgresql/201308051548_IDEMPIERE-1229.sql @@ -0,0 +1,292 @@ +-- Aug 1, 2013 12:32:12 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,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,AD_Element_ID,IsSecure) VALUES (0,'N',0,493,210681,'N','N','N',0,'N',22,'N',19,'N','N','Y','01406b24-b108-4ef9-9533-688ceb8615c4','Y','AD_Window_ID','Data entry or display window','The Window field identifies a unique Window in the system.','Window','Y',TO_TIMESTAMP('2013-08-01 12:32:11','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-08-01 12:32:11','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',143,'N') +; + +-- Aug 1, 2013 12:32:12 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210681 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 1, 2013 12:32:17 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +ALTER TABLE AD_PrintFormat ADD COLUMN AD_Window_ID NUMERIC(10) DEFAULT NULL +; + +-- Aug 1, 2013 12:35:28 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,AD_Client_ID,ColumnSpan) VALUES ('N',425,36,'N','N',60458,220,'Y',202367,'N','D','AD_PrintFormat_UU','d856c59c-850d-4f62-98c2-b30edf36641b','N','N',100,0,TO_TIMESTAMP('2013-08-01 12:35:27','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-08-01 12:35:27','YYYY-MM-DD HH24:MI:SS'),'Y','N',0,2) +; + +-- Aug 1, 2013 12:35:28 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=202367 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Aug 1, 2013 12:35:29 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,EntityType,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,AD_Client_ID,ColumnSpan) VALUES ('N',425,22,'N','N',210681,230,'Y',202368,'N','The Window field identifies a unique Window in the system.','D','Data entry or display window','Window','588d3710-0a9b-497d-a5fc-f03a565b8b2d','Y','N',100,0,TO_TIMESTAMP('2013-08-01 12:35:28','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-08-01 12:35:28','YYYY-MM-DD HH24:MI:SS'),'Y',0,2) +; + +-- Aug 1, 2013 12:35:29 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=202368 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Aug 1, 2013 12:36:10 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET DisplayLength=14,Updated=TO_TIMESTAMP('2013-08-01 12:36:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202368 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=5666 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=5662 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=5664 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=5659 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=5665 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=5652 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=8291 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=5655 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=5744 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=5656 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=100,IsDisplayedGrid='Y' WHERE AD_Field_ID=5651 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=110,IsDisplayedGrid='Y' WHERE AD_Field_ID=5663 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=120,IsDisplayedGrid='Y' WHERE AD_Field_ID=5653 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=130,IsDisplayedGrid='Y' WHERE AD_Field_ID=5762 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=140,IsDisplayedGrid='Y' WHERE AD_Field_ID=6503 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=150,IsDisplayedGrid='Y' WHERE AD_Field_ID=5657 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=160,IsDisplayedGrid='Y' WHERE AD_Field_ID=5661 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=170,IsDisplayedGrid='Y' WHERE AD_Field_ID=5654 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=180,IsDisplayedGrid='Y' WHERE AD_Field_ID=5658 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=190,IsDisplayedGrid='Y' WHERE AD_Field_ID=50179 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=200,IsDisplayedGrid='Y' WHERE AD_Field_ID=202368 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=210,IsDisplayedGrid='Y' WHERE AD_Field_ID=52009 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=220,IsDisplayedGrid='Y' WHERE AD_Field_ID=5660 +; + +-- Aug 1, 2013 12:37:49 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNoGrid=230,IsDisplayedGrid='Y' WHERE AD_Field_ID=52008 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=202367 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=0,IsDisplayed='N' WHERE AD_Field_ID=5666 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=10,IsDisplayed='Y' WHERE AD_Field_ID=5662 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=20,IsDisplayed='Y' WHERE AD_Field_ID=5664 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=30,IsDisplayed='Y' WHERE AD_Field_ID=5659 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=40,IsDisplayed='Y' WHERE AD_Field_ID=5665 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=50,IsDisplayed='Y' WHERE AD_Field_ID=5652 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=60,IsDisplayed='Y' WHERE AD_Field_ID=8291 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=70,IsDisplayed='Y' WHERE AD_Field_ID=5655 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=80,IsDisplayed='Y' WHERE AD_Field_ID=5744 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=90,IsDisplayed='Y' WHERE AD_Field_ID=5656 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=100,IsDisplayed='Y' WHERE AD_Field_ID=5651 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=110,IsDisplayed='Y' WHERE AD_Field_ID=5663 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=120,IsDisplayed='Y' WHERE AD_Field_ID=5653 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=130,IsDisplayed='Y' WHERE AD_Field_ID=5762 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=140,IsDisplayed='Y' WHERE AD_Field_ID=6503 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=150,IsDisplayed='Y' WHERE AD_Field_ID=5657 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=160,IsDisplayed='Y' WHERE AD_Field_ID=5661 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=170,IsDisplayed='Y' WHERE AD_Field_ID=5654 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=180,IsDisplayed='Y' WHERE AD_Field_ID=5658 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=190,IsDisplayed='Y' WHERE AD_Field_ID=50179 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=200,IsDisplayed='Y' WHERE AD_Field_ID=202368 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=210,IsDisplayed='Y' WHERE AD_Field_ID=52009 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=220,IsDisplayed='Y' WHERE AD_Field_ID=5660 +; + +-- Aug 1, 2013 12:37:56 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET SeqNo=230,IsDisplayed='Y' WHERE AD_Field_ID=52008 +; + +-- Aug 1, 2013 12:38:10 PM SGT +-- IDEMPIERE-1229 Purchase Order print format needs to be removed from SO window +UPDATE AD_Field SET IsSameLine='Y', XPosition=4,Updated=TO_TIMESTAMP('2013-08-01 12:38:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202368 +; + +SELECT register_migration_script('201308051548_IDEMPIERE-1229.sql') FROM dual +; \ No newline at end of file diff --git a/migration/i1.0c-release/postgresql/201308051741_IDEMPIERE-1025.sql b/migration/i1.0c-release/postgresql/201308051741_IDEMPIERE-1025.sql new file mode 100644 index 0000000000..a8cc6f0095 --- /dev/null +++ b/migration/i1.0c-release/postgresql/201308051741_IDEMPIERE-1025.sql @@ -0,0 +1,8 @@ +-- Aug 5, 2013 5:41:02 PM COT +-- IDEMPIERE-1025 Improve translation for custom tables +UPDATE AD_SysConfig SET Value='Y',Updated=TO_TIMESTAMP('2013-08-05 17:41:02','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_SysConfig_ID=50031 +; + +SELECT register_migration_script('201308051741_IDEMPIERE-1025.sql') FROM dual +; + diff --git a/migration/i1.0c-release/postgresql/201308090826_IDEMPIERE-1232.sql b/migration/i1.0c-release/postgresql/201308090826_IDEMPIERE-1232.sql new file mode 100644 index 0000000000..2f18544128 --- /dev/null +++ b/migration/i1.0c-release/postgresql/201308090826_IDEMPIERE-1232.sql @@ -0,0 +1,64 @@ +-- Aug 9, 2013 8:16:28 AM COT +-- IDEMPIERE-1232 Zoom condition fixes +INSERT INTO AD_Element (ColumnName,AD_Element_ID,Name,PrintName,AD_Element_UU,Created,Updated,AD_Org_ID,CreatedBy,UpdatedBy,IsActive,AD_Client_ID,EntityType) VALUES ('AD_ZoomCondition_UU',202578,'AD_ZoomCondition_UU','AD_ZoomCondition_UU','7f562afd-d2c2-40cc-8f5f-fd71597f7621',TO_TIMESTAMP('2013-08-09 08:16:19','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2013-08-09 08:16:19','YYYY-MM-DD HH24:MI:SS'),0,100,100,'Y',0,'D') +; + +-- Aug 9, 2013 8:16:28 AM COT +INSERT INTO AD_Element_Trl (AD_Language,AD_Element_ID, Help,PO_Description,PO_Help,Name,Description,PrintName,PO_Name,PO_PrintName, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Element_Trl_UU ) SELECT l.AD_Language,t.AD_Element_ID, t.Help,t.PO_Description,t.PO_Help,t.Name,t.Description,t.PrintName,t.PO_Name,t.PO_PrintName, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Element t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Element_ID=202578 AND NOT EXISTS (SELECT * FROM AD_Element_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Element_ID=t.AD_Element_ID) +; + +-- Aug 9, 2013 8:16:28 AM COT +INSERT INTO AD_Column (Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,AD_Column_UU,IsUpdateable,ColumnName,Name,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID) VALUES (1.0,200066,210683,'N','N','N','N',36,'N',10,'N','4748d5ef-fbba-458e-8947-8676fce31f72','Y','AD_ZoomCondition_UU','AD_ZoomCondition_UU',TO_TIMESTAMP('2013-08-09 08:16:19','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-08-09 08:16:19','YYYY-MM-DD HH24:MI:SS'),100,'N',0,'D','N',202578) +; + +-- Aug 9, 2013 8:16:28 AM COT +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210683 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Aug 9, 2013 8:16:28 AM COT +ALTER TABLE AD_ZoomCondition ADD COLUMN AD_ZoomCondition_UU VARCHAR(36) DEFAULT NULL +; + +-- Aug 9, 2013 8:16:29 AM COT +ALTER TABLE AD_ZoomCondition ADD CONSTRAINT AD_ZoomCondition_UU_idx UNIQUE (AD_ZoomCondition_UU) +; + +-- Aug 9, 2013 8:24:07 AM COT +UPDATE AD_ZoomCondition SET AD_ZoomCondition_UU='3962168d-caad-4057-b009-b5db798ce6d8' WHERE AD_ZoomCondition_ID=200001 +; + +-- Aug 9, 2013 8:24:07 AM COT +UPDATE AD_ZoomCondition SET AD_ZoomCondition_UU='9cc206f5-283f-428d-a3b5-9d8a7669d7e8' WHERE AD_ZoomCondition_ID=200002 +; + +-- Aug 9, 2013 9:35:21 AM COT +INSERT INTO AD_ZoomCondition (AD_Client_ID,AD_Org_ID,AD_Window_ID,AD_ZoomCondition_ID,Created,CreatedBy,IsActive,Updated,UpdatedBy,SeqNo,WhereClause,AD_Table_ID,Name,AD_ZoomCondition_UU) VALUES (0,0,53098,200003,TO_TIMESTAMP('2013-08-09 09:35:14','YYYY-MM-DD HH24:MI:SS'),100,'Y',TO_TIMESTAMP('2013-08-09 09:35:14','YYYY-MM-DD HH24:MI:SS'),100,10,'M_InOut.MovementType IN (''V-'')',319,'Return to Vendor','c4403f97-5fe3-4a70-a71a-006739d5d8cc') +; + +-- Aug 9, 2013 9:35:48 AM COT +INSERT INTO AD_ZoomCondition (AD_Client_ID,AD_Org_ID,AD_Window_ID,AD_ZoomCondition_ID,Created,CreatedBy,IsActive,Updated,UpdatedBy,SeqNo,WhereClause,AD_Table_ID,Name,AD_ZoomCondition_UU) VALUES (0,0,53097,200004,TO_TIMESTAMP('2013-08-09 09:35:47','YYYY-MM-DD HH24:MI:SS'),100,'Y',TO_TIMESTAMP('2013-08-09 09:35:47','YYYY-MM-DD HH24:MI:SS'),100,20,'M_InOut.MovementType IN (''C+'')',319,'Customer Return','c6c7fde3-2a9c-4eaf-8d22-fc2537de1678') +; + +-- Aug 9, 2013 9:38:48 AM COT +UPDATE AD_Tab SET Help='The Return to Vendor Line Tab defines the individual items in a Return to Vendor.', Name='Return to Vendor Line', Description='Return to Vendor Line',Updated=TO_TIMESTAMP('2013-08-09 09:38:48','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53277 +; + +-- Aug 9, 2013 9:39:06 AM COT +UPDATE AD_Tab SET Description='Optional Confirmations of Return to Vendor Lines',Updated=TO_TIMESTAMP('2013-08-09 09:39:06','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53278 +; + +-- Aug 9, 2013 9:40:05 AM COT +UPDATE AD_Field SET IsCentrallyMaintained='N', Help='The Return to Vendor', Description='Return to Vendor Document', Name='Return to Vendor',Updated=TO_TIMESTAMP('2013-08-09 09:40:05','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57900 +; + +-- Aug 9, 2013 9:40:45 AM COT +UPDATE AD_Tab SET Help='The Customer Return Line Tab defines the individual items in a Customer Return.', Name='Customer Return Line', Description='Customer Return Line',Updated=TO_TIMESTAMP('2013-08-09 09:40:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Tab_ID=53272 +; + +-- Aug 9, 2013 9:41:08 AM COT +UPDATE AD_Field SET IsCentrallyMaintained='N', Help='The Customer Return', Description='Customer Return Document', Name='Customer Return',Updated=TO_TIMESTAMP('2013-08-09 09:41:08','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=57761 +; + +SELECT register_migration_script('201308090826_IDEMPIERE-1232.sql') FROM dual +; + diff --git a/migration/i1.0c-release/postgresql/201308120824_IDEMPIERE-1255.sql b/migration/i1.0c-release/postgresql/201308120824_IDEMPIERE-1255.sql new file mode 100644 index 0000000000..6bab7dc18b --- /dev/null +++ b/migration/i1.0c-release/postgresql/201308120824_IDEMPIERE-1255.sql @@ -0,0 +1,13 @@ +-- Aug 12, 2013 4:21:30 PM MYT +-- IDEMPIERE-1207 Fixed inconsistent error message for well known database exception +UPDATE AD_Column SET DefaultValue='@#AD_Client_ID@',Updated=TO_TIMESTAMP('2013-08-12 16:21:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=5163 +; + +-- Aug 12, 2013 4:21:53 PM MYT +-- IDEMPIERE-1207 Fixed inconsistent error message for well known database exception +UPDATE AD_Column SET DefaultValue='@#AD_Org_ID@',Updated=TO_TIMESTAMP('2013-08-12 16:21:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=5164 +; + +SELECT register_migration_script('201308120824_IDEMPIERE-1255.sql') FROM dual +; + diff --git a/migration/i1.0c-release/postgresql/201308120955_IDEMPIERE-1260.sql b/migration/i1.0c-release/postgresql/201308120955_IDEMPIERE-1260.sql new file mode 100644 index 0000000000..53cae453df --- /dev/null +++ b/migration/i1.0c-release/postgresql/201308120955_IDEMPIERE-1260.sql @@ -0,0 +1,8 @@ +-- Aug 12, 2013 5:52:23 PM MYT +-- IDEMPIERE-1207 Fixed inconsistent error message for well known database exception +UPDATE AD_Column SET IsUpdateable='N', DefaultValue=NULL,Updated=TO_TIMESTAMP('2013-08-12 17:52:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=2705 +; + +SELECT register_migration_script('201308120955_IDEMPIERE-1260.sql') FROM dual +; + diff --git a/migration/i1.0c-release/postgresql/201308140925_IDEMPIERE-1188.sql b/migration/i1.0c-release/postgresql/201308140925_IDEMPIERE-1188.sql new file mode 100644 index 0000000000..3ae3dc7902 --- /dev/null +++ b/migration/i1.0c-release/postgresql/201308140925_IDEMPIERE-1188.sql @@ -0,0 +1,57 @@ +-- Jul 22, 2013 8:56:39 PM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID) VALUES (0,'N',1,808,210662,'N','N','N',0,'N',22,'N',30,'N','N','Y','c5983338-dac3-4173-ac05-81bc1bdb1ce7','N','M_MatchInv_ID','Match Shipment/Receipt to Invoice','Match Invoice','N',TO_TIMESTAMP('2013-07-22 20:56:37','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-07-22 20:56:37','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',1689) +; + +-- Jul 22, 2013 8:56:39 PM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210662 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Jul 22, 2013 8:56:45 PM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +ALTER TABLE M_CostDetail ADD COLUMN M_MatchInv_ID NUMERIC(10) DEFAULT NULL +; + +DROP VIEW m_costmovement_v; + +CREATE VIEW m_costmovement_v AS +SELECT a.ad_client_id, a.ad_org_id, b.c_acctschema_id, a.m_costhistory_id, a.m_costtype_id, a.m_costelement_id, a.m_attributesetinstance_id, + b.m_product_id, a.oldqty, a.newqty, a.oldcostprice, a.newcostprice, a.oldcqty, a.newcqty, a.oldcamt, a.newcamt, b.qty, b.amt, b.deltaqty, + b.deltaamt, b.c_orderline_id, b.m_inoutline_id, b.c_invoiceline_id, b.m_movementline_id, b.m_inventoryline_id, b.m_productionline_id, + b.c_projectissue_id, b.m_matchinv_id, a.m_costdetail_id, b.description, a.created, a.createdby, a.updated, a.updatedby, a.isactive + FROM m_costhistory a + JOIN m_costdetail b ON a.m_costdetail_id = b.m_costdetail_id + ORDER BY a.m_costhistory_id +; + + + +-- Jul 23, 2013 7:55:31 AM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Table_ID,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,AD_Reference_ID,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,Name,IsAllowCopy,Updated,CreatedBy,AD_Org_ID,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,AD_Client_ID,EntityType,IsEncrypted,AD_Element_ID) VALUES (0,'N',1,200002,210663,'N','N','N',0,'N',22,'N',30,'N','N','Y','10f7d192-2c18-497c-bcf3-548f8546fd41','N','M_MatchInv_ID','Match Shipment/Receipt to Invoice','Match Invoice','N',TO_TIMESTAMP('2013-07-23 07:55:29','YYYY-MM-DD HH24:MI:SS'),100,0,'Y',TO_TIMESTAMP('2013-07-23 07:55:29','YYYY-MM-DD HH24:MI:SS'),100,'N','N',0,'D','N',1689) +; + +-- Jul 23, 2013 7:55:31 AM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +INSERT INTO AD_Column_Trl (AD_Language,AD_Column_ID, Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Column_Trl_UU ) SELECT l.AD_Language,t.AD_Column_ID, t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Column t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Column_ID=210663 AND NOT EXISTS (SELECT * FROM AD_Column_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Column_ID=t.AD_Column_ID) +; + +-- Jul 23, 2013 7:56:36 AM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +INSERT INTO AD_Field (NumLines,SortNo,IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,EntityType,Description,Name,IsDisplayed,IsFieldOnly,AD_Field_UU,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan) VALUES (1,0,'N',200000,0,'N','N',210663,270,'Y',202340,'N','D','Match Shipment/Receipt to Invoice','Match Invoice','Y','N','624749f1-6544-45d7-a6b7-cebc6bcdfc93',100,0,TO_TIMESTAMP('2013-07-23 07:56:34','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-07-23 07:56:34','YYYY-MM-DD HH24:MI:SS'),'Y','Y',270,1,'N',0,1) +; + +-- Jul 23, 2013 7:56:36 AM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +INSERT INTO AD_Field_Trl (AD_Language,AD_Field_ID, Help,Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Field_Trl_UU ) SELECT l.AD_Language,t.AD_Field_ID, t.Help,t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Field t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Field_ID=202340 AND NOT EXISTS (SELECT * FROM AD_Field_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Field_ID=t.AD_Field_ID) +; + +-- Jul 23, 2013 7:57:03 AM MYT +-- IDEMPIERE-1188 Invoice Price Variance for Average PO Costing +UPDATE AD_Field SET SeqNo=270, ColumnSpan=2,Updated=TO_TIMESTAMP('2013-07-23 07:57:03','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202340 +; + +SELECT register_migration_script('201308140925_IDEMPIERE-1188.sql') FROM dual +; + diff --git a/migration/i1.0c-release/postgresql/201308141001_IDEMPIERE-1219.sql b/migration/i1.0c-release/postgresql/201308141001_IDEMPIERE-1219.sql new file mode 100644 index 0000000000..fe20c0191d --- /dev/null +++ b/migration/i1.0c-release/postgresql/201308141001_IDEMPIERE-1219.sql @@ -0,0 +1,13 @@ +-- Aug 14, 2013 9:52:38 AM COT +-- IDEMPIERE-1219 Error message when saving 2 default Tax Rates are not translated +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','Only one @C_Tax_ID@ per @C_TaxCategory_ID@ can be marked as Default!',200220,'D','84a60603-8500-40be-a90f-f6c1bc16e827','OnlyOneTaxPerCategoryMarkedDefault','Y',TO_TIMESTAMP('2013-08-14 09:52:37','YYYY-MM-DD HH24:MI:SS'),100,100,0,TO_TIMESTAMP('2013-08-14 09:52:37','YYYY-MM-DD HH24:MI:SS'),0) +; + +-- Aug 14, 2013 9:52:38 AM COT +-- IDEMPIERE-1219 Error message when saving 2 default Tax Rates are not translated +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=200220 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('201308141001_IDEMPIERE-1269.sql') FROM dual +; + diff --git a/migration/i1.0c-release/postgresql/201308141244_IDEMPIERE-1243.sql b/migration/i1.0c-release/postgresql/201308141244_IDEMPIERE-1243.sql new file mode 100644 index 0000000000..66071ab58f --- /dev/null +++ b/migration/i1.0c-release/postgresql/201308141244_IDEMPIERE-1243.sql @@ -0,0 +1,27 @@ +-- Aug 14, 2013 12:20:12 PM IST +-- IDEMPIERE-1243 It shall not be possible to change Organization on the Order Line +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2013-08-14 12:20:12','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=2053 +; + +-- Aug 14, 2013 12:22:49 PM IST +-- IDEMPIERE-1243 It shall not be possible to change Organization on the Order Line +UPDATE AD_Column SET AD_Val_Rule_ID=189,Updated=TO_TIMESTAMP('2013-08-14 12:22:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=2223 +; + +-- Aug 14, 2013 12:34:17 PM IST +-- IDEMPIERE-1243 It shall not be possible to change Organization on the Order Line +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2013-08-14 12:34:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3409 +; + +-- Aug 14, 2013 6:06:28 PM MYT +-- IDEMPIERE-1243 It shall not be possible to change Organization on the Order Line +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2013-08-14 18:06:28','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=1129 +; + +-- Aug 14, 2013 6:10:37 PM MYT +-- IDEMPIERE-1243 It shall not be possible to change Organization on the Order Line +UPDATE AD_Field SET IsReadOnly='Y',Updated=TO_TIMESTAMP('2013-08-14 18:10:37','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=3388 +; + +SELECT register_migration_script('201308141244_IDEMPIERE-1243.sql') FROM dual +; \ No newline at end of file diff --git a/migration/i1.0c-release/postgresql/20131707164800_IDEMPIERE-1138.sql b/migration/i1.0c-release/postgresql/20131707164800_IDEMPIERE-1138.sql new file mode 100644 index 0000000000..9328946efc --- /dev/null +++ b/migration/i1.0c-release/postgresql/20131707164800_IDEMPIERE-1138.sql @@ -0,0 +1,95 @@ +-- Jul 16, 2013 5:50:07 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Ref_List SET Value='E',Updated=TO_TIMESTAMP('2013-07-16 17:50:07','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Ref_List_ID=200046 +; + +-- Jul 16, 2013 5:56:21 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_BroadcastMessage SET BroadcastFrequency='E' WHERE BroadcastFrequency='U' +; + +-- Jul 16, 2013 5:54:09 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,Description,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID,EntityType) VALUES (200156,200020,'Repeat it until the message has been acknowledged','Until Acknowledge','d6b87260-502d-4984-b9e3-8daafde1acd9','A',TO_TIMESTAMP('2013-07-16 17:54:08','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-07-16 17:54:08','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0,'D') +; + +-- Jul 16, 2013 5:54:09 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +INSERT INTO AD_Ref_List_Trl (AD_Language,AD_Ref_List_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Ref_List_Trl_UU ) SELECT l.AD_Language,t.AD_Ref_List_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Ref_List t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Ref_List_ID=200156 AND NOT EXISTS (SELECT * FROM AD_Ref_List_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Ref_List_ID=t.AD_Ref_List_ID) +; + +-- Jul 16, 2013 5:56:21 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,Description,Name,AD_Ref_List_UU,Value,Created,CreatedBy,Updated,UpdatedBy,IsActive,AD_Org_ID,AD_Client_ID,EntityType) VALUES (200157,200020,'Repeat it until the message expires or until it has been acknowledged, whatever happens first','Until Expiration or Acknowledge','aa345f63-dfbe-4d18-aae4-e5ed06cd4407','O',TO_TIMESTAMP('2013-07-16 17:56:21','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2013-07-16 17:56:21','YYYY-MM-DD HH24:MI:SS'),100,'Y',0,0,'D') +; + +-- Jul 16, 2013 5:56:21 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +INSERT INTO AD_Ref_List_Trl (AD_Language,AD_Ref_List_ID, Description,Name, IsTranslated,AD_Client_ID,AD_Org_ID,Created,Createdby,Updated,UpdatedBy,AD_Ref_List_Trl_UU ) SELECT l.AD_Language,t.AD_Ref_List_ID, t.Description,t.Name, 'N',t.AD_Client_ID,t.AD_Org_ID,t.Created,t.Createdby,t.Updated,t.UpdatedBy,Generate_UUID() FROM AD_Language l, AD_Ref_List t WHERE l.IsActive='Y' AND l.IsSystemLanguage='Y' AND l.IsBaseLanguage='N' AND t.AD_Ref_List_ID=200157 AND NOT EXISTS (SELECT * FROM AD_Ref_List_Trl tt WHERE tt.AD_Language=l.AD_Language AND tt.AD_Ref_List_ID=t.AD_Ref_List_ID) +; + +-- Jul 17, 2013 8:50:32 AM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Field SET IsActive='N',Updated=TO_TIMESTAMP('2013-07-17 08:50:32','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200882 +; + +-- Jul 17, 2013 8:50:51 AM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Field SET DisplayLogic=NULL,Updated=TO_TIMESTAMP('2013-07-17 08:50:51','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200881 +; + +-- Jul 17, 2013 8:50:59 AM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Field SET IsDisplayed='N',Updated=TO_TIMESTAMP('2013-07-17 08:50:59','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200881 +; + +-- Jul 17, 2013 8:54:47 AM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Field SET DisplayLogic='@BroadcastType@!''I''',Updated=TO_TIMESTAMP('2013-07-17 08:54:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200873 +; + +-- Jul 17, 2013 9:14:17 AM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Field SET DisplayLogic='@BroadcastFrequency@=''E'' | @BroadcastFrequency@=''O''',Updated=TO_TIMESTAMP('2013-07-17 09:14:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200879 +; + +-- Jul 17, 2013 3:18:50 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +INSERT INTO AD_Val_Rule (AD_Val_Rule_ID,EntityType,Name,Code,Type,AD_Val_Rule_UU,CreatedBy,UpdatedBy,Updated,Created,AD_Org_ID,IsActive,AD_Client_ID) VALUES (200051,'D','AD_BroadcastMessage - Combination','AD_Ref_List.Value NOT IN(SELECT CASE WHEN AD_Client_ID<>0 THEN ''E'' ELSE ''1'' END FROM AD_Client WHERE AD_Client_ID=@#AD_Client_ID@)','S','9c09aaee-c787-4f30-900e-25412968812a',100,100,TO_TIMESTAMP('2013-07-17 15:18:49','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2013-07-17 15:18:49','YYYY-MM-DD HH24:MI:SS'),0,'Y',0) +; + +-- Jul 17, 2013 3:19:09 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Column SET AD_Val_Rule_ID=200051, IsToolbarButton='N',Updated=TO_TIMESTAMP('2013-07-17 15:19:09','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200989 +; + +-- Jul 17, 2013 4:29:38 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Field SET Help='

1. Just Once : Message will be broadcasted one time. 

+

2. Until Acknowledge : Repeat it until the message has been acknowledged. 

+

3. Until Expiration or Acknowledge : Repeat it until the message expires or until it has been acknowledged, whatever happens first.

+

4. Until Expiration : Repeat it until message expiration value.

+',Updated=TO_TIMESTAMP('2013-07-17 16:29:38','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=200873 +; + +-- Jul 17, 2013 4:29:49 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Column SET Help='

1. Just Once : Message will be broadcasted one time. 

+

2. Until Acknowledge : Repeat it until the message has been acknowledged. 

+

3. Until Expiration or Acknowledge : Repeat it until the message expires or until it has been acknowledged, whatever happens first.

+

4. Until Expiration : Repeat it until message expiration value.

+',Updated=TO_TIMESTAMP('2013-07-17 16:29:49','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=200984 +; + +-- Jul 17, 2013 4:29:49 PM COT +-- IDEMPIERE-1138 Broadcast Message Problems +UPDATE AD_Field SET Name='Broadcast Frequency', Description='How Many Times Message Should be Broadcasted', Help='

1. Just Once : Message will be broadcasted one time. 

+

2. Until Acknowledge : Repeat it until the message has been acknowledged. 

+

3. Until Expiration or Acknowledge : Repeat it until the message expires or until it has been acknowledged, whatever happens first.

+

4. Until Expiration : Repeat it until message expiration value.

+' WHERE AD_Column_ID=200984 AND IsCentrallyMaintained='Y' +; + +SELECT register_migration_script('20131707164800_IDEMPIERE-1138.sql') FROM dual +; + diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutPackage.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutPackage.java index 6eae5300c9..72ee1df303 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutPackage.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutPackage.java @@ -25,7 +25,7 @@ public class CalloutPackage extends CalloutEngine String dutiesShipperAccount = null; MInOut inout = new MInOut(ctx, inout_id, null); - if (inout.getFreightCharges().equals(MInOut.FREIGHTCHARGES_Prepaid) || inout.getFreightCharges().equals(MInOut.FREIGHTCHARGES_PrepaidAndBill)) + if (MInOut.FREIGHTCHARGES_Prepaid.equals(inout.getFreightCharges()) || MInOut.FREIGHTCHARGES_PrepaidAndBill.equals(inout.getFreightCharges())) { // 2. For charging to Velocity // ** If M_InOut.FreightCharges In ( D_PP, E_PPB) -- prepaid or prepaid and bill diff --git a/org.adempiere.base/src/org/adempiere/model/MBroadcastMessage.java b/org.adempiere.base/src/org/adempiere/model/MBroadcastMessage.java index 7ec6eabda7..240c61e860 100644 --- a/org.adempiere.base/src/org/adempiere/model/MBroadcastMessage.java +++ b/org.adempiere.base/src/org/adempiere/model/MBroadcastMessage.java @@ -29,11 +29,11 @@ import org.compiere.util.Env; */ public class MBroadcastMessage extends X_AD_BroadcastMessage { - /** - * - */ - private static final long serialVersionUID = -6390563897422379468L; + * + */ + private static final long serialVersionUID = 1908264699133879072L; + static private CCache s_cache = new CCache("AD_BroadcastMessage", 30, 60); public MBroadcastMessage(Properties ctx, int AD_BroadcastMessage_ID, @@ -99,4 +99,21 @@ public class MBroadcastMessage extends X_AD_BroadcastMessage return false; } + /************************************************************************** + * Before Save + * @param newRecord new + * @return save + */ + protected boolean beforeSave (boolean newRecord) + { + if (BROADCASTTYPE_Immediate.equals(getBroadcastType())) { + setBroadcastFrequency(BROADCASTFREQUENCY_JustOnce); + } + boolean logack = + ( BROADCASTFREQUENCY_UntilAcknowledge.equals(getBroadcastFrequency()) + || BROADCASTFREQUENCY_UntilExpirationOrAcknowledge.equals(getBroadcastFrequency())); + setLogAcknowledge(logack); + return true; + } + } diff --git a/org.adempiere.base/src/org/adempiere/process/UUIDGenerator.java b/org.adempiere.base/src/org/adempiere/process/UUIDGenerator.java index 576a3d6217..86a871c80d 100644 --- a/org.adempiere.base/src/org/adempiere/process/UUIDGenerator.java +++ b/org.adempiere.base/src/org/adempiere/process/UUIDGenerator.java @@ -80,8 +80,6 @@ public class UUIDGenerator extends SvrProcess { tableName = "%"; else tableName = tableName.trim(); - if (!tableName.endsWith("%")) - tableName = tableName + "%"; String sql = "SELECT AD_Table_ID, TableName FROM AD_Table WHERE TableName LIKE ? AND IsView = 'N' AND IsActive='Y' ORDER BY TableName"; PreparedStatement stmt = null; ResultSet rs = null; @@ -219,6 +217,7 @@ public class UUIDGenerator extends SvrProcess { while (rs.next()) { if (AD_Column_ID > 0) { int recordId = rs.getInt(1); + // this line is to avoid users generating official UUIDs - comment it to do official migration script work if (recordId > MTable.MAX_OFFICIAL_ID) { UUID uuid = UUID.randomUUID(); DB.executeUpdateEx(updateSQL.toString(),new Object[]{uuid.toString(), recordId}, trx.getTrxName()); diff --git a/org.adempiere.base/src/org/adempiere/util/ModelClassGenerator.java b/org.adempiere.base/src/org/adempiere/util/ModelClassGenerator.java index 55503b6d16..7d28198d13 100644 --- a/org.adempiere.base/src/org/adempiere/util/ModelClassGenerator.java +++ b/org.adempiere.base/src/org/adempiere/util/ModelClassGenerator.java @@ -37,6 +37,7 @@ import java.util.logging.Level; import org.adempiere.exceptions.DBException; import org.compiere.Adempiere; +import org.compiere.model.MTable; import org.compiere.util.CLogger; import org.compiere.util.DB; import org.compiere.util.DisplayType; @@ -601,9 +602,12 @@ public class ModelClassGenerator String columnName) { StringBuilder retValue = new StringBuilder(); - retValue.append("\n\t/** ").append(columnName).append(" AD_Reference_ID=").append(AD_Reference_ID) .append(" */") - .append("\n\tpublic static final int ").append(columnName.toUpperCase()) - .append("_AD_Reference_ID=").append(AD_Reference_ID).append(";"); + if (AD_Reference_ID <= MTable.MAX_OFFICIAL_ID) + { + retValue.append("\n\t/** ").append(columnName).append(" AD_Reference_ID=").append(AD_Reference_ID) .append(" */") + .append("\n\tpublic static final int ").append(columnName.toUpperCase()) + .append("_AD_Reference_ID=").append(AD_Reference_ID).append(";"); + } // boolean found = false; StringBuilder values = new StringBuilder("Reference_ID=") diff --git a/org.adempiere.base/src/org/compiere/acct/Doc_MatchInv.java b/org.adempiere.base/src/org/compiere/acct/Doc_MatchInv.java index ef47927faa..f1bd5733ef 100644 --- a/org.adempiere.base/src/org/compiere/acct/Doc_MatchInv.java +++ b/org.adempiere.base/src/org/compiere/acct/Doc_MatchInv.java @@ -18,9 +18,12 @@ package org.compiere.acct; import java.math.BigDecimal; import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Savepoint; import java.util.ArrayList; import java.util.logging.Level; +import org.adempiere.exceptions.AverageCostingZeroQtyException; import org.compiere.model.MAccount; import org.compiere.model.MAcctSchema; import org.compiere.model.MAcctSchemaElement; @@ -32,7 +35,9 @@ import org.compiere.model.MInvoice; import org.compiere.model.MInvoiceLine; import org.compiere.model.MMatchInv; import org.compiere.model.ProductCost; +import org.compiere.model.X_M_Cost; import org.compiere.util.Env; +import org.compiere.util.Trx; /** * Post MatchInv Documents. @@ -272,20 +277,7 @@ public class Doc_MatchInv extends Doc // Invoice Price Variance difference BigDecimal ipv = cr.getAcctBalance().add(dr.getAcctBalance()).negate(); - if (ipv.signum() != 0) - { - FactLine pv = fact.createLine(null, - m_pc.getAccount(ProductCost.ACCTTYPE_P_IPV, as), - as.getC_Currency_ID(), ipv); - pv.setC_Activity_ID(m_invoiceLine.getC_Activity_ID()); - pv.setC_Campaign_ID(m_invoiceLine.getC_Campaign_ID()); - pv.setC_Project_ID(m_invoiceLine.getC_Project_ID()); - pv.setC_ProjectPhase_ID(m_invoiceLine.getC_ProjectPhase_ID()); - pv.setC_ProjectTask_ID(m_invoiceLine.getC_ProjectTask_ID()); - pv.setC_UOM_ID(m_invoiceLine.getC_UOM_ID()); - pv.setUser1_ID(m_invoiceLine.getUser1_ID()); - pv.setUser2_ID(m_invoiceLine.getUser2_ID()); - } + processInvoicePriceVariance(as, fact, ipv); if (log.isLoggable(Level.FINE)) log.fine("IPV=" + ipv + "; Balance=" + fact.getSourceBalance()); String error = createMatchInvCostDetail(as); @@ -310,6 +302,90 @@ public class Doc_MatchInv extends Doc return facts; } // createFact + + /** + * @param as + * @param fact + * @param ipv + */ + protected void processInvoicePriceVariance(MAcctSchema as, Fact fact, + BigDecimal ipv) { + if (ipv.signum() == 0) return; + + FactLine pv = fact.createLine(null, + m_pc.getAccount(ProductCost.ACCTTYPE_P_IPV, as), + as.getC_Currency_ID(), ipv); + pv.setC_Activity_ID(m_invoiceLine.getC_Activity_ID()); + pv.setC_Campaign_ID(m_invoiceLine.getC_Campaign_ID()); + pv.setC_Project_ID(m_invoiceLine.getC_Project_ID()); + pv.setC_ProjectPhase_ID(m_invoiceLine.getC_ProjectPhase_ID()); + pv.setC_ProjectTask_ID(m_invoiceLine.getC_ProjectTask_ID()); + pv.setC_UOM_ID(m_invoiceLine.getC_UOM_ID()); + pv.setUser1_ID(m_invoiceLine.getUser1_ID()); + pv.setUser2_ID(m_invoiceLine.getUser2_ID()); + pv.setM_Product_ID(m_invoiceLine.getM_Product_ID()); + + MMatchInv matchInv = (MMatchInv)getPO(); + Trx trx = Trx.get(getTrxName(), false); + Savepoint savepoint = null; + boolean zeroQty = false; + try { + savepoint = trx.setSavepoint(null); + + if (!MCostDetail.createMatchInvoice(as, m_invoiceLine.getAD_Org_ID(), + m_invoiceLine.getM_Product_ID(), m_invoiceLine.getM_AttributeSetInstance_ID(), + matchInv.getM_MatchInv_ID(), 0, + ipv, BigDecimal.ZERO, "Invoice Price Variance", getTrxName())) { + throw new RuntimeException("Failed to create cost detail record."); + } + } catch (SQLException e) { + throw new RuntimeException(e.getLocalizedMessage(), e); + } catch (AverageCostingZeroQtyException e) { + zeroQty = true; + try { + trx.rollback(savepoint); + savepoint = null; + } catch (SQLException e1) { + throw new RuntimeException(e1.getLocalizedMessage(), e1); + } + } finally { + if (savepoint != null) { + try { + trx.releaseSavepoint(savepoint); + } catch (SQLException e) {} + } + } + + String costingMethod = m_pc.getProduct().getCostingMethod(as); + if (X_M_Cost.COSTINGMETHOD_AveragePO.equals(costingMethod)) { + MAccount account = zeroQty ? m_pc.getAccount(ProductCost.ACCTTYPE_P_AverageCostVariance, as) : m_pc.getAccount(ProductCost.ACCTTYPE_P_Asset, as); + + FactLine line = fact.createLine(null, + m_pc.getAccount(ProductCost.ACCTTYPE_P_IPV, as), + as.getC_Currency_ID(), ipv.negate()); + line.setC_Activity_ID(m_invoiceLine.getC_Activity_ID()); + line.setC_Campaign_ID(m_invoiceLine.getC_Campaign_ID()); + line.setC_Project_ID(m_invoiceLine.getC_Project_ID()); + line.setC_ProjectPhase_ID(m_invoiceLine.getC_ProjectPhase_ID()); + line.setC_ProjectTask_ID(m_invoiceLine.getC_ProjectTask_ID()); + line.setC_UOM_ID(m_invoiceLine.getC_UOM_ID()); + line.setUser1_ID(m_invoiceLine.getUser1_ID()); + line.setUser2_ID(m_invoiceLine.getUser2_ID()); + line.setM_Product_ID(m_invoiceLine.getM_Product_ID()); + + line = fact.createLine(null, account, as.getC_Currency_ID(), ipv); + line.setC_Activity_ID(m_invoiceLine.getC_Activity_ID()); + line.setC_Campaign_ID(m_invoiceLine.getC_Campaign_ID()); + line.setC_Project_ID(m_invoiceLine.getC_Project_ID()); + line.setC_ProjectPhase_ID(m_invoiceLine.getC_ProjectPhase_ID()); + line.setC_ProjectTask_ID(m_invoiceLine.getC_ProjectTask_ID()); + line.setC_UOM_ID(m_invoiceLine.getC_UOM_ID()); + line.setUser1_ID(m_invoiceLine.getUser1_ID()); + line.setUser2_ID(m_invoiceLine.getUser2_ID()); + line.setM_Product_ID(m_invoiceLine.getM_Product_ID()); + } + } + /** Verify if the posting involves two or more organizations @return true if there are more than one org involved on the posting */ diff --git a/org.adempiere.base/src/org/compiere/dbPort/Convert.java b/org.adempiere.base/src/org/compiere/dbPort/Convert.java index 93afb6636c..48cd57a85a 100644 --- a/org.adempiere.base/src/org/compiere/dbPort/Convert.java +++ b/org.adempiere.base/src/org/compiere/dbPort/Convert.java @@ -538,6 +538,8 @@ public abstract class Convert return true; if (uppStmt.startsWith("UPDATE C_ACCTPROCESSOR SET DATENEXTRUN")) return true; + if (uppStmt.startsWith("UPDATE R_REQUESTPROCESSOR SET DATELASTRUN")) + return true; // Don't log DELETE FROM Some_Table WHERE AD_Table_ID=? AND Record_ID=? if (uppStmt.startsWith("DELETE FROM ") && uppStmt.endsWith(" WHERE AD_TABLE_ID=? AND RECORD_ID=?")) return true; diff --git a/org.adempiere.base/src/org/compiere/model/GridField.java b/org.adempiere.base/src/org/compiere/model/GridField.java index a89b5b3c4c..9a17331c92 100644 --- a/org.adempiere.base/src/org/compiere/model/GridField.java +++ b/org.adempiere.base/src/org/compiere/model/GridField.java @@ -432,6 +432,15 @@ public class GridField if (log.isLoggable(Level.FINEST)) log.finest(m_vo.ColumnName + " NO - TabRO=" + m_vo.tabReadOnly + ", FieldRO=" + m_vo.IsReadOnly); return false; } + + //check tab context + if (checkContext && getGridTab() != null) + { + if (getGridTab().isReadOnly()) + { + return false; + } + } // Not Updateable - only editable if new updateable row if (!m_vo.IsUpdateable && !m_inserting) diff --git a/org.adempiere.base/src/org/compiere/model/GridFieldVO.java b/org.adempiere.base/src/org/compiere/model/GridFieldVO.java index 6204846163..14c0af6759 100644 --- a/org.adempiere.base/src/org/compiere/model/GridFieldVO.java +++ b/org.adempiere.base/src/org/compiere/model/GridFieldVO.java @@ -56,14 +56,24 @@ public class GridFieldVO implements Serializable public static String getSQL (Properties ctx) { // IsActive is part of View + MRole role = MRole.getDefault(ctx, true); + String advancedFilter=" AND IsAdvancedField='N' "; StringBuilder sql; - if (!Env.isBaseLanguage(ctx, "AD_Tab")) + if (!Env.isBaseLanguage(ctx, "AD_Tab")){ sql = new StringBuilder("SELECT * FROM AD_Field_vt WHERE AD_Tab_ID=?") - .append(" AND AD_Language='" + Env.getAD_Language(ctx) + "'") - .append(" ORDER BY IsDisplayed DESC, SeqNo"); - else - sql = new StringBuilder("SELECT * FROM AD_Field_v WHERE AD_Tab_ID=?") - .append(" ORDER BY IsDisplayed DESC, SeqNo"); + .append(" AND AD_Language='" + Env.getAD_Language(ctx) + "'"); + if (!role.isAccessAdvanced()) { + sql.append(advancedFilter); + } + sql.append(" ORDER BY IsDisplayed DESC, SeqNo"); + } + else{ + sql = new StringBuilder("SELECT * FROM AD_Field_v WHERE AD_Tab_ID=?"); + if (!role.isAccessAdvanced()) { + sql.append(advancedFilter); + } + sql.append(" ORDER BY IsDisplayed DESC, SeqNo"); + } return sql.toString(); } // getSQL diff --git a/org.adempiere.base/src/org/compiere/model/GridTabVO.java b/org.adempiere.base/src/org/compiere/model/GridTabVO.java index 682c144745..e0af3bf447 100644 --- a/org.adempiere.base/src/org/compiere/model/GridTabVO.java +++ b/org.adempiere.base/src/org/compiere/model/GridTabVO.java @@ -370,13 +370,26 @@ public class GridTabVO implements Evaluatee, Serializable + " AND ce.AD_Field_ID IS NULL " + " AND ce.ASP_Status = 'H')"; // Hide // View only returns IsActive='Y' - String sql = "SELECT * FROM AD_Tab_v WHERE AD_Window_ID=?" - + ASPFilter + " ORDER BY SeqNo"; - if (!Env.isBaseLanguage(ctx, "AD_Window")) - sql = "SELECT * FROM AD_Tab_vt WHERE AD_Window_ID=?" - + " AND AD_Language='" + Env.getAD_Language(ctx) + "'" - + ASPFilter + " ORDER BY SeqNo"; - return sql; + MRole role = MRole.getDefault(ctx, true); + String advancedFilter=" AND IsAdvancedTab='N' "; + StringBuilder sql; + if (!Env.isBaseLanguage(ctx, "AD_Window")) { + sql = new StringBuilder( "SELECT * FROM AD_Tab_vt WHERE AD_Window_ID=?"); + sql.append(" AND AD_Language='" + Env.getAD_Language(ctx) + "'") + .append(ASPFilter); + if (!role.isAccessAdvanced()) { + sql.append(advancedFilter); + } + sql.append(" ORDER BY SeqNo"); + }else{ + sql = new StringBuilder("SELECT * FROM AD_Tab_v WHERE AD_Window_ID=?"); + sql.append(ASPFilter) ; + if (!role.isAccessAdvanced()) { + sql.append(advancedFilter); + } + sql.append(" ORDER BY SeqNo"); + } + return sql.toString(); } // getSQL diff --git a/org.adempiere.base/src/org/compiere/model/I_AD_Field.java b/org.adempiere.base/src/org/compiere/model/I_AD_Field.java index c42e93f3de..a0b4221237 100644 --- a/org.adempiere.base/src/org/compiere/model/I_AD_Field.java +++ b/org.adempiere.base/src/org/compiere/model/I_AD_Field.java @@ -313,6 +313,15 @@ public interface I_AD_Field */ public boolean isActive(); + /** Column name IsAdvancedField */ + public static final String COLUMNNAME_IsAdvancedField = "IsAdvancedField"; + + /** Set IsAdvancedField */ + public void setIsAdvancedField (boolean IsAdvancedField); + + /** Get IsAdvancedField */ + public boolean isAdvancedField(); + /** Column name IsAllowCopy */ public static final String COLUMNNAME_IsAllowCopy = "IsAllowCopy"; diff --git a/org.adempiere.base/src/org/compiere/model/I_AD_PrintFormat.java b/org.adempiere.base/src/org/compiere/model/I_AD_PrintFormat.java index d5f2079b91..f8238a3281 100644 --- a/org.adempiere.base/src/org/compiere/model/I_AD_PrintFormat.java +++ b/org.adempiere.base/src/org/compiere/model/I_AD_PrintFormat.java @@ -174,6 +174,21 @@ public interface I_AD_PrintFormat public org.compiere.model.I_AD_Table getAD_Table() throws RuntimeException; + /** Column name AD_Window_ID */ + public static final String COLUMNNAME_AD_Window_ID = "AD_Window_ID"; + + /** Set Window. + * Data entry or display window + */ + public void setAD_Window_ID (int AD_Window_ID); + + /** Get Window. + * Data entry or display window + */ + public int getAD_Window_ID(); + + public org.compiere.model.I_AD_Window getAD_Window() throws RuntimeException; + /** Column name Args */ public static final String COLUMNNAME_Args = "Args"; diff --git a/org.adempiere.base/src/org/compiere/model/I_AD_Role.java b/org.adempiere.base/src/org/compiere/model/I_AD_Role.java index e5f6f6dc5f..fc64f9cfc4 100644 --- a/org.adempiere.base/src/org/compiere/model/I_AD_Role.java +++ b/org.adempiere.base/src/org/compiere/model/I_AD_Role.java @@ -300,6 +300,15 @@ public interface I_AD_Role */ public String getDescription(); + /** Column name IsAccessAdvanced */ + public static final String COLUMNNAME_IsAccessAdvanced = "IsAccessAdvanced"; + + /** Set IsAccessAdvanced */ + public void setIsAccessAdvanced (boolean IsAccessAdvanced); + + /** Get IsAccessAdvanced */ + public boolean isAccessAdvanced(); + /** Column name IsAccessAllOrgs */ public static final String COLUMNNAME_IsAccessAllOrgs = "IsAccessAllOrgs"; diff --git a/org.adempiere.base/src/org/compiere/model/I_M_CostDetail.java b/org.adempiere.base/src/org/compiere/model/I_M_CostDetail.java index 910dfcbab6..abc5ffa28a 100644 --- a/org.adempiere.base/src/org/compiere/model/I_M_CostDetail.java +++ b/org.adempiere.base/src/org/compiere/model/I_M_CostDetail.java @@ -350,6 +350,21 @@ public interface I_M_CostDetail public org.compiere.model.I_M_InventoryLine getM_InventoryLine() throws RuntimeException; + /** Column name M_MatchInv_ID */ + public static final String COLUMNNAME_M_MatchInv_ID = "M_MatchInv_ID"; + + /** Set Match Invoice. + * Match Shipment/Receipt to Invoice + */ + public void setM_MatchInv_ID (int M_MatchInv_ID); + + /** Get Match Invoice. + * Match Shipment/Receipt to Invoice + */ + public int getM_MatchInv_ID(); + + public org.compiere.model.I_M_MatchInv getM_MatchInv() throws RuntimeException; + /** Column name M_MovementLine_ID */ public static final String COLUMNNAME_M_MovementLine_ID = "M_MovementLine_ID"; diff --git a/org.adempiere.base/src/org/compiere/model/MColumn.java b/org.adempiere.base/src/org/compiere/model/MColumn.java index a4a98ca0f8..502c410d19 100644 --- a/org.adempiere.base/src/org/compiere/model/MColumn.java +++ b/org.adempiere.base/src/org/compiere/model/MColumn.java @@ -370,6 +370,10 @@ public class MColumn extends X_AD_Column { if (!success) return success; + + /* Fields must inherit translation from element, not from column + * changing it here is useless as SynchronizeTerminology get trl from column */ + /* // Update Fields if (!newRecord) { @@ -387,6 +391,8 @@ public class MColumn extends X_AD_Column if (log.isLoggable(Level.FINE)) log.fine("afterSave - Fields updated #" + no); } } + */ + return success; } // afterSave diff --git a/org.adempiere.base/src/org/compiere/model/MCostDetail.java b/org.adempiere.base/src/org/compiere/model/MCostDetail.java index d87d1e79af..673d58b1e7 100644 --- a/org.adempiere.base/src/org/compiere/model/MCostDetail.java +++ b/org.adempiere.base/src/org/compiere/model/MCostDetail.java @@ -464,6 +464,69 @@ public class MCostDetail extends X_M_CostDetail return ok; } // createProduction + /** + * @param as + * @param AD_Org_ID + * @param M_Product_ID + * @param M_AttributeSetInstance_ID + * @param M_MatchInv_ID + * @param M_CostElement_ID + * @param Amt + * @param Qty + * @param Description + * @param trxName + * @return true if no error + */ + public static boolean createMatchInvoice (MAcctSchema as, int AD_Org_ID, + int M_Product_ID, int M_AttributeSetInstance_ID, + int M_MatchInv_ID, int M_CostElement_ID, + BigDecimal Amt, BigDecimal Qty, + String Description, String trxName) + { + // Delete Unprocessed zero Differences + StringBuilder sql = new StringBuilder("DELETE M_CostDetail ") + .append("WHERE Processed='N' AND COALESCE(DeltaAmt,0)=0 AND COALESCE(DeltaQty,0)=0") + .append(" AND M_MatchInv_ID=").append(M_MatchInv_ID) + .append(" AND C_AcctSchema_ID =").append(as.getC_AcctSchema_ID()) + .append(" AND M_AttributeSetInstance_ID=").append(M_AttributeSetInstance_ID) + .append(" AND Coalesce(M_CostElement_ID,0)=").append(M_CostElement_ID); + + int no = DB.executeUpdate(sql.toString(), trxName); + if (no != 0) + if (s_log.isLoggable(Level.CONFIG)) s_log.config("Deleted #" + no); + MCostDetail cd = get (as.getCtx(), "M_MatchInv_ID=? AND Coalesce(M_CostElement_ID,0)="+M_CostElement_ID, + M_MatchInv_ID, M_AttributeSetInstance_ID, as.getC_AcctSchema_ID(), trxName); + // + if (cd == null) // createNew + { + cd = new MCostDetail (as, AD_Org_ID, + M_Product_ID, M_AttributeSetInstance_ID, + M_CostElement_ID, + Amt, Qty, Description, trxName); + cd.setM_MatchInv_ID(M_MatchInv_ID); + } + else + { + cd.setDeltaAmt(Amt.subtract(cd.getAmt())); + cd.setDeltaQty(Qty.subtract(cd.getQty())); + if (cd.isDelta()) + { + cd.setProcessed(false); + cd.setAmt(Amt); + cd.setQty(Qty); + } + else + return true; // nothing to do + } + boolean ok = cd.save(); + if (ok && !cd.isProcessed()) + { + ok = cd.process(); + } + if (s_log.isLoggable(Level.CONFIG)) s_log.config("(" + ok + ") " + cd); + return ok; + } // createMatchInvoice + /************************************************************************** * Get Cost Detail * @param ctx context @@ -1184,6 +1247,13 @@ public class MCostDetail extends X_M_CostDetail log.warning("QtyAdjust - " + ce + " - " + cost); } + else if (getM_MatchInv_ID() > 0) + { + if (ce.isAveragePO()) + { + cost.setWeightedAverage(amt, qty); + } + } else // unknown or no id { log.warning("Unknown Type: " + toString()); diff --git a/org.adempiere.base/src/org/compiere/model/MLookupFactory.java b/org.adempiere.base/src/org/compiere/model/MLookupFactory.java index 32722cefc0..992989a880 100644 --- a/org.adempiere.base/src/org/compiere/model/MLookupFactory.java +++ b/org.adempiere.base/src/org/compiere/model/MLookupFactory.java @@ -783,7 +783,7 @@ public class MLookupFactory private static StringBuilder getDisplayColumn(Language language, String tableName, ArrayList list) { - return getDisplayColumn(language, tableName, list, null); + return getDisplayColumn(language, tableName, list, tableName); } private static StringBuilder getDisplayColumn(Language language, diff --git a/org.adempiere.base/src/org/compiere/model/MRecentItem.java b/org.adempiere.base/src/org/compiere/model/MRecentItem.java index f66b1ceb97..394d3ec490 100644 --- a/org.adempiere.base/src/org/compiere/model/MRecentItem.java +++ b/org.adempiere.base/src/org/compiere/model/MRecentItem.java @@ -40,12 +40,12 @@ import org.osgi.service.event.Event; */ public class MRecentItem extends X_AD_RecentItem { - public static final String ON_RECENT_ITEM_CHANGED_TOPIC = "onRecentItemChanged"; - /** * */ - private static final long serialVersionUID = 8337619537799431984L; + private static final long serialVersionUID = 6899554875745832L; + + public static final String ON_RECENT_ITEM_CHANGED_TOPIC = "onRecentItemChanged"; /** Recent Item Cache */ private static CCache s_cache = new CCache(Table_Name, 10); @@ -189,7 +189,7 @@ public class MRecentItem extends X_AD_RecentItem publishChangedEvent(AD_User_ID); } - private static void publishChangedEvent(int AD_User_ID) { + public static void publishChangedEvent(int AD_User_ID) { IMessageService service = Service.locator().locate(IMessageService.class).getService(); if (service != null) { ITopic topic = service.getTopic(ON_RECENT_ITEM_CHANGED_TOPIC); @@ -276,8 +276,14 @@ public class MRecentItem extends X_AD_RecentItem } public String getLabel() { - MWindow win = new MWindow(getCtx(), getAD_Window_ID(), null); - String windowName = win.get_Translation("Name"); + String windowName; + MUserDefWin userDef = MUserDefWin.getBestMatch(getCtx(), getAD_Window_ID()); + if (userDef != null) { + windowName = userDef.getName(); + } else { + MWindow win = new MWindow(getCtx(), getAD_Window_ID(), null); + windowName = win.get_Translation("Name"); + } MTable table = MTable.get(getCtx(), getAD_Table_ID()); PO po = table.getPO(getRecord_ID(), null); if (po == null) { diff --git a/org.adempiere.base/src/org/compiere/model/MTax.java b/org.adempiere.base/src/org/compiere/model/MTax.java index 2121ee92f6..579813968d 100644 --- a/org.adempiere.base/src/org/compiere/model/MTax.java +++ b/org.adempiere.base/src/org/compiere/model/MTax.java @@ -289,7 +289,7 @@ public class MTax extends X_C_Tax .setOnlyActiveRecords(true) .list(); if (list.size() >= 1) { - log.saveError("Error", Msg.parseTranslation(getCtx(), "Only one @C_Tax_ID@ per @C_TaxCategory_ID@ can be marked as Default!")); + log.saveError("Error", Msg.parseTranslation(getCtx(), Msg.getMsg(Env.getCtx(),"OnlyOneTaxPerCategoryMarkedDefault"))); return false; } } diff --git a/org.adempiere.base/src/org/compiere/model/MUserDefWin.java b/org.adempiere.base/src/org/compiere/model/MUserDefWin.java index 511b2eb0cf..22e2796e0e 100644 --- a/org.adempiere.base/src/org/compiere/model/MUserDefWin.java +++ b/org.adempiere.base/src/org/compiere/model/MUserDefWin.java @@ -108,9 +108,8 @@ public class MUserDefWin extends X_AD_UserDef_Win { // Check Cache Integer key = new Integer(window_ID); - MUserDefWin retValue = (MUserDefWin)s_cache.get(key); - if (retValue != null) - return retValue; + if (s_cache.containsKey(key)) + return s_cache.get(key); // parameters final int AD_Org_ID = Env.getAD_Org_ID(ctx); @@ -122,8 +121,10 @@ public class MUserDefWin extends X_AD_UserDef_Win // candidates MUserDefWin[] candidates = getAll(ctx, window_ID); - if (candidates == null) + if (candidates == null) { + s_cache.put(key, null); return null; + } final int size = candidates.length; int[] weight = new int[size]; @@ -177,10 +178,12 @@ public class MUserDefWin extends X_AD_UserDef_Win } if (weight[maxindex] > -1) { + MUserDefWin retValue = null; retValue=candidates[maxindex]; s_cache.put(key, retValue); return retValue; } else { + s_cache.put(key, null); return null; } } diff --git a/org.adempiere.base/src/org/compiere/model/MWarehouse.java b/org.adempiere.base/src/org/compiere/model/MWarehouse.java index 5ab89ff0f2..0514055579 100644 --- a/org.adempiere.base/src/org/compiere/model/MWarehouse.java +++ b/org.adempiere.base/src/org/compiere/model/MWarehouse.java @@ -193,6 +193,20 @@ public class MWarehouse extends X_M_Warehouse log.warning("No default locator for " + getName()); return locators[0]; } + else + { + String whereClause = "M_Warehouse_ID=?"; + List list = new Query(getCtx(), I_M_Locator.Table_Name, whereClause, null) + .setParameters(getM_Warehouse_ID()) + .setOnlyActiveRecords(false).list(); + if (!list.isEmpty()) + { + if (log.isLoggable(Level.INFO)) + log.info("All locator is inactive for " + getName()); + //Do not auto create if there are inactive locator since that could trigger unique key exception + return null; + } + } // No Locator - create one MLocator loc = new MLocator (this, "Standard"); loc.setIsDefault(true); diff --git a/org.adempiere.base/src/org/compiere/model/MZoomCondition.java b/org.adempiere.base/src/org/compiere/model/MZoomCondition.java index 5876ff2337..af7beff98b 100644 --- a/org.adempiere.base/src/org/compiere/model/MZoomCondition.java +++ b/org.adempiere.base/src/org/compiere/model/MZoomCondition.java @@ -21,6 +21,7 @@ import java.util.Properties; import org.compiere.util.DB; import org.compiere.util.Env; +import org.compiere.util.Util; /** * Zoom Condition model @@ -75,6 +76,9 @@ public class MZoomCondition extends X_AD_ZoomCondition private static int findZoomWindowByTableId(int AD_Table_ID, MQuery query) { + if (query == null) + return 0; + MZoomCondition[] conditions = MZoomCondition.getConditions(AD_Table_ID); if (conditions.length > 0) { @@ -99,7 +103,11 @@ public class MZoomCondition extends X_AD_ZoomCondition public static int findZoomWindow(MQuery query) { String tableName = query.getTableName(); + if (Util.isEmpty(tableName)) + return 0; MTable table = MTable.get(Env.getCtx(), tableName); + if (table == null) + return 0; return findZoomWindowByTableId(table.getAD_Table_ID(), query); } @@ -111,51 +119,66 @@ public class MZoomCondition extends X_AD_ZoomCondition */ public static int findZoomWindowByWindowId(int AD_Window_ID, MQuery query) { - GridWindow window = GridWindow.get(Env.getCtx(), -1, AD_Window_ID); - if (window == null || window.getTabCount() == 0) + if (query == null) return 0; - if (window.getTab(0).getTableName().equals(query.getZoomTableName())) { - return findZoomWindowByTableId(window.getTab(0).getAD_Table_ID(), query); + int tableID = DB.getSQLValueEx(null, + "SELECT t.AD_Table_ID " + + "FROM AD_Tab tab JOIN AD_Table t ON t.AD_Table_ID=tab.AD_Table_ID " + + "WHERE t.IsActive='Y' AND tab.IsActive='Y' AND tab.AD_Window_ID=? " + + "ORDER BY tab.SeqNo", + AD_Window_ID); + String tableName = null; + if (tableID > 0) { + tableName = MTable.get(Env.getCtx(), tableID).getTableName(); } - else - { - //resolve zoom to detail - int size = window.getTabCount(); - GridTab gTab = null; - for(int i = 0; i < size; i++) - { - if (window.getTab(i).getTableName().equals(query.getZoomTableName())) + + if (tableName != null && tableName.equals(query.getZoomTableName())) { + return findZoomWindowByTableId(tableID, query); + } else { + try { + GridWindow window = GridWindow.get(Env.getCtx(), -1, AD_Window_ID); + if (window == null || window.getTabCount() == 0) + return 0; + //resolve zoom to detail + int size = window.getTabCount(); + GridTab gTab = null; + for(int i = 0; i < size; i++) { - gTab = window.getTab(i); - break; - } - } - if (gTab != null) - { - window.initTab(gTab.getTabNo()); - GridTab parentTab = gTab.getParentTab(); - int parentId = DB.getSQLValue(null, "SELECT " + gTab.getLinkColumnName() + " FROM " + gTab.getTableName() + " WHERE " + query.getWhereClause()); - if (parentId <= 0)return 0; - - while (parentTab != null) - { - window.initTab(parentTab.getTabNo()); - if (parentTab.getParentTab() != null) + if (window.getTab(i).getTableName().equals(query.getZoomTableName())) { - parentId = DB.getSQLValue(null, "SELECT " + parentTab.getLinkColumnName() + " FROM " + parentTab.getTableName() + " WHERE " - + parentTab.getTableName()+"_ID="+parentId); - if (parentId <= 0) return 0; - parentTab = parentTab.getParentTab(); + gTab = window.getTab(i); + break; } - else - { - if (parentTab == window.getTab(0)) + } + if (gTab != null) + { + window.initTab(gTab.getTabNo()); + GridTab parentTab = gTab.getParentTab(); + int parentId = DB.getSQLValue(null, "SELECT " + gTab.getLinkColumnName() + " FROM " + gTab.getTableName() + " WHERE " + query.getWhereClause()); + if (parentId <= 0)return 0; + + while (parentTab != null) + { + window.initTab(parentTab.getTabNo()); + if (parentTab.getParentTab() != null) { - return findZoomWindowByTableId(parentTab.getAD_Table_ID(), parentId); + parentId = DB.getSQLValue(null, "SELECT " + parentTab.getLinkColumnName() + " FROM " + parentTab.getTableName() + " WHERE " + + parentTab.getTableName()+"_ID="+parentId); + if (parentId <= 0) return 0; + parentTab = parentTab.getParentTab(); + } + else + { + if (parentTab == window.getTab(0)) + { + return findZoomWindowByTableId(parentTab.getAD_Table_ID(), parentId); + } } } } + } finally { + Env.clearWinContext(-1); } } return 0; @@ -202,7 +225,7 @@ public class MZoomCondition extends X_AD_ZoomCondition .append(" WHERE ") .append(whereClause) .append(" AND ") - .append(getWhereClause()); + .append(Env.parseContext(Env.getCtx(), 0, getWhereClause(), false, true)); int no = DB.getSQLValue(null, builder.toString()); return no == 1; diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_BroadcastMessage.java b/org.adempiere.base/src/org/compiere/model/X_AD_BroadcastMessage.java index ed809a6039..5fb9060c2a 100644 --- a/org.adempiere.base/src/org/compiere/model/X_AD_BroadcastMessage.java +++ b/org.adempiere.base/src/org/compiere/model/X_AD_BroadcastMessage.java @@ -30,7 +30,7 @@ public class X_AD_BroadcastMessage extends PO implements I_AD_BroadcastMessage, /** * */ - private static final long serialVersionUID = 20130626L; + private static final long serialVersionUID = 20130716L; /** Standard Constructor */ public X_AD_BroadcastMessage (Properties ctx, int AD_BroadcastMessage_ID, String trxName) @@ -171,8 +171,12 @@ public class X_AD_BroadcastMessage extends PO implements I_AD_BroadcastMessage, public static final int BROADCASTFREQUENCY_AD_Reference_ID=200020; /** Just Once = J */ public static final String BROADCASTFREQUENCY_JustOnce = "J"; - /** Until Expiration = U */ - public static final String BROADCASTFREQUENCY_UntilExpiration = "U"; + /** Until Expiration = E */ + public static final String BROADCASTFREQUENCY_UntilExpiration = "E"; + /** Until Acknowledge = A */ + public static final String BROADCASTFREQUENCY_UntilAcknowledge = "A"; + /** Until Expiration or Acknowledge = O */ + public static final String BROADCASTFREQUENCY_UntilExpirationOrAcknowledge = "O"; /** Set Broadcast Frequency. @param BroadcastFrequency How Many Times Message Should be Broadcasted diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_Field.java b/org.adempiere.base/src/org/compiere/model/X_AD_Field.java index f3ea2e3e35..18f9ab82ed 100644 --- a/org.adempiere.base/src/org/compiere/model/X_AD_Field.java +++ b/org.adempiere.base/src/org/compiere/model/X_AD_Field.java @@ -32,7 +32,7 @@ public class X_AD_Field extends PO implements I_AD_Field, I_Persistent /** * */ - private static final long serialVersionUID = 20130626L; + private static final long serialVersionUID = 20130801L; /** Standard Constructor */ public X_AD_Field (Properties ctx, int AD_Field_ID, String trxName) @@ -449,6 +449,27 @@ public class X_AD_Field extends PO implements I_AD_Field, I_Persistent return ii.intValue(); } + /** Set IsAdvancedField. + @param IsAdvancedField IsAdvancedField */ + public void setIsAdvancedField (boolean IsAdvancedField) + { + set_Value (COLUMNNAME_IsAdvancedField, Boolean.valueOf(IsAdvancedField)); + } + + /** Get IsAdvancedField. + @return IsAdvancedField */ + public boolean isAdvancedField () + { + Object oo = get_Value(COLUMNNAME_IsAdvancedField); + if (oo != null) + { + if (oo instanceof Boolean) + return ((Boolean)oo).booleanValue(); + return "Y".equals(oo); + } + return false; + } + /** IsAllowCopy AD_Reference_ID=319 */ public static final int ISALLOWCOPY_AD_Reference_ID=319; /** Yes = Y */ diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_PrintFormat.java b/org.adempiere.base/src/org/compiere/model/X_AD_PrintFormat.java index c8647d8b5a..342e1f6786 100644 --- a/org.adempiere.base/src/org/compiere/model/X_AD_PrintFormat.java +++ b/org.adempiere.base/src/org/compiere/model/X_AD_PrintFormat.java @@ -30,7 +30,7 @@ public class X_AD_PrintFormat extends PO implements I_AD_PrintFormat, I_Persiste /** * */ - private static final long serialVersionUID = 20130626L; + private static final long serialVersionUID = 20130801L; /** Standard Constructor */ public X_AD_PrintFormat (Properties ctx, int AD_PrintFormat_ID, String trxName) @@ -289,6 +289,34 @@ public class X_AD_PrintFormat extends PO implements I_AD_PrintFormat, I_Persiste return ii.intValue(); } + public org.compiere.model.I_AD_Window getAD_Window() throws RuntimeException + { + return (org.compiere.model.I_AD_Window)MTable.get(getCtx(), org.compiere.model.I_AD_Window.Table_Name) + .getPO(getAD_Window_ID(), get_TrxName()); } + + /** Set Window. + @param AD_Window_ID + Data entry or display window + */ + public void setAD_Window_ID (int AD_Window_ID) + { + if (AD_Window_ID < 1) + set_Value (COLUMNNAME_AD_Window_ID, null); + else + set_Value (COLUMNNAME_AD_Window_ID, Integer.valueOf(AD_Window_ID)); + } + + /** Get Window. + @return Data entry or display window + */ + public int getAD_Window_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_AD_Window_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + /** Set Args. @param Args Args */ public void setArgs (String Args) diff --git a/org.adempiere.base/src/org/compiere/model/X_AD_Role.java b/org.adempiere.base/src/org/compiere/model/X_AD_Role.java index b8d18adae1..5c7133f34a 100644 --- a/org.adempiere.base/src/org/compiere/model/X_AD_Role.java +++ b/org.adempiere.base/src/org/compiere/model/X_AD_Role.java @@ -32,7 +32,7 @@ public class X_AD_Role extends PO implements I_AD_Role, I_Persistent /** * */ - private static final long serialVersionUID = 20130626L; + private static final long serialVersionUID = 20130801L; /** Standard Constructor */ public X_AD_Role (Properties ctx, int AD_Role_ID, String trxName) @@ -555,6 +555,27 @@ public class X_AD_Role extends PO implements I_AD_Role, I_Persistent return (String)get_Value(COLUMNNAME_Description); } + /** Set IsAccessAdvanced . + @param IsAccessAdvanced IsAccessAdvanced */ + public void setIsAccessAdvanced (boolean IsAccessAdvanced) + { + set_Value (COLUMNNAME_IsAccessAdvanced, Boolean.valueOf(IsAccessAdvanced)); + } + + /** Get IsAccessAdvanced . + @return IsAccessAdvanced */ + public boolean isAccessAdvanced () + { + Object oo = get_Value(COLUMNNAME_IsAccessAdvanced); + if (oo != null) + { + if (oo instanceof Boolean) + return ((Boolean)oo).booleanValue(); + return "Y".equals(oo); + } + return false; + } + /** Set Access all Orgs. @param IsAccessAllOrgs Access all Organizations (no org access control) of the client diff --git a/org.adempiere.base/src/org/compiere/model/X_M_CostDetail.java b/org.adempiere.base/src/org/compiere/model/X_M_CostDetail.java index 2358e6921e..0452400dd5 100644 --- a/org.adempiere.base/src/org/compiere/model/X_M_CostDetail.java +++ b/org.adempiere.base/src/org/compiere/model/X_M_CostDetail.java @@ -31,7 +31,7 @@ public class X_M_CostDetail extends PO implements I_M_CostDetail, I_Persistent /** * */ - private static final long serialVersionUID = 20130626L; + private static final long serialVersionUID = 20130722L; /** Standard Constructor */ public X_M_CostDetail (Properties ctx, int M_CostDetail_ID, String trxName) @@ -520,6 +520,34 @@ public class X_M_CostDetail extends PO implements I_M_CostDetail, I_Persistent return ii.intValue(); } + public org.compiere.model.I_M_MatchInv getM_MatchInv() throws RuntimeException + { + return (org.compiere.model.I_M_MatchInv)MTable.get(getCtx(), org.compiere.model.I_M_MatchInv.Table_Name) + .getPO(getM_MatchInv_ID(), get_TrxName()); } + + /** Set Match Invoice. + @param M_MatchInv_ID + Match Shipment/Receipt to Invoice + */ + public void setM_MatchInv_ID (int M_MatchInv_ID) + { + if (M_MatchInv_ID < 1) + set_ValueNoCheck (COLUMNNAME_M_MatchInv_ID, null); + else + set_ValueNoCheck (COLUMNNAME_M_MatchInv_ID, Integer.valueOf(M_MatchInv_ID)); + } + + /** Get Match Invoice. + @return Match Shipment/Receipt to Invoice + */ + public int getM_MatchInv_ID () + { + Integer ii = (Integer)get_Value(COLUMNNAME_M_MatchInv_ID); + if (ii == null) + return 0; + return ii.intValue(); + } + public org.compiere.model.I_M_MovementLine getM_MovementLine() throws RuntimeException { return (org.compiere.model.I_M_MovementLine)MTable.get(getCtx(), org.compiere.model.I_M_MovementLine.Table_Name) diff --git a/org.adempiere.base/src/org/compiere/print/MPrintFormat.java b/org.adempiere.base/src/org/compiere/print/MPrintFormat.java index 546311b9f3..8576718045 100644 --- a/org.adempiere.base/src/org/compiere/print/MPrintFormat.java +++ b/org.adempiere.base/src/org/compiere/print/MPrintFormat.java @@ -61,7 +61,7 @@ public class MPrintFormat extends X_AD_PrintFormat /** * */ - private static final long serialVersionUID = -1378114118642378625L; + private static final long serialVersionUID = 2826550741107576964L; /** * Public Constructor. @@ -1157,21 +1157,32 @@ public class MPrintFormat extends X_AD_PrintFormat } //end vpj-cd e-evolution + /** + * @param AD_Table_ID + * @param AD_Client_ID use -1 to retrieve from all client + * @param trxName + */ + public static RowSet getAccessiblePrintFormats (int AD_Table_ID, int AD_Client_ID, String trxName) + { + return getAccessiblePrintFormats(AD_Table_ID, -1, AD_Client_ID, trxName); + } + /** * @param AD_Table_ID + * @param AD_Window_ID * @param AD_Client_ID use -1 to retrieve from all client * @param trxName */ - public static RowSet getAccessiblePrintFormats (int AD_Table_ID, int AD_Client_ID, String trxName) + public static RowSet getAccessiblePrintFormats (int AD_Table_ID, int AD_Window_ID, int AD_Client_ID, String trxName) { RowSet rowSet = null; String sql = "SELECT AD_PrintFormat_ID, Name, AD_Client_ID " + "FROM AD_PrintFormat " + "WHERE AD_Table_ID=? AND IsTableBased='Y' "; + if (AD_Window_ID > 0) + sql += "AND (AD_Window_ID=? OR AD_Window_ID IS NULL) "; if (AD_Client_ID >= 0) - { - sql = sql + " AND AD_Client_ID = ? "; - } + sql += " AND AD_Client_ID = ? "; sql = sql + "ORDER BY AD_Client_ID DESC, IsDefault DESC, Name"; // Own First // sql = MRole.getDefault().addAccessSQL ( @@ -1180,9 +1191,12 @@ public class MPrintFormat extends X_AD_PrintFormat try { pstmt = DB.prepareStatement(sql, trxName); - pstmt.setInt(1, AD_Table_ID); + int count = 1; + pstmt.setInt(count++, AD_Table_ID); + if (AD_Window_ID > 0) + pstmt.setInt(count++, AD_Window_ID); if (AD_Client_ID >= 0) - pstmt.setInt(2, AD_Client_ID); + pstmt.setInt(count++, AD_Client_ID); rowSet = pstmt.getRowSet(); } catch (SQLException e) diff --git a/org.adempiere.base/src/org/compiere/util/Env.java b/org.adempiere.base/src/org/compiere/util/Env.java index f4a4e26ee4..359fe48646 100644 --- a/org.adempiere.base/src/org/compiere/util/Env.java +++ b/org.adempiere.base/src/org/compiere/util/Env.java @@ -56,8 +56,11 @@ import org.compiere.model.I_AD_Window; import org.compiere.model.MClient; import org.compiere.model.MColumn; import org.compiere.model.MLookupCache; +import org.compiere.model.MQuery; import org.compiere.model.MRole; import org.compiere.model.MSession; +import org.compiere.model.MTable; +import org.compiere.model.MZoomCondition; import org.compiere.model.PO; import org.compiere.process.ProcessInfo; import org.compiere.process.SvrProcess; @@ -1789,6 +1792,83 @@ public final class Env return Util.isEmpty(s) ? Adempiere.ADEMPIERE_R : s; } + public static int getZoomWindowID(MQuery query) + { + int AD_Window_ID = MZoomCondition.findZoomWindow(query); + if (AD_Window_ID <= 0) + { + String TableName = query.getTableName(); + int PO_Window_ID = 0; + String sql = "SELECT AD_Window_ID, PO_Window_ID FROM AD_Table WHERE TableName=?"; + PreparedStatement pstmt = null; + ResultSet rs = null; + try + { + pstmt = DB.prepareStatement(sql, null); + pstmt.setString(1, TableName); + rs = pstmt.executeQuery(); + if (rs.next()) + { + AD_Window_ID = rs.getInt(1); + PO_Window_ID = rs.getInt(2); + } + } + catch (SQLException e) + { + log.log(Level.SEVERE, sql, e); + } + finally + { + DB.close(rs, pstmt); + rs = null; + pstmt = null; + } + // Nothing to Zoom to + if (AD_Window_ID == 0) + return AD_Window_ID; + + // PO Zoom ? + boolean isSOTrx = true; + if (PO_Window_ID != 0) + { + isSOTrx = DB.isSOTrx(TableName, query.getWhereClause(false)); + if (!isSOTrx) + AD_Window_ID = PO_Window_ID; + } + + if (log.isLoggable(Level.CONFIG)) log.config(query + " (IsSOTrx=" + isSOTrx + ")"); + } + return AD_Window_ID; + } + + public static int getZoomWindowID(int AD_Table_ID, int Record_ID) + { + int AD_Window_ID = MZoomCondition.findZoomWindowByTableId(AD_Table_ID, Record_ID); + MTable table = MTable.get(Env.getCtx(), AD_Table_ID); + if (AD_Window_ID <= 0) + { + AD_Window_ID = table.getAD_Window_ID(); + // Nothing to Zoom to + if (AD_Window_ID == 0) + return AD_Window_ID; + + // PO Zoom ? + boolean isSOTrx = true; + if (table.getPO_Window_ID() != 0) + { + String whereClause = table.getTableName() + "_ID=" + Record_ID; + isSOTrx = DB.isSOTrx(table.getTableName(), whereClause); + if (!isSOTrx) + AD_Window_ID = table.getPO_Window_ID(); + } + + if (log.isLoggable(Level.CONFIG)) log.config(table.getTableName() + " - Record_ID=" + Record_ID + " (IsSOTrx=" + isSOTrx + ")"); + } + return AD_Window_ID; + } + + + /************************************************************************** * Static Variables */ diff --git a/org.adempiere.base/src/org/compiere/util/Ini.java b/org.adempiere.base/src/org/compiere/util/Ini.java index 21b8e5ac47..94853c1817 100644 --- a/org.adempiere.base/src/org/compiere/util/Ini.java +++ b/org.adempiere.base/src/org/compiere/util/Ini.java @@ -128,9 +128,6 @@ public final class Ini implements Serializable /** Show Acct Tabs */ public static final String P_SHOW_ACCT = "ShowAcct"; private static final boolean DEFAULT_SHOW_ACCT = true; - /** Show Advanced Tabs */ - public static final String P_SHOW_ADVANCED = "ShowAdvanced"; - private static final boolean DEFAULT_SHOW_ADVANCED = true; /** Show Translation Tabs */ public static final String P_SHOW_TRL = "ShowTrl"; private static final boolean DEFAULT_SHOW_TRL = false; @@ -196,7 +193,7 @@ public final class Ini implements Serializable P_UI_LOOK, P_UI_THEME, /* P_UI_FLAT,*/ P_A_COMMIT, P_A_LOGIN, P_A_NEW, P_ADEMPIERESYS, P_LOGMIGRATIONSCRIPT, P_SHOW_ACCT, P_SHOW_TRL, - P_SHOW_ADVANCED, P_CACHE_WINDOW, + P_CACHE_WINDOW, P_CONTEXT, P_TEMP_DIR, P_ROLE, P_CLIENT, P_ORG, P_PRINTER, P_WAREHOUSE, P_TODAY, P_PRINTPREVIEW, @@ -214,7 +211,7 @@ public final class Ini implements Serializable DEFAULT_UI_LOOK, DEFAULT_UI_THEME, /* DEFAULT_UI_FLAT?"Y":"N", */ DEFAULT_A_COMMIT?"Y":"N", DEFAULT_A_LOGIN?"Y":"N", DEFAULT_A_NEW?"Y":"N", DEFAULT_ADEMPIERESYS?"Y":"N", DEFAULT_LOGMIGRATIONSCRIPT?"Y":"N", DEFAULT_SHOW_ACCT?"Y":"N", DEFAULT_SHOW_TRL?"Y":"N", - DEFAULT_SHOW_ADVANCED?"Y":"N", DEFAULT_CACHE_WINDOW?"Y":"N", + DEFAULT_CACHE_WINDOW?"Y":"N", DEFAULT_CONTEXT, DEFAULT_TEMP_DIR, DEFAULT_ROLE, DEFAULT_CLIENT, DEFAULT_ORG, DEFAULT_PRINTER, DEFAULT_WAREHOUSE, DEFAULT_TODAY.toString(), DEFAULT_PRINTPREVIEW?"Y":"N", diff --git a/org.adempiere.base/src/org/compiere/util/Login.java b/org.adempiere.base/src/org/compiere/util/Login.java index 5f3b935b8e..9fe8fd4a40 100644 --- a/org.adempiere.base/src/org/compiere/util/Login.java +++ b/org.adempiere.base/src/org/compiere/util/Login.java @@ -838,7 +838,7 @@ public class Login else Env.setContext(m_ctx, "#ShowAcct", "N"); Env.setContext(m_ctx, "#ShowTrl", Ini.getProperty(Ini.P_SHOW_TRL)); - Env.setContext(m_ctx, "#ShowAdvanced", Ini.getProperty(Ini.P_SHOW_ADVANCED)); + Env.setContext(m_ctx, "#ShowAdvanced", MRole.getDefault().isAccessAdvanced()); String retValue = ""; int AD_Client_ID = Env.getContextAsInt(m_ctx, "#AD_Client_ID"); diff --git a/org.adempiere.base/src/org/idempiere/broadcast/BroadcastMsgUtil.java b/org.adempiere.base/src/org/idempiere/broadcast/BroadcastMsgUtil.java index b9b9e86d0b..ed261907fa 100644 --- a/org.adempiere.base/src/org/idempiere/broadcast/BroadcastMsgUtil.java +++ b/org.adempiere.base/src/org/idempiere/broadcast/BroadcastMsgUtil.java @@ -27,6 +27,7 @@ import org.adempiere.exceptions.DBException; import org.adempiere.model.MBroadcastMessage; import org.compiere.Adempiere; import org.compiere.model.MNote; +import org.compiere.model.MUser; import org.compiere.util.CLogger; import org.compiere.util.DB; import org.compiere.util.Env; @@ -61,20 +62,24 @@ public class BroadcastMsgUtil // get list of users based on rule if (mbMessage.getTarget() != null) { String sql = "SELECT DISTINCT(AD_User_ID) FROM AD_User_Roles WHERE IsActive='Y'"; - // Role if (mbMessage.getTarget().equals(MBroadcastMessage.TARGET_Role)) { sql += " AND AD_Role_ID=" + mbMessage.getAD_Role_ID(); } else if (mbMessage.getTarget().equals(MBroadcastMessage.TARGET_User)) { sql += " AND AD_User_ID=" + mbMessage.getAD_User_ID(); } else if (mbMessage.getTarget().equals(MBroadcastMessage.TARGET_Client)) { - sql += " AND ad_client_id = " + mbMessage.getNotification_Client_ID(); - } + sql += " AND AD_Client_ID = " + Env.getAD_Client_ID(Env.getCtx()); + } // else Everybody doesn't need additional filtering int[] userIDs = DB.getIDsEx(null, sql); for (int userID : userIDs) { + MUser user = MUser.get(Env.getCtx(), userID); + if (! user.isActive()) + continue; MNote note = new MNote(Env.getCtx(), 0, trxName); + if (MBroadcastMessage.TARGET_Everybody.equals(mbMessage.getTarget())) + note.setClientOrg(user.getAD_Client_ID(), 0); note.setAD_BroadcastMessage_ID(messageID); note.setAD_User_ID(userID); note.setAD_Message_ID(0); @@ -147,13 +152,17 @@ public class BroadcastMsgUtil * @param messageWindow */ public static void showPendingMessage(int AD_User_ID, IBroadcastMsgPopup messageWindow) { - String sql = "SELECT bm.AD_BroadcastMessage_ID " - + " FROM AD_Note n INNER JOIN AD_BroadcastMessage bm ON (bm.AD_BroadcastMessage_ID=n.AD_BroadcastMessage_ID) " - + " WHERE n.AD_User_ID=?" - + " AND n.AD_Client_ID=?" - + " AND (bm.BroadcastType='IL' OR bm.BroadcastType='L') " - + " AND bm.isPublished='Y' AND n.processed = 'N'" - + " AND ((bm.BroadcastFrequency='U' AND bm.Expired='N' AND (bm.expiration IS NULL OR bm.expiration > SYSDATE)) OR bm.BroadcastFrequency='J')"; + String sql = "" + + "SELECT bm.AD_BroadcastMessage_ID " + + "FROM AD_Note n " + + " INNER JOIN AD_BroadcastMessage bm " + + " ON ( bm.AD_BroadcastMessage_ID = n.AD_BroadcastMessage_ID ) " + + "WHERE n.AD_User_ID = ? " + + " AND n.AD_Client_ID = ? " + + " AND ( bm.BroadcastType = 'IL' OR bm.BroadcastType = 'L' ) " + + " AND bm.isPublished = 'Y' " + + " AND ( n.Processed = 'N' OR ( n.Processed = 'Y' AND bm.BroadcastFrequency = 'E' ) ) " + + " AND ( bm.Expired = 'N' AND ( bm.Expiration IS NULL OR bm.Expiration > SYSDATE ) ) "; ArrayList mbMessages = new ArrayList(); PreparedStatement pstmt = null; diff --git a/org.adempiere.base/src/org/idempiere/db/util/AutoCommitConnectionBroker.java b/org.adempiere.base/src/org/idempiere/db/util/AutoCommitConnectionBroker.java index a8243e9471..1041e34dd1 100644 --- a/org.adempiere.base/src/org/idempiere/db/util/AutoCommitConnectionBroker.java +++ b/org.adempiere.base/src/org/idempiere/db/util/AutoCommitConnectionBroker.java @@ -38,15 +38,17 @@ public class AutoCommitConnectionBroker { */ public static Connection getConnection() { ConnectionReference connReference = threadLocalConnection.get(); - if (connReference != null) { - connReference.referenceCount++; - return connReference.connection; - } else { - Connection connection = DB.createConnection(true, false, Connection.TRANSACTION_READ_COMMITTED); - connReference = new ConnectionReference(connection); - threadLocalConnection.set(connReference); - return connection; - } + try { + if (connReference != null && !connReference.connection.isClosed()) { + connReference.referenceCount++; + return connReference.connection; + } + } catch (SQLException e) {} + + Connection connection = DB.createConnection(true, false, Connection.TRANSACTION_READ_COMMITTED); + connReference = new ConnectionReference(connection); + threadLocalConnection.set(connReference); + return connection; } /** diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/AdElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/AdElementHandler.java index efed2fe277..ea0aed24a0 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/AdElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/AdElementHandler.java @@ -78,7 +78,6 @@ public class AdElementHandler extends AbstractElementHandler { element.unresolved = notfounds.toString(); return; } - if (mElement.is_new() || mElement.is_Changed()) { X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_Element.Table_Name, X_AD_Element.Table_ID); if (!mElement.is_new()) { @@ -92,8 +91,6 @@ public class AdElementHandler extends AbstractElementHandler { logImportDetail(ctx, impDetail, 1, mElement.getName(), mElement.get_ID(), action); - element.recordId = mElement.getAD_Element_ID(); - processedElements.add(mElement.getAD_Element_ID()); } else { @@ -102,6 +99,7 @@ public class AdElementHandler extends AbstractElementHandler { throw new POSaveFailedException("Failed to save Element " + mElement.getName()); } } + element.recordId = mElement.getAD_Element_ID(); } else { element.skip = true; } @@ -116,14 +114,10 @@ public class AdElementHandler extends AbstractElementHandler { int adElement_id = Env.getContextAsInt(ctx.ctx, X_AD_Element.COLUMNNAME_AD_Element_ID); - - if (processedElements.contains(adElement_id)) + if (ctx.packOut.isExported(X_AD_Element.COLUMNNAME_AD_Element_ID+"|"+adElement_id)) return; - processedElements.add(adElement_id); - X_AD_Element mAdElement = new X_AD_Element(ctx.ctx, adElement_id, null); - if (ctx.packOut.getFromDate() != null) { if (mAdElement.getUpdated().compareTo(ctx.packOut.getFromDate()) < 0) { return; @@ -136,11 +130,10 @@ public class AdElementHandler extends AbstractElementHandler { createAdElementBinding(ctx, document, mAdElement); PackOut packOut = ctx.packOut; - try{ + packOut.getCtx().ctx.put("Table_Name",X_AD_Element.Table_Name); + try { new CommonTranslationHandler().packOut(packOut,document,null,mAdElement.get_ID()); - } - catch(Exception e) - { + } catch(Exception e) { if (log.isLoggable(Level.INFO)) log.info(e.toString()); } diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/AttachmentElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/AttachmentElementHandler.java index b0bddf7e79..7573a5cedd 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/AttachmentElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/AttachmentElementHandler.java @@ -36,7 +36,6 @@ import org.compiere.model.X_AD_AttachmentNote; import org.compiere.model.X_AD_Package_Imp_Detail; import org.compiere.util.DB; import org.compiere.util.Env; - import org.xml.sax.SAXException; import org.xml.sax.helpers.AttributesImpl; @@ -127,12 +126,9 @@ public class AttachmentElementHandler extends AbstractElementHandler { int AD_Attachment_ID = Env.getContextAsInt(ctx.ctx, "AD_Attachment_ID"); - - if (attachments.contains(AD_Attachment_ID)) + if (ctx.packOut.isExported("AD_Attachment_ID"+"|"+AD_Attachment_ID)) return; - attachments.add(AD_Attachment_ID); - MAttachment mAttachment = new MAttachment(ctx.ctx, AD_Attachment_ID, getTrxName(ctx)); if (ctx.packOut.getFromDate() != null) { diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ColumnElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ColumnElementHandler.java index 80828f2952..b309a99e12 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ColumnElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ColumnElementHandler.java @@ -26,10 +26,10 @@ import java.util.logging.Level; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.exception.DatabaseAccessException; import org.adempiere.pipo2.exception.POSaveFailedException; @@ -297,6 +297,9 @@ public class ColumnElementHandler extends AbstractElementHandler { throws SAXException { int AD_Column_ID = Env.getContextAsInt(ctx.ctx, X_AD_Column.COLUMNNAME_AD_Column_ID); + if (ctx.packOut.isExported(X_AD_Column.COLUMNNAME_AD_Column_ID+"|"+AD_Column_ID)) + return; + AttributesImpl atts = new AttributesImpl(); X_AD_Column m_Column = new X_AD_Column(ctx.ctx, AD_Column_ID, getTrxName(ctx)); diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/CommonTranslationHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/CommonTranslationHandler.java index 742568d0dc..07daff48fb 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/CommonTranslationHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/CommonTranslationHandler.java @@ -11,18 +11,17 @@ import javax.xml.transform.sax.TransformerHandler; import org.adempiere.exceptions.DBException; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; import org.adempiere.pipo2.ElementHandler; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; +import org.compiere.model.MTable; import org.compiere.util.DB; import org.compiere.util.Env; import org.xml.sax.SAXException; import org.xml.sax.helpers.AttributesImpl; -import org.compiere.model.X_AD_Element; - public class CommonTranslationHandler extends AbstractElementHandler implements ElementHandler { public static final String CONTEXT_KEY_PARENT_TABLE = "currentParentTableForTranslation"; @@ -288,10 +287,18 @@ public class CommonTranslationHandler extends AbstractElementHandler implements return str.substring(1, str.length()-1); } + private boolean existTranslated(String Name) + { + if (MTable.getTable_ID(Name+"_Trl")>0) + return true; + else + return false; + } + public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler,int recordId) throws Exception { - if("true".equals(packout.getCtx().ctx.getProperty("isHandleTranslations"))){ - Env.setContext(packout.getCtx().ctx, CommonTranslationHandler.CONTEXT_KEY_PARENT_TABLE,X_AD_Element.Table_Name); + if("Y".equals(packout.getCtx().ctx.getProperty("isHandleTranslations")) && existTranslated(packout.getCtx().ctx.getProperty("Table_Name"))){ + Env.setContext(packout.getCtx().ctx, CommonTranslationHandler.CONTEXT_KEY_PARENT_TABLE,packout.getCtx().ctx.getProperty("Table_Name")); Env.setContext(packout.getCtx().ctx, CommonTranslationHandler.CONTEXT_KEY_PARENT_RECORD_ID,recordId); this.create(packout.getCtx(), packoutHandler); packout.getCtx().ctx.remove(CommonTranslationHandler.CONTEXT_KEY_PARENT_TABLE); diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/DynValRuleElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/DynValRuleElementHandler.java index d18ee1bf5c..83a1f81b87 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/DynValRuleElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/DynValRuleElementHandler.java @@ -16,16 +16,15 @@ *****************************************************************************/ package org.adempiere.pipo2.handler; -import java.util.ArrayList; import java.util.List; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.exception.POSaveFailedException; import org.compiere.model.I_AD_Val_Rule; @@ -38,8 +37,6 @@ import org.xml.sax.helpers.AttributesImpl; public class DynValRuleElementHandler extends AbstractElementHandler { - private List rules = new ArrayList(); - public void startElement(PIPOContext ctx, Element element) throws SAXException { String entitytype = getStringValue(element, "EntityType"); if (isProcessElement(ctx.ctx, entitytype)) { @@ -99,9 +96,8 @@ public class DynValRuleElementHandler extends AbstractElementHandler { protected void create(PIPOContext ctx, TransformerHandler document) throws SAXException { int AD_Val_Rule_ID = Env.getContextAsInt(ctx.ctx, X_AD_Package_Exp_Detail.COLUMNNAME_AD_Val_Rule_ID); - if (rules.contains(AD_Val_Rule_ID)) + if (ctx.packOut.isExported(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Val_Rule_ID+"|"+AD_Val_Rule_ID)) return; - rules.add(AD_Val_Rule_ID); X_AD_Val_Rule m_ValRule = new X_AD_Val_Rule (ctx.ctx, AD_Val_Rule_ID, null); if (ctx.packOut.getFromDate() != null) { diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/EntityTypeElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/EntityTypeElementHandler.java index 0574b272c3..b5948c5b4d 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/EntityTypeElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/EntityTypeElementHandler.java @@ -120,12 +120,9 @@ public class EntityTypeElementHandler extends AbstractElementHandler{ public void create(PIPOContext ctx, TransformerHandler document) throws SAXException { int AD_ElementType_ID = Env.getContextAsInt(ctx.ctx, X_AD_EntityType.COLUMNNAME_AD_EntityType_ID); - - if(entityTypes.contains(AD_ElementType_ID)) + if (ctx.packOut.isExported(X_AD_EntityType.COLUMNNAME_AD_EntityType_ID+"|"+AD_ElementType_ID)) return; - entityTypes.add(AD_ElementType_ID); - - + PackOut packOut = ctx.packOut; boolean createElement = true; diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/FieldElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/FieldElementHandler.java index 32eb62667e..d189a205a4 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/FieldElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/FieldElementHandler.java @@ -17,15 +17,16 @@ package org.adempiere.pipo2.handler; import java.util.List; +import java.util.logging.Level; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; +import org.adempiere.pipo2.Element; import org.adempiere.pipo2.ElementHandler; import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; -import org.adempiere.pipo2.Element; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.ReferenceUtils; import org.adempiere.pipo2.exception.POSaveFailedException; @@ -134,7 +135,7 @@ public class FieldElementHandler extends AbstractElementHandler { element.unresolved = notfounds.toString(); return; } - + element.recordId = mField.getAD_Field_ID(); if (mField.is_new() || mField.is_Changed()) { X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_Field.Table_Name, X_AD_Field.Table_ID); @@ -169,10 +170,12 @@ public class FieldElementHandler extends AbstractElementHandler { throws SAXException { int AD_Field_ID = Env.getContextAsInt(ctx.ctx, X_AD_Field.COLUMNNAME_AD_Field_ID); + if (ctx.packOut.isExported(X_AD_Field.COLUMNNAME_AD_Field_ID+"|"+AD_Field_ID)) + return; + X_AD_Field m_Field = new X_AD_Field(ctx.ctx, AD_Field_ID, null); PackOut packOut = ctx.packOut; - try { if(m_Field.getAD_FieldGroup_ID() > 0) @@ -202,6 +205,13 @@ public class FieldElementHandler extends AbstractElementHandler { addTypeName(atts, "table"); document.startElement("", "", X_AD_Field.Table_Name, atts); createFieldBinding(ctx, document, m_Field); + packOut.getCtx().ctx.put("Table_Name",X_AD_Field.Table_Name); + try { + new CommonTranslationHandler().packOut(packOut,document,null,m_Field.get_ID()); + } catch(Exception e) { + if (log.isLoggable(Level.INFO)) log.info(e.toString()); + } + document.endElement("", "", X_AD_Field.Table_Name); } diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/FieldGroupElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/FieldGroupElementHandler.java index 4eb06680d0..5ff20bcb03 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/FieldGroupElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/FieldGroupElementHandler.java @@ -83,6 +83,8 @@ public class FieldGroupElementHandler extends AbstractElementHandler { return; } + element.recordId = fieldGroup.getAD_FieldGroup_ID(); + if (fieldGroup.is_new() || fieldGroup.is_Changed()) { X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_FieldGroup.Table_Name, X_AD_FieldGroup.Table_ID); @@ -96,10 +98,8 @@ public class FieldGroupElementHandler extends AbstractElementHandler { if (fieldGroup.save(getTrxName(ctx)) == true) { logImportDetail(ctx, impDetail, 1, fieldGroup.getName(), fieldGroup.get_ID(), action); - - element.recordId = fieldGroup.getAD_FieldGroup_ID(); - processedFieldGroups.add(fieldGroup.getAD_FieldGroup_ID()); + element.recordId = fieldGroup.getAD_FieldGroup_ID(); } else { logImportDetail(ctx, impDetail, 0, fieldGroup.getName(), @@ -121,12 +121,9 @@ public class FieldGroupElementHandler extends AbstractElementHandler { int fieldGroup_id = Env.getContextAsInt(ctx.ctx, X_AD_FieldGroup.COLUMNNAME_AD_FieldGroup_ID); - - if (processedFieldGroups.contains(fieldGroup_id)) + if (ctx.packOut.isExported(X_AD_FieldGroup.COLUMNNAME_AD_FieldGroup_ID+"|"+fieldGroup_id)) return; - processedFieldGroups.add(fieldGroup_id); - X_AD_FieldGroup fieldGroup = new X_AD_FieldGroup(ctx.ctx, fieldGroup_id, null); if (ctx.packOut.getFromDate() != null) { @@ -138,16 +135,13 @@ public class FieldGroupElementHandler extends AbstractElementHandler { AttributesImpl atts = new AttributesImpl(); addTypeName(atts, "table"); document.startElement("", "", I_AD_FieldGroup.Table_Name, atts); - createAdElementBinding(ctx, document, fieldGroup); PackOut packOut = ctx.packOut; - - try{ + packOut.getCtx().ctx.put("Table_Name",X_AD_FieldGroup.Table_Name); + try { new CommonTranslationHandler().packOut(packOut,document,null,fieldGroup.get_ID()); - } - catch(Exception e) - { + } catch(Exception e) { if (log.isLoggable(Level.INFO)) log.info(e.toString()); } document.endElement("", "", I_AD_FieldGroup.Table_Name); @@ -169,7 +163,6 @@ public class FieldGroupElementHandler extends AbstractElementHandler { public void packOut(PackOut packout, TransformerHandler packoutHandler, TransformerHandler docHandler,int recordId) throws Exception { Env.setContext(packout.getCtx().ctx, X_AD_FieldGroup.COLUMNNAME_AD_FieldGroup_ID, recordId); - this.create(packout.getCtx(), packoutHandler); packout.getCtx().ctx.remove(X_AD_FieldGroup.COLUMNNAME_AD_FieldGroup_ID); } diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/FormElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/FormElementHandler.java index 0cf625922f..124aedb61a 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/FormElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/FormElementHandler.java @@ -17,16 +17,16 @@ package org.adempiere.pipo2.handler; -import java.util.ArrayList; import java.util.List; +import java.util.logging.Level; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.exception.POSaveFailedException; import org.compiere.model.I_AD_Form; @@ -40,8 +40,6 @@ import org.xml.sax.helpers.AttributesImpl; public class FormElementHandler extends AbstractElementHandler { - private List forms = new ArrayList(); - public void startElement(PIPOContext ctx, Element element) throws SAXException { List excludes = defaultExcludeList(X_AD_Form.Table_Name); @@ -69,7 +67,7 @@ public class FormElementHandler extends AbstractElementHandler { element.unresolved = notfounds.toString(); return; } - + element.recordId = mForm.get_ID(); if (mForm.is_new() || mForm.is_Changed()) { X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_Form.Table_Name, X_AD_Form.Table_ID); @@ -84,6 +82,7 @@ public class FormElementHandler extends AbstractElementHandler { if (mForm.save(getTrxName(ctx)) == true){ logImportDetail (ctx, impDetail, 1, mForm.getName(), mForm.get_ID(), action); + element.recordId = mForm.get_ID(); } else{ logImportDetail (ctx, impDetail, 0, mForm.getName(), mForm.get_ID(), action); @@ -101,9 +100,9 @@ public class FormElementHandler extends AbstractElementHandler { protected void create(PIPOContext ctx, TransformerHandler document) throws SAXException { int AD_Form_ID = Env.getContextAsInt(ctx.ctx, "AD_Form_ID"); - if (forms.contains(AD_Form_ID)) return; + if (ctx.packOut.isExported("AD_Form_ID"+"|"+AD_Form_ID)) + return; - forms.add(AD_Form_ID); X_AD_Form m_Form = new X_AD_Form (ctx.ctx, AD_Form_ID, null); if (ctx.packOut.getFromDate() != null) { @@ -116,6 +115,15 @@ public class FormElementHandler extends AbstractElementHandler { addTypeName(atts, "table"); document.startElement("","",I_AD_Form.Table_Name,atts); createFormBinding(ctx, document, m_Form); + + PackOut packOut = ctx.packOut; + packOut.getCtx().ctx.put("Table_Name",X_AD_Form.Table_Name); + try { + new CommonTranslationHandler().packOut(packOut,document,null,m_Form.get_ID()); + } catch(Exception e) { + if (log.isLoggable(Level.INFO)) log.info(e.toString()); + } + document.endElement("","",I_AD_Form.Table_Name); } diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ImpFormatElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ImpFormatElementHandler.java index dda587d4d3..de0c29c69a 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ImpFormatElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ImpFormatElementHandler.java @@ -18,17 +18,16 @@ package org.adempiere.pipo2.handler; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.exception.DatabaseAccessException; import org.adempiere.pipo2.exception.POSaveFailedException; @@ -46,8 +45,6 @@ public class ImpFormatElementHandler extends AbstractElementHandler { private ImpFormatRowElementHandler rowHandler = new ImpFormatRowElementHandler(); - private List formats = new ArrayList(); - public void startElement(PIPOContext ctx, Element element) throws SAXException { @@ -105,10 +102,9 @@ public class ImpFormatElementHandler extends AbstractElementHandler { throws SAXException { int import_id = Env.getContextAsInt(ctx.ctx, X_AD_Package_Exp_Detail.COLUMNNAME_AD_ImpFormat_ID); - - if (formats.contains(import_id)) + if (ctx.packOut.isExported(X_AD_Package_Exp_Detail.COLUMNNAME_AD_ImpFormat_ID+"|"+import_id)) return; - formats.add(import_id); + AttributesImpl atts = new AttributesImpl(); X_AD_ImpFormat m_ImpFormat = new X_AD_ImpFormat(ctx.ctx, import_id, null); diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ImpFormatRowElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ImpFormatRowElementHandler.java index 653fed9b37..2a8f5c1045 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ImpFormatRowElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ImpFormatRowElementHandler.java @@ -21,10 +21,10 @@ import java.util.List; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.ReferenceUtils; import org.adempiere.pipo2.exception.POSaveFailedException; @@ -151,6 +151,9 @@ public class ImpFormatRowElementHandler extends AbstractElementHandler { public void create(PIPOContext ctx, TransformerHandler document) throws SAXException { int AD_ImpFormat_Row_ID = Env.getContextAsInt(ctx.ctx, X_AD_ImpFormat_Row.COLUMNNAME_AD_ImpFormat_Row_ID); + if (ctx.packOut.isExported(X_AD_ImpFormat_Row.COLUMNNAME_AD_ImpFormat_Row_ID+"|"+AD_ImpFormat_Row_ID)) + return; + X_AD_ImpFormat_Row m_ImpFormat_Row = new X_AD_ImpFormat_Row (ctx.ctx, AD_ImpFormat_Row_ID, getTrxName(ctx)); if (ctx.packOut.getFromDate() != null) { diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/MenuElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/MenuElementHandler.java index b451809644..50560f026e 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/MenuElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/MenuElementHandler.java @@ -79,7 +79,7 @@ public class MenuElementHandler extends AbstractElementHandler { element.unresolved = notFounds.toString(); return; } - + element.recordId = mMenu.get_ID(); if (!mMenu.is_new() && !mMenu.is_Changed()) return; @@ -96,6 +96,7 @@ public class MenuElementHandler extends AbstractElementHandler { try { logImportDetail(ctx, impDetail, 1, mMenu.getName(), mMenu .get_ID(), action); + element.recordId = mMenu.get_ID(); } catch (SAXException e) { if (log.isLoggable(Level.INFO)) log.info("setmenu:" + e); } @@ -203,6 +204,8 @@ public class MenuElementHandler extends AbstractElementHandler { public void create(PIPOContext ctx, TransformerHandler document) throws SAXException { int AD_Menu_ID = Env.getContextAsInt(ctx.ctx, "AD_Menu_ID"); + if (ctx.packOut.isExported("AD_Menu_ID"+"|"+AD_Menu_ID)) + return; X_AD_Menu m_Menu = new X_AD_Menu(ctx.ctx, AD_Menu_ID, null); if (m_Menu.isSummary() == false) { createApplication(ctx, document, AD_Menu_ID); @@ -211,6 +214,15 @@ public class MenuElementHandler extends AbstractElementHandler { addTypeName(atts, "table"); document.startElement("", "", I_AD_Menu.Table_Name, atts); createMenuBinding(ctx, document, m_Menu); + + PackOut packOut = ctx.packOut; + packOut.getCtx().ctx.put("Table_Name",X_AD_Menu.Table_Name); + try { + new CommonTranslationHandler().packOut(packOut,document,null,m_Menu.get_ID()); + } catch(Exception e) { + if (log.isLoggable(Level.INFO)) log.info(e.toString()); + } + createModule(ctx, document, AD_Menu_ID); document.endElement("", "", I_AD_Menu.Table_Name); } @@ -260,6 +272,14 @@ public class MenuElementHandler extends AbstractElementHandler { addTypeName(atts, "table"); document.startElement("", "", I_AD_Menu.Table_Name, atts); createMenuBinding(ctx, document, m_Menu); + + packOut.getCtx().ctx.put("Table_Name",X_AD_Menu.Table_Name); + try { + new CommonTranslationHandler().packOut(packOut,document,null,m_Menu.get_ID()); + } catch(Exception e) { + if (log.isLoggable(Level.INFO)) log.info(e.toString()); + } + if (rs.getInt("AD_WINDOW_ID") > 0 || rs.getInt("AD_WORKFLOW_ID") > 0 || rs.getInt("AD_TASK_ID") > 0 diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/MessageElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/MessageElementHandler.java index 6250e729a2..c08904babe 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/MessageElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/MessageElementHandler.java @@ -18,6 +18,7 @@ package org.adempiere.pipo2.handler; import java.util.ArrayList; import java.util.List; +import java.util.logging.Level; import javax.xml.transform.sax.TransformerHandler; @@ -55,6 +56,11 @@ public class MessageElementHandler extends AbstractElementHandler { } PoFiller filler = new PoFiller(ctx, mMessage, element, this); List excludes = defaultExcludeList(X_AD_Message.Table_Name); + + if (messages.contains(mMessage.getAD_Message_ID())) { + element.skip = true; + return; + } List notfounds = filler.autoFill(excludes); if (notfounds.size() > 0) { @@ -62,7 +68,7 @@ public class MessageElementHandler extends AbstractElementHandler { element.unresolved = notfounds.toString(); return; } - + element.recordId = mMessage.getAD_Message_ID(); if (mMessage.is_new() || mMessage.is_Changed()) { X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_Message.Table_Name, X_AD_Message.Table_ID); @@ -79,6 +85,8 @@ public class MessageElementHandler extends AbstractElementHandler { } if (mMessage.save(getTrxName(ctx)) == true){ logImportDetail (ctx, impDetail, 1, mMessage.getValue(), mMessage.get_ID(),action); + messages.add(mMessage.getAD_Message_ID()); + element.recordId = mMessage.getAD_Message_ID(); } else{ logImportDetail (ctx, impDetail, 0, mMessage.getValue(), mMessage.get_ID(),action); @@ -97,12 +105,11 @@ public class MessageElementHandler extends AbstractElementHandler { public void create(PIPOContext ctx, TransformerHandler document) throws SAXException { int AD_Message_ID = Env.getContextAsInt(ctx.ctx, X_AD_Package_Exp_Detail.COLUMNNAME_AD_Message_ID); - if (messages.contains(AD_Message_ID)) + if (ctx.packOut.isExported(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Message_ID+"|"+AD_Message_ID)) return; - messages.add(AD_Message_ID); + AttributesImpl atts = new AttributesImpl(); X_AD_Message m_Message = new X_AD_Message (ctx.ctx, AD_Message_ID, null); - if (ctx.packOut.getFromDate() != null) { if (m_Message.getUpdated().compareTo(ctx.packOut.getFromDate()) < 0) { return; @@ -112,6 +119,15 @@ public class MessageElementHandler extends AbstractElementHandler { addTypeName(atts, "table"); document.startElement("","",I_AD_Message.Table_Name,atts); createMessageBinding(ctx,document,m_Message); + + PackOut packOut = ctx.packOut; + packOut.getCtx().ctx.put("Table_Name",X_AD_Message.Table_Name); + try { + new CommonTranslationHandler().packOut(packOut,document,null,m_Message.get_ID()); + } catch(Exception e) { + if (log.isLoggable(Level.INFO)) log.info(e.toString()); + } + document.endElement("","",I_AD_Message.Table_Name); } diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ModelValidatorElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ModelValidatorElementHandler.java index b3c06d2cec..6e93947853 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ModelValidatorElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ModelValidatorElementHandler.java @@ -99,12 +99,9 @@ public class ModelValidatorElementHandler extends AbstractElementHandler{ public void create(PIPOContext ctx, TransformerHandler document) throws SAXException { int ad_modelvalidator_id = Env.getContextAsInt(ctx.ctx, X_AD_ModelValidator.COLUMNNAME_AD_ModelValidator_ID); - - if (validators.contains(ad_modelvalidator_id)) + if (ctx.packOut.isExported(X_AD_ModelValidator.COLUMNNAME_AD_ModelValidator_ID+"|"+ad_modelvalidator_id)) return; - - validators.add(ad_modelvalidator_id); - + X_AD_ModelValidator validator = new X_AD_ModelValidator(ctx.ctx, ad_modelvalidator_id, null); if (ctx.packOut.getFromDate() != null) { diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ModificationElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ModificationElementHandler.java index 0a0e655921..8c349bae00 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ModificationElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ModificationElementHandler.java @@ -112,12 +112,9 @@ public class ModificationElementHandler extends AbstractElementHandler{ public void create(PIPOContext ctx, TransformerHandler document) throws SAXException { int ad_modification_id = Env.getContextAsInt(ctx.ctx, X_AD_Modification.COLUMNNAME_AD_Modification_ID); - - if (modifications.contains(ad_modification_id)) + if (ctx.packOut.isExported(X_AD_Modification.COLUMNNAME_AD_Modification_ID+"|"+ad_modification_id)) return; - - modifications.add(ad_modification_id); - + X_AD_Modification modification = new X_AD_Modification(ctx.ctx, ad_modification_id, null); if (ctx.packOut.getFromDate() != null) { diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PreferenceElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PreferenceElementHandler.java index 296935d75f..02c81b75cc 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PreferenceElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PreferenceElementHandler.java @@ -21,10 +21,10 @@ import java.util.List; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.exception.POSaveFailedException; import org.compiere.model.I_AD_Preference; @@ -109,6 +109,9 @@ public class PreferenceElementHandler extends AbstractElementHandler { throws SAXException { int AD_Preference_ID = Env.getContextAsInt(ctx.ctx, X_AD_Preference.COLUMNNAME_AD_Preference_ID); + if (ctx.packOut.isExported(X_AD_Preference.COLUMNNAME_AD_Preference_ID+"|"+AD_Preference_ID)) + return; + X_AD_Preference m_Preference = new X_AD_Preference(ctx.ctx, AD_Preference_ID, getTrxName(ctx)); diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PrintFormatElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PrintFormatElementHandler.java index 529f48173d..dc4d362432 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PrintFormatElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PrintFormatElementHandler.java @@ -19,17 +19,16 @@ package org.adempiere.pipo2.handler; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.ArrayList; import java.util.List; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.exceptions.DBException; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.exception.POSaveFailedException; import org.compiere.model.I_AD_PrintFormat; @@ -48,8 +47,6 @@ import org.xml.sax.helpers.AttributesImpl; public class PrintFormatElementHandler extends AbstractElementHandler { - private List formats = new ArrayList(); - public void startElement(PIPOContext ctx, Element element) throws SAXException { @@ -103,10 +100,9 @@ public class PrintFormatElementHandler extends AbstractElementHandler { throws SAXException { int AD_PrintFormat_ID = Env.getContextAsInt(ctx.ctx, X_AD_Package_Exp_Detail.COLUMNNAME_AD_PrintFormat_ID); - - if (formats.contains(AD_PrintFormat_ID)) + if (ctx.packOut.isExported(X_AD_Package_Exp_Detail.COLUMNNAME_AD_PrintFormat_ID+"|"+AD_PrintFormat_ID)) return; - formats.add(AD_PrintFormat_ID); + AttributesImpl atts = new AttributesImpl(); MPrintFormat m_Printformat = new MPrintFormat(ctx.ctx, AD_PrintFormat_ID, null); diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PrintFormatItemElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PrintFormatItemElementHandler.java index b0c14ca96d..013e769bb2 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PrintFormatItemElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PrintFormatItemElementHandler.java @@ -18,14 +18,15 @@ package org.adempiere.pipo2.handler; import java.util.List; +import java.util.logging.Level; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.ReferenceUtils; import org.adempiere.pipo2.exception.POSaveFailedException; @@ -113,6 +114,7 @@ public class PrintFormatItemElementHandler extends AbstractElementHandler { return; } + element.recordId = mPrintFormatItem.get_ID(); if (mPrintFormatItem.is_new() || mPrintFormatItem.is_Changed()) { X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_PrintFormatItem.Table_Name, X_AD_PrintFormatItem.Table_ID); @@ -126,6 +128,7 @@ public class PrintFormatItemElementHandler extends AbstractElementHandler { if (mPrintFormatItem.save(getTrxName(ctx)) == true) { logImportDetail(ctx, impDetail, 1, mPrintFormatItem.getName(), mPrintFormatItem.get_ID(), action); + element.recordId = mPrintFormatItem.get_ID(); } else { logImportDetail(ctx, impDetail, 0, mPrintFormatItem.getName(), mPrintFormatItem.get_ID(), action); @@ -141,6 +144,9 @@ public class PrintFormatItemElementHandler extends AbstractElementHandler { throws SAXException { int AD_PrintFormatItem_ID = Env.getContextAsInt(ctx.ctx, X_AD_PrintFormatItem.COLUMNNAME_AD_PrintFormatItem_ID); + if (ctx.packOut.isExported(X_AD_PrintFormatItem.COLUMNNAME_AD_PrintFormatItem_ID+"|"+AD_PrintFormatItem_ID)) + return; + X_AD_PrintFormatItem m_PrintFormatItem = new X_AD_PrintFormatItem(ctx.ctx, AD_PrintFormatItem_ID, null); @@ -150,10 +156,19 @@ public class PrintFormatItemElementHandler extends AbstractElementHandler { } } + PackOut packOut = ctx.packOut; AttributesImpl atts = new AttributesImpl(); addTypeName(atts, "table"); document.startElement("", "", I_AD_PrintFormatItem.Table_Name, atts); createPrintFormatItemBinding(ctx, document, m_PrintFormatItem); + + packOut.getCtx().ctx.put("Table_Name",I_AD_PrintFormatItem.Table_Name); + try { + new CommonTranslationHandler().packOut(packOut,document,null,m_PrintFormatItem.get_ID()); + } catch(Exception e) { + if (log.isLoggable(Level.INFO)) log.info(e.toString()); + } + document.endElement("", "", I_AD_PrintFormatItem.Table_Name); } diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PrintPaperElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PrintPaperElementHandler.java index c2a55c6049..43f169037c 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PrintPaperElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/PrintPaperElementHandler.java @@ -22,10 +22,10 @@ import java.util.List; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.exception.POSaveFailedException; import org.compiere.model.I_AD_PrintPaper; @@ -92,6 +92,9 @@ public class PrintPaperElementHandler extends AbstractElementHandler { throws SAXException { int AD_PrintPaper_ID = Env.getContextAsInt(ctx.ctx, X_AD_PrintPaper.COLUMNNAME_AD_PrintPaper_ID); + if (ctx.packOut.isExported(X_AD_PrintPaper.COLUMNNAME_AD_PrintPaper_ID+"|"+AD_PrintPaper_ID)) + return; + X_AD_PrintPaper printPaper = new X_AD_PrintPaper(ctx.ctx, AD_PrintPaper_ID, null); diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ProcessElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ProcessElementHandler.java index a8c3aa38b4..cd56c3b26e 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ProcessElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ProcessElementHandler.java @@ -16,8 +16,8 @@ *****************************************************************************/ package org.adempiere.pipo2.handler; -import java.util.ArrayList; import java.util.List; +import java.util.logging.Level; import javax.xml.transform.sax.TransformerHandler; @@ -51,8 +51,6 @@ public class ProcessElementHandler extends AbstractElementHandler { private ProcessParaElementHandler paraHandler = new ProcessParaElementHandler(); - private List processes = new ArrayList(); - public void startElement(PIPOContext ctx, Element element) throws SAXException { String entitytype = getStringValue(element, "EntityType"); @@ -82,6 +80,7 @@ public class ProcessElementHandler extends AbstractElementHandler { return; } + element.recordId = mProcess.get_ID(); if (mProcess.is_new() || mProcess.is_Changed()) { X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_Process.Table_Name, X_AD_Process.Table_ID); @@ -96,7 +95,7 @@ public class ProcessElementHandler extends AbstractElementHandler { if (mProcess.save(getTrxName(ctx)) == true) { logImportDetail(ctx, impDetail, 1, mProcess.getName(), mProcess .get_ID(), action); - element.recordId = mProcess.getAD_Process_ID(); + element.recordId = mProcess.get_ID(); } else { logImportDetail(ctx, impDetail, 0, mProcess.getName(), mProcess .get_ID(), action); @@ -114,9 +113,9 @@ public class ProcessElementHandler extends AbstractElementHandler { public void create(PIPOContext ctx, TransformerHandler document) throws SAXException { int AD_Process_ID = Env.getContextAsInt(ctx.ctx, "AD_Process_ID"); - if (processes.contains(AD_Process_ID)) + if (ctx.packOut.isExported("AD_Process_ID"+"|"+AD_Process_ID)) return; - processes.add(AD_Process_ID); + PackOut packOut = ctx.packOut; X_AD_Process m_Process = new X_AD_Process(ctx.ctx, AD_Process_ID, getTrxName(ctx)); @@ -159,9 +158,17 @@ public class ProcessElementHandler extends AbstractElementHandler { } if (createElement) { - addTypeName(atts, "table"); - document.startElement("", "", I_AD_Process.Table_Name, atts); - createProcessBinding(ctx, document, m_Process); + addTypeName(atts, "table"); + document.startElement("", "", I_AD_Process.Table_Name, atts); + createProcessBinding(ctx, document, m_Process); + + packOut.getCtx().ctx.put("Table_Name",I_AD_Process.Table_Name); + try { + new CommonTranslationHandler().packOut(packOut,document,null,m_Process.get_ID()); + } catch(Exception e) { + if (log.isLoggable(Level.INFO)) log.info(e.toString()); + } + } Query query = new Query(ctx.ctx, "AD_Process_PARA", "AD_Process_ID = ?", getTrxName(ctx)); diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ProcessParaElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ProcessParaElementHandler.java index 4975772e7b..22e3261757 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ProcessParaElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ProcessParaElementHandler.java @@ -17,15 +17,16 @@ package org.adempiere.pipo2.handler; import java.util.List; +import java.util.logging.Level; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; +import org.adempiere.pipo2.Element; import org.adempiere.pipo2.ElementHandler; import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; -import org.adempiere.pipo2.Element; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.ReferenceUtils; import org.adempiere.pipo2.exception.POSaveFailedException; @@ -89,6 +90,7 @@ public class ProcessParaElementHandler extends AbstractElementHandler { return; } + element.recordId = mProcessPara.get_ID(); if (mProcessPara.is_new() || mProcessPara.is_Changed()) { X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_Process_Para.Table_Name, X_AD_Process_Para.Table_ID); @@ -103,6 +105,7 @@ public class ProcessParaElementHandler extends AbstractElementHandler { if (mProcessPara.save(getTrxName(ctx)) == true) { logImportDetail(ctx, impDetail, 1, mProcessPara.getColumnName(), mProcessPara.get_ID(), action); + element.recordId = mProcessPara.get_ID(); } else { logImportDetail(ctx, impDetail, 0, mProcessPara.getColumnName(), mProcessPara.get_ID(), action); @@ -121,6 +124,9 @@ public class ProcessParaElementHandler extends AbstractElementHandler { throws SAXException { int AD_Process_Para_ID = Env.getContextAsInt(ctx.ctx, X_AD_Process_Para.COLUMNNAME_AD_Process_Para_ID); + if (ctx.packOut.isExported(X_AD_Process_Para.COLUMNNAME_AD_Process_Para_ID+"|"+AD_Process_Para_ID)) + return; + X_AD_Process_Para m_Processpara = new X_AD_Process_Para(ctx.ctx, AD_Process_Para_ID, getTrxName(ctx)); @@ -143,6 +149,15 @@ public class ProcessParaElementHandler extends AbstractElementHandler { addTypeName(atts, "table"); document.startElement("", "", I_AD_Process_Para.Table_Name, atts); createProcessParaBinding(ctx, document, m_Processpara); + + PackOut packOut = ctx.packOut; + packOut.getCtx().ctx.put("Table_Name",I_AD_Process_Para.Table_Name); + try { + new CommonTranslationHandler().packOut(packOut,document,null,m_Processpara.get_ID()); + } catch(Exception e) { + if (log.isLoggable(Level.INFO)) log.info(e.toString()); + } + document.endElement("", "", I_AD_Process_Para.Table_Name); } diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReferenceElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReferenceElementHandler.java index e4f47aa047..be8fafc870 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReferenceElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReferenceElementHandler.java @@ -77,7 +77,7 @@ public class ReferenceElementHandler extends AbstractElementHandler { element.unresolved = notfounds.toString(); return; } - + element.recordId = mReference.getAD_Reference_ID(); if (mReference.is_new() || mReference.is_Changed()) { X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_Reference.Table_Name, X_AD_Reference.Table_ID); @@ -115,11 +115,9 @@ public class ReferenceElementHandler extends AbstractElementHandler { throws SAXException { int Reference_id = Env.getContextAsInt(ctx.ctx, X_AD_Reference.COLUMNNAME_AD_Reference_ID); - - if (references.contains(Reference_id)) + if (ctx.packOut.isExported(X_AD_Reference.COLUMNNAME_AD_Reference_ID+"|"+Reference_id)) return; - references.add(Reference_id); AttributesImpl atts = new AttributesImpl(); X_AD_Reference m_Reference = new X_AD_Reference(ctx.ctx, Reference_id, getTrxName(ctx)); @@ -130,11 +128,17 @@ public class ReferenceElementHandler extends AbstractElementHandler { createElement = false; } } - + PackOut packOut = ctx.packOut; + packOut.getCtx().ctx.put("Table_Name",X_AD_Reference.Table_Name); if (createElement) { addTypeName(atts, "table"); document.startElement("", "", I_AD_Reference.Table_Name, atts); createReferenceBinding(ctx, document, m_Reference); + try { + new CommonTranslationHandler().packOut(packOut,document,null,m_Reference.get_ID()); + } catch(Exception e) { + if (log.isLoggable(Level.INFO)) log.info(e.toString()); + } } if (m_Reference.getValidationType().compareTo("L") == 0) { diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReferenceListElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReferenceListElementHandler.java index 96457752f2..f0e68bc27a 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReferenceListElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReferenceListElementHandler.java @@ -17,6 +17,7 @@ package org.adempiere.pipo2.handler; import java.util.List; +import java.util.logging.Level; import javax.xml.transform.sax.TransformerHandler; @@ -77,7 +78,7 @@ public class ReferenceListElementHandler extends AbstractElementHandler { element.unresolved = notfounds.toString(); return; } - + element.recordId = mRefList.get_ID(); if (mRefList.is_new() || mRefList.is_Changed()) { X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_Ref_List.Table_Name, X_AD_Ref_List.Table_ID); @@ -91,6 +92,7 @@ public class ReferenceListElementHandler extends AbstractElementHandler { if (mRefList.save(getTrxName(ctx)) == true) { logImportDetail(ctx, impDetail, 1, mRefList.getName(), mRefList.get_ID(), action); + element.recordId = mRefList.get_ID(); } else { logImportDetail(ctx, impDetail, 0, mRefList.getName(), mRefList.get_ID(), action); @@ -109,6 +111,8 @@ public class ReferenceListElementHandler extends AbstractElementHandler { throws SAXException { int AD_Ref_List_ID = Env.getContextAsInt(ctx.ctx, X_AD_Ref_List.COLUMNNAME_AD_Ref_List_ID); + if (ctx.packOut.isExported(X_AD_Ref_List.COLUMNNAME_AD_Ref_List_ID+"|"+AD_Ref_List_ID)) + return; X_AD_Ref_List m_Ref_List = new X_AD_Ref_List(ctx.ctx, AD_Ref_List_ID, getTrxName(ctx)); if (ctx.packOut.getFromDate() != null) { @@ -120,6 +124,15 @@ public class ReferenceListElementHandler extends AbstractElementHandler { addTypeName(atts, "table"); document.startElement("", "", I_AD_Ref_List.Table_Name, atts); createRefListBinding(ctx, document, m_Ref_List); + + PackOut packOut = ctx.packOut; + packOut.getCtx().ctx.put("Table_Name",X_AD_Ref_List.Table_Name); + try { + new CommonTranslationHandler().packOut(packOut,document,null,m_Ref_List.get_ID()); + } catch(Exception e) { + if (log.isLoggable(Level.INFO)) log.info(e.toString()); + } + document.endElement("", "", I_AD_Ref_List.Table_Name); } diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReportViewColElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReportViewColElementHandler.java index fee37ccde9..e042d50941 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReportViewColElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReportViewColElementHandler.java @@ -21,10 +21,10 @@ import java.util.List; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.ReferenceUtils; import org.adempiere.pipo2.exception.POSaveFailedException; @@ -148,6 +148,9 @@ public class ReportViewColElementHandler extends AbstractElementHandler { throws SAXException { int AD_ReportView_Col_ID = Env.getContextAsInt(ctx.ctx, X_AD_ReportView_Col.COLUMNNAME_AD_ReportView_Col_ID); + if (ctx.packOut.isExported(X_AD_ReportView_Col.COLUMNNAME_AD_ReportView_Col_ID+"|"+AD_ReportView_Col_ID)) + return; + X_AD_ReportView_Col m_Reportview_Col = new X_AD_ReportView_Col(ctx.ctx, AD_ReportView_Col_ID, getTrxName(ctx)); diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReportViewElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReportViewElementHandler.java index d88fded70c..dc4e148d8f 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReportViewElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/ReportViewElementHandler.java @@ -18,18 +18,17 @@ package org.adempiere.pipo2.handler; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.ArrayList; import java.util.List; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.exceptions.AdempiereException; import org.adempiere.pipo2.AbstractElementHandler; +import org.adempiere.pipo2.Element; import org.adempiere.pipo2.ElementHandler; import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; -import org.adempiere.pipo2.Element; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.exception.POSaveFailedException; import org.compiere.model.I_AD_PrintFormat; @@ -48,8 +47,6 @@ public class ReportViewElementHandler extends AbstractElementHandler { private ReportViewColElementHandler columnHandler = new ReportViewColElementHandler(); - private List views = new ArrayList(); - public void startElement(PIPOContext ctx, Element element) throws SAXException { @@ -104,10 +101,9 @@ public class ReportViewElementHandler extends AbstractElementHandler { throws SAXException { PackOut packOut = ctx.packOut; int AD_ReportView_ID = Env.getContextAsInt(ctx.ctx, "AD_ReportView_ID"); - if (views.contains(AD_ReportView_ID)) + if (ctx.packOut.isExported("AD_ReportView_ID"+"|"+AD_ReportView_ID)) return; - views.add(AD_ReportView_ID); AttributesImpl atts = new AttributesImpl(); X_AD_ReportView m_Reportview = new X_AD_ReportView(ctx.ctx, AD_ReportView_ID, getTrxName(ctx)); diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/RoleElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/RoleElementHandler.java index 535cb299ae..ab4342004b 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/RoleElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/RoleElementHandler.java @@ -18,17 +18,16 @@ package org.adempiere.pipo2.handler; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.ReferenceUtils; import org.adempiere.pipo2.exception.DatabaseAccessException; @@ -51,8 +50,6 @@ import org.xml.sax.helpers.AttributesImpl; public class RoleElementHandler extends AbstractElementHandler { - private List roles = new ArrayList(); - private OrgRoleElementHandler orgHandler = new OrgRoleElementHandler(); private ProcessAccessElementHandler processHandler = new ProcessAccessElementHandler(); private UserRoleElementHandler userHandler = new UserRoleElementHandler(); @@ -117,9 +114,8 @@ public class RoleElementHandler extends AbstractElementHandler { throws SAXException { int Role_id = Env.getContextAsInt(ctx.ctx, X_AD_Package_Exp_Detail.COLUMNNAME_AD_Role_ID); - if (roles.contains(Role_id)) + if (ctx.packOut.isExported(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Role_ID+"|"+Role_id)) return; - roles.add(Role_id); boolean createElement = true; X_AD_Role m_Role = new X_AD_Role(ctx.ctx, Role_id, null); diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/SQLStatementElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/SQLStatementElementHandler.java index cdae44cef7..4ba2cf0a1c 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/SQLStatementElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/SQLStatementElementHandler.java @@ -16,9 +16,9 @@ *****************************************************************************/ package org.adempiere.pipo2.handler; -import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; +import java.sql.Savepoint; import java.sql.Statement; import java.util.logging.Level; @@ -33,6 +33,7 @@ import org.adempiere.pipo2.SQLElementParameters; import org.compiere.model.X_AD_Package_Imp_Detail; import org.compiere.util.DB; import org.compiere.util.Env; +import org.compiere.util.Trx; import org.xml.sax.SAXException; import org.xml.sax.helpers.AttributesImpl; @@ -46,13 +47,17 @@ public class SQLStatementElementHandler extends AbstractElementHandler { String sql = getStringValue(element, "statement"); if (sql.endsWith(";") && !(sql.toLowerCase().endsWith("end;"))) sql = sql.substring(0, sql.length() - 1); + Savepoint savepoint = null; PreparedStatement pstmt = null; try { // NOTE Postgres needs to commit DDL statements - // add a SQL command just with COMMIT if you want to simulate the Oracle behavior (commit on DDL) - - // It is also recommended on postgres to add a COMMIT before any SQL statement that can fail - // for example a create index where is possible the index already exists + // add a SQL command just with COMMIT if you want to simulate the Oracle behavior (commit on DDL) + // Use savepoint here so that SQL exception would not rollback the whole process + if (DB.isPostgreSQL()) + { + Trx trx = Trx.get(getTrxName(ctx), true); + savepoint = trx.setSavepoint(null); + } pstmt = DB.prepareStatement(sql, getTrxName(ctx)); if (DBType.equals("ALL")) { @@ -89,14 +94,13 @@ public class SQLStatementElementHandler extends AbstractElementHandler { } catch (Exception e) { if (DB.isPostgreSQL()) { // rollback immediately postgres on exception to avoid a wrong SQL stop the whole process - if (pstmt != null) { - Connection m_con = null; + if (savepoint != null) + { + Trx trx = Trx.get(getTrxName(ctx), false); try { - m_con = pstmt.getConnection(); - if (m_con != null && !m_con.getAutoCommit()) - m_con.rollback(); - } catch (SQLException ex) { - } + trx.rollback(savepoint); + } catch (SQLException e1) {} + savepoint = null; } } log.log(Level.SEVERE,"SQLSatement", e); @@ -106,6 +110,12 @@ public class SQLStatementElementHandler extends AbstractElementHandler { } finally { DB.close(pstmt); pstmt = null; + if (savepoint != null) { + Trx trx = Trx.get(getTrxName(ctx), false); + try { + trx.releaseSavepoint(savepoint); + } catch (SQLException e) {} + } } } diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/TabElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/TabElementHandler.java index 516130bc66..73c7a0c713 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/TabElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/TabElementHandler.java @@ -25,11 +25,11 @@ import javax.xml.transform.sax.TransformerHandler; import org.adempiere.exceptions.AdempiereException; import org.adempiere.pipo2.AbstractElementHandler; +import org.adempiere.pipo2.Element; import org.adempiere.pipo2.ElementHandler; import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; -import org.adempiere.pipo2.Element; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.ReferenceUtils; import org.adempiere.pipo2.exception.DatabaseAccessException; @@ -140,6 +140,7 @@ public class TabElementHandler extends AbstractElementHandler { return; } + element.recordId = mTab.get_ID(); if (mTab.is_new() || mTab.is_Changed()) { X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_Tab.Table_Name, X_AD_Tab.Table_ID); @@ -153,7 +154,7 @@ public class TabElementHandler extends AbstractElementHandler { } if (mTab.save(getTrxName(ctx)) == true){ logImportDetail (ctx, impDetail, 1, mTab.getName(), mTab.get_ID(),action); - element.recordId = mTab.getAD_Tab_ID(); + element.recordId = mTab.get_ID(); } else { logImportDetail (ctx, impDetail, 0, mTab.getName(), mTab.get_ID(),action); throw new POSaveFailedException("Failed to save Tab " + mTab.getName()); @@ -172,6 +173,8 @@ public class TabElementHandler extends AbstractElementHandler { throws SAXException { PackOut packOut = ctx.packOut; int AD_Tab_ID = Env.getContextAsInt(ctx.ctx, "AD_Tab_ID"); + if (ctx.packOut.isExported("AD_Tab_ID"+"|"+AD_Tab_ID)) + return; boolean createElement = true; X_AD_Tab m_Tab = new X_AD_Tab (ctx.ctx, AD_Tab_ID, getTrxName(ctx)); @@ -185,6 +188,13 @@ public class TabElementHandler extends AbstractElementHandler { addTypeName(atts, "table"); document.startElement("","",I_AD_Tab.Table_Name,atts); createTabBinding(ctx,document,m_Tab); + + packOut.getCtx().ctx.put("Table_Name",X_AD_Tab.Table_Name); + try { + new CommonTranslationHandler().packOut(packOut,document,null,m_Tab.get_ID()); + } catch(Exception e) { + if (log.isLoggable(Level.INFO)) log.info(e.toString()); + } } //Fields tags. diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/TableElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/TableElementHandler.java index 01404b6b15..0a0835000e 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/TableElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/TableElementHandler.java @@ -165,110 +165,107 @@ public class TableElementHandler extends AbstractElementHandler { throws SAXException { int AD_Table_ID = Env.getContextAsInt(ctx.ctx, X_AD_Package_Exp_Detail.COLUMNNAME_AD_Table_ID); + if (ctx.packOut.isExported(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Table_ID+"|"+AD_Table_ID)) + return; PackOut packOut = ctx.packOut; - boolean exported = isTableProcess(ctx, AD_Table_ID); AttributesImpl atts = new AttributesImpl(); - //Export table if not already done so - if (!exported){ - boolean createElement = true; - X_AD_Table m_Table = new X_AD_Table (ctx.ctx, AD_Table_ID, null); - if (ctx.packOut.getFromDate() != null) { - if (m_Table.getUpdated().compareTo(ctx.packOut.getFromDate()) < 0) { - createElement = false; - } - } - if (createElement) { - addTypeName(atts, "table"); - document.startElement("","",I_AD_Table.Table_Name,atts); - createTableBinding(ctx,document,m_Table); - } - - String sql = "SELECT * FROM AD_Column WHERE AD_Table_ID = ? " - + " ORDER BY IsKey DESC, AD_Column_ID"; // Export key column as the first one - - PreparedStatement pstmt = null; - ResultSet rs = null; - - try { - pstmt = DB.prepareStatement (sql, getTrxName(ctx)); - pstmt.setInt(1, AD_Table_ID); - rs = pstmt.executeQuery(); - - while (rs.next()){ - ElementHandler handler = packOut.getHandler("AD_Element"); - handler.packOut(packOut,document,null,rs.getInt(X_AD_Column.COLUMNNAME_AD_Element_ID)); - - if (rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Reference_ID)>0) - { - handler = packOut.getHandler("AD_Reference"); - handler.packOut(packOut,document,null,rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Reference_ID)); - } - - if (rs.getInt("AD_Reference_Value_ID")>0) - { - handler = packOut.getHandler("AD_Reference"); - handler.packOut(packOut,document,null,rs.getInt("AD_Reference_Value_ID")); - } - - if (rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Process_ID)>0) - { - handler = packOut.getHandler("AD_Process"); - handler.packOut(packOut,document,null,rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Process_ID)); - } - - if (rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Val_Rule_ID)>0) - { - handler = packOut.getHandler("AD_Val_Rule"); - handler.packOut(packOut,document,null,rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Val_Rule_ID)); - } - - createColumn(ctx, document, rs.getInt("AD_Column_ID")); - } - } catch (Exception e) { - throw new AdempiereException(e); - } finally { - DB.close(rs, pstmt); - } - - sql = "SELECT * FROM AD_TableIndex WHERE AD_Table_ID = ? ORDER BY AD_TableIndex_ID"; - pstmt = null; - rs = null; - try { - pstmt = DB.prepareStatement (sql, getTrxName(ctx)); - pstmt.setInt(1, AD_Table_ID); - rs = pstmt.executeQuery(); - - while (rs.next()) { - createTableIndex(ctx, document, rs.getInt(MTableIndex.COLUMNNAME_AD_TableIndex_ID)); - } - } catch (Exception e) { - throw new AdempiereException(e); - } finally { - DB.close(rs, pstmt); - } - - sql = "SELECT * FROM AD_ViewComponent WHERE AD_Table_ID = ? ORDER BY SeqNo, AD_ViewComponent_ID"; - pstmt = null; - rs = null; - try { - pstmt = DB.prepareStatement (sql, getTrxName(ctx)); - pstmt.setInt(1, AD_Table_ID); - rs = pstmt.executeQuery(); - - while (rs.next()) { - createViewComponent(ctx, document, rs.getInt(MViewComponent.COLUMNNAME_AD_ViewComponent_ID)); - } - } catch (Exception e) { - throw new AdempiereException(e); - } finally { - DB.close(rs, pstmt); - } - - if (createElement) { - document.endElement("","",X_AD_Table.Table_Name); + boolean createElement = true; + X_AD_Table m_Table = new X_AD_Table (ctx.ctx, AD_Table_ID, null); + if (ctx.packOut.getFromDate() != null) { + if (m_Table.getUpdated().compareTo(ctx.packOut.getFromDate()) < 0) { + createElement = false; } } + if (createElement) { + addTypeName(atts, "table"); + document.startElement("","",I_AD_Table.Table_Name,atts); + createTableBinding(ctx,document,m_Table); + } + String sql = "SELECT * FROM AD_Column WHERE AD_Table_ID = ? " + + " ORDER BY IsKey DESC, AD_Column_ID"; // Export key column as the first one + + PreparedStatement pstmt = null; + ResultSet rs = null; + + try { + pstmt = DB.prepareStatement (sql, getTrxName(ctx)); + pstmt.setInt(1, AD_Table_ID); + rs = pstmt.executeQuery(); + + while (rs.next()){ + ElementHandler handler = packOut.getHandler("AD_Element"); + handler.packOut(packOut,document,null,rs.getInt(X_AD_Column.COLUMNNAME_AD_Element_ID)); + + if (rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Reference_ID)>0) + { + handler = packOut.getHandler("AD_Reference"); + handler.packOut(packOut,document,null,rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Reference_ID)); + } + + if (rs.getInt("AD_Reference_Value_ID")>0) + { + handler = packOut.getHandler("AD_Reference"); + handler.packOut(packOut,document,null,rs.getInt("AD_Reference_Value_ID")); + } + + if (rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Process_ID)>0) + { + handler = packOut.getHandler("AD_Process"); + handler.packOut(packOut,document,null,rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Process_ID)); + } + + if (rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Val_Rule_ID)>0) + { + handler = packOut.getHandler("AD_Val_Rule"); + handler.packOut(packOut,document,null,rs.getInt(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Val_Rule_ID)); + } + + createColumn(ctx, document, rs.getInt("AD_Column_ID")); + } + } catch (Exception e) { + throw new AdempiereException(e); + } finally { + DB.close(rs, pstmt); + } + + sql = "SELECT * FROM AD_TableIndex WHERE AD_Table_ID = ? ORDER BY AD_TableIndex_ID"; + pstmt = null; + rs = null; + try { + pstmt = DB.prepareStatement (sql, getTrxName(ctx)); + pstmt.setInt(1, AD_Table_ID); + rs = pstmt.executeQuery(); + + while (rs.next()) { + createTableIndex(ctx, document, rs.getInt(MTableIndex.COLUMNNAME_AD_TableIndex_ID)); + } + } catch (Exception e) { + throw new AdempiereException(e); + } finally { + DB.close(rs, pstmt); + } + + sql = "SELECT * FROM AD_ViewComponent WHERE AD_Table_ID = ? ORDER BY SeqNo, AD_ViewComponent_ID"; + pstmt = null; + rs = null; + try { + pstmt = DB.prepareStatement (sql, getTrxName(ctx)); + pstmt.setInt(1, AD_Table_ID); + rs = pstmt.executeQuery(); + + while (rs.next()) { + createViewComponent(ctx, document, rs.getInt(MViewComponent.COLUMNNAME_AD_ViewComponent_ID)); + } + } catch (Exception e) { + throw new AdempiereException(e); + } finally { + DB.close(rs, pstmt); + } + + if (createElement) { + document.endElement("","",X_AD_Table.Table_Name); + } } private void createColumn(PIPOContext ctx, TransformerHandler document, int AD_Column_ID) throws SAXException { diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/TaskElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/TaskElementHandler.java index 5b20d96258..214fc0f181 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/TaskElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/TaskElementHandler.java @@ -17,16 +17,16 @@ package org.adempiere.pipo2.handler; -import java.util.ArrayList; import java.util.List; +import java.util.logging.Level; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.exception.POSaveFailedException; import org.compiere.model.I_AD_Task; @@ -39,8 +39,6 @@ import org.xml.sax.helpers.AttributesImpl; public class TaskElementHandler extends AbstractElementHandler { - private List tasks = new ArrayList(); - public void startElement(PIPOContext ctx, Element element) throws SAXException { List excludes = defaultExcludeList(X_AD_Task.Table_Name); @@ -69,6 +67,7 @@ public class TaskElementHandler extends AbstractElementHandler { return; } + element.recordId = mTask.get_ID(); if (mTask.is_new() || mTask.is_Changed()) { X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_Task.Table_Name, X_AD_Task.Table_ID); @@ -82,6 +81,7 @@ public class TaskElementHandler extends AbstractElementHandler { if (mTask.save(getTrxName(ctx)) == true) { logImportDetail(ctx, impDetail, 1, mTask.getName(), mTask.get_ID(), action); + element.recordId = mTask.get_ID(); } else { logImportDetail(ctx, impDetail, 0, mTask.getName(), mTask.get_ID(), action); @@ -99,9 +99,9 @@ public class TaskElementHandler extends AbstractElementHandler { public void create(PIPOContext ctx, TransformerHandler document) throws SAXException { int AD_Task_ID = Env.getContextAsInt(ctx.ctx, "AD_Task_ID"); - if (tasks.contains(AD_Task_ID)) + if (ctx.packOut.isExported("AD_Task_ID"+"|"+AD_Task_ID)) return; - tasks.add(AD_Task_ID); + X_AD_Task m_Task = new X_AD_Task(ctx.ctx, AD_Task_ID, null); if (ctx.packOut.getFromDate() != null) { if (m_Task.getUpdated().compareTo(ctx.packOut.getFromDate()) < 0) { @@ -112,6 +112,15 @@ public class TaskElementHandler extends AbstractElementHandler { addTypeName(atts, "table"); document.startElement("", "", I_AD_Task.Table_Name, atts); createTaskBinding(ctx, document, m_Task); + + PackOut packOut = ctx.packOut; + packOut.getCtx().ctx.put("Table_Name",I_AD_Task.Table_Name); + try { + new CommonTranslationHandler().packOut(packOut,document,null,m_Task.get_ID()); + } catch(Exception e) { + if (log.isLoggable(Level.INFO)) log.info(e.toString()); + } + document.endElement("", "", I_AD_Task.Table_Name); } diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WindowElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WindowElementHandler.java index 07310a3ff5..6abaed21b8 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WindowElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WindowElementHandler.java @@ -90,7 +90,7 @@ public class WindowElementHandler extends AbstractElementHandler { element.unresolved = notfounds.toString(); return; } - + element.recordId = mWindow.get_ID(); if (mWindow.is_new() || mWindow.is_Changed()) { X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_Window.Table_Name, X_AD_Window.Table_ID); @@ -104,8 +104,8 @@ public class WindowElementHandler extends AbstractElementHandler { if (mWindow.save(getTrxName(ctx)) == true) { logImportDetail(ctx, impDetail, 1, mWindow.getName(), mWindow .get_ID(), action); - element.recordId = mWindow.getAD_Window_ID(); windows.add(mWindow.getAD_Window_ID()); + element.recordId = mWindow.get_ID(); } else { logImportDetail(ctx, impDetail, 0, mWindow.getName(), mWindow .get_ID(), action); @@ -123,6 +123,8 @@ public class WindowElementHandler extends AbstractElementHandler { public void create(PIPOContext ctx, TransformerHandler document) throws SAXException { int AD_Window_ID = Env.getContextAsInt(ctx.ctx, "AD_Window_ID"); + if (ctx.packOut.isExported("AD_Window_ID"+"|"+AD_Window_ID)) + return; PackOut packOut = ctx.packOut; boolean createElement = true; @@ -164,6 +166,12 @@ public class WindowElementHandler extends AbstractElementHandler { addTypeName(atts, "table"); document.startElement("", "", I_AD_Window.Table_Name, atts); createWindowBinding(ctx, document, m_Window); + packOut.getCtx().ctx.put("Table_Name",X_AD_Window.Table_Name); + try { + new CommonTranslationHandler().packOut(packOut,document,null,m_Window.get_ID()); + } catch(Exception e) { + if (log.isLoggable(Level.INFO)) log.info(e.toString()); + } } // Tab Tag String sql = "SELECT AD_Tab_ID, AD_Table_ID FROM AD_TAB WHERE AD_WINDOW_ID = " diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowElementHandler.java index c888a367ff..68cf9142b4 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowElementHandler.java @@ -86,7 +86,7 @@ public class WorkflowElementHandler extends AbstractElementHandler { element.unresolved = notfounds.toString(); return; } - + element.recordId = mWorkflow.get_ID(); if (mWorkflow.is_new() || mWorkflow.is_Changed()) { X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_Workflow.Table_Name, X_AD_Workflow.Table_ID); @@ -103,7 +103,7 @@ public class WorkflowElementHandler extends AbstractElementHandler { logImportDetail(ctx,impDetail, 1, mWorkflow.getName(), mWorkflow .get_ID(), action); workflows.add(mWorkflow.getAD_Workflow_ID()); - element.recordId = mWorkflow.getAD_Workflow_ID(); + element.recordId = mWorkflow.get_ID(); } else { log.info("m_Workflow save failure"); logImportDetail(ctx, impDetail, 0, mWorkflow.getName(), mWorkflow @@ -158,10 +158,9 @@ public class WorkflowElementHandler extends AbstractElementHandler { throws SAXException { int AD_Workflow_ID = Env.getContextAsInt(ctx.ctx, X_AD_Package_Exp_Detail.COLUMNNAME_AD_Workflow_ID); - if (workflows.contains(AD_Workflow_ID)) + if (ctx.packOut.isExported(X_AD_Package_Exp_Detail.COLUMNNAME_AD_Workflow_ID+"|"+AD_Workflow_ID)) return; - - workflows.add(AD_Workflow_ID); + PackOut packOut = ctx.packOut; int ad_wf_nodenext_id = 0; int ad_wf_nodenextcondition_id = 0; AttributesImpl atts = new AttributesImpl(); @@ -179,6 +178,13 @@ public class WorkflowElementHandler extends AbstractElementHandler { atts.addAttribute("", "", "type-name", "CDATA", "ad.workflow"); document.startElement("", "", I_AD_Workflow.Table_Name, atts); createWorkflowBinding(ctx, document, m_Workflow); + + packOut.getCtx().ctx.put("Table_Name",I_AD_Workflow.Table_Name); + try { + new CommonTranslationHandler().packOut(packOut,document,null,m_Workflow.get_ID()); + } catch(Exception e) { + if (log.isLoggable(Level.INFO)) log.info(e.toString()); + } } String sql = "SELECT AD_WF_Node_ID FROM AD_WF_Node WHERE AD_Workflow_ID = " diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowNodeElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowNodeElementHandler.java index 3618687714..ad187d908a 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowNodeElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowNodeElementHandler.java @@ -18,14 +18,15 @@ package org.adempiere.pipo2.handler; import java.util.List; +import java.util.logging.Level; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.ReferenceUtils; import org.adempiere.pipo2.exception.POSaveFailedException; @@ -94,7 +95,7 @@ public class WorkflowNodeElementHandler extends AbstractElementHandler { element.unresolved = notfounds.toString(); return; } - + element.recordId = mWFNode.get_ID(); if (mWFNode.is_new() || mWFNode.is_Changed()) { X_AD_Package_Imp_Detail impDetail = createImportDetail(ctx, element.qName, X_AD_WF_Node.Table_Name, X_AD_WF_Node.Table_ID); @@ -111,6 +112,7 @@ public class WorkflowNodeElementHandler extends AbstractElementHandler { log.info("m_WFNode save success"); logImportDetail(ctx, impDetail, 1, mWFNode.getName(), mWFNode .get_ID(), action); + element.recordId = mWFNode.get_ID(); } else { log.info("m_WFNode save failure"); logImportDetail(ctx, impDetail, 0, mWFNode.getName(), mWFNode @@ -130,6 +132,9 @@ public class WorkflowNodeElementHandler extends AbstractElementHandler { throws SAXException { int AD_WF_Node_ID = Env.getContextAsInt(ctx.ctx, X_AD_WF_Node.COLUMNNAME_AD_WF_Node_ID); + if (ctx.packOut.isExported(X_AD_WF_Node.COLUMNNAME_AD_WF_Node_ID+"|"+AD_WF_Node_ID)) + return; + AttributesImpl atts = new AttributesImpl(); MWFNode m_WF_Node = new MWFNode(ctx.ctx, AD_WF_Node_ID, getTrxName(ctx)); @@ -141,6 +146,15 @@ public class WorkflowNodeElementHandler extends AbstractElementHandler { addTypeName(atts, "table"); document.startElement("", "", I_AD_WF_Node.Table_Name, atts); createWorkflowNodeBinding(ctx, document, m_WF_Node); + + PackOut packOut = ctx.packOut; + packOut.getCtx().ctx.put("Table_Name",I_AD_WF_Node.Table_Name); + try { + new CommonTranslationHandler().packOut(packOut,document,null,m_WF_Node.get_ID()); + } catch(Exception e) { + if (log.isLoggable(Level.INFO)) log.info(e.toString()); + } + document.endElement("", "", I_AD_WF_Node.Table_Name); } diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowNodeNextConditionElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowNodeNextConditionElementHandler.java index b7479f50a2..d3cfcc7b58 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowNodeNextConditionElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowNodeNextConditionElementHandler.java @@ -21,10 +21,10 @@ import java.util.List; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.ReferenceUtils; import org.adempiere.pipo2.exception.POSaveFailedException; @@ -154,6 +154,9 @@ public class WorkflowNodeNextConditionElementHandler extends public void create(PIPOContext ctx, TransformerHandler document) throws SAXException { int ad_wf_nodenextcondition_id = Env.getContextAsInt(ctx.ctx, "AD_WF_NextCondition_ID"); + if (ctx.packOut.isExported("AD_WF_NextCondition_ID"+"|"+ad_wf_nodenextcondition_id)) + return; + MWFNextCondition m_WF_NodeNextCondition = new MWFNextCondition( ctx.ctx, ad_wf_nodenextcondition_id, null); if (ctx.packOut.getFromDate() != null) { diff --git a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowNodeNextElementHandler.java b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowNodeNextElementHandler.java index bbe80bfda9..40af8d8ede 100644 --- a/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowNodeNextElementHandler.java +++ b/org.adempiere.pipo.handlers/src/org/adempiere/pipo2/handler/WorkflowNodeNextElementHandler.java @@ -21,10 +21,10 @@ import java.util.List; import javax.xml.transform.sax.TransformerHandler; import org.adempiere.pipo2.AbstractElementHandler; -import org.adempiere.pipo2.PIPOContext; -import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.Element; +import org.adempiere.pipo2.PIPOContext; import org.adempiere.pipo2.PackOut; +import org.adempiere.pipo2.PoExporter; import org.adempiere.pipo2.PoFiller; import org.adempiere.pipo2.ReferenceUtils; import org.adempiere.pipo2.exception.POSaveFailedException; @@ -145,6 +145,9 @@ public class WorkflowNodeNextElementHandler extends AbstractElementHandler { public void create(PIPOContext ctx, TransformerHandler document) throws SAXException { int ad_wf_nodenext_id = Env.getContextAsInt(ctx.ctx, "AD_WF_NodeNext_ID"); + if (ctx.packOut.isExported("AD_WF_NodeNext_ID"+"|"+ad_wf_nodenext_id)) + return; + MWFNodeNext m_WF_NodeNext = new MWFNodeNext( ctx.ctx, ad_wf_nodenext_id, null); if (ctx.packOut.getFromDate() != null) { diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java b/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java index d652b6d0bc..2919b41312 100644 --- a/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/AbstractElementHandler.java @@ -440,7 +440,7 @@ public abstract class AbstractElementHandler implements ElementHandler { */ protected boolean isHandleTranslations(Properties ctx) { - return "true".equalsIgnoreCase(Env.getContext(ctx, "isHandleTranslations")); + return "Y".equalsIgnoreCase(Env.getContext(ctx, "isHandleTranslations")); } /** diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/PackIn.java b/org.adempiere.pipo/src/org/adempiere/pipo2/PackIn.java index 33bb923834..1e29e41364 100644 --- a/org.adempiere.pipo/src/org/adempiere/pipo2/PackIn.java +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/PackIn.java @@ -33,6 +33,7 @@ import java.util.logging.Level; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; +import org.compiere.model.MSysConfig; import org.compiere.model.PO; import org.compiere.model.X_AD_Package_Imp_Detail; import org.compiere.util.CLogger; @@ -153,6 +154,7 @@ public class PackIn { context.trx = Trx.get(trxName, true); context.packIn = this; context.ctx = ctx; + context.ctx.setProperty("isHandleTranslations", MSysConfig.getValue(MSysConfig.TWOPACK_HANDLE_TRANSLATIONS)); handler.setCtx(context); handler.setProcess(this); SAXParserFactory factory = SAXParserFactory.newInstance(); diff --git a/org.adempiere.pipo/src/org/adempiere/pipo2/PackOut.java b/org.adempiere.pipo/src/org/adempiere/pipo2/PackOut.java index 4dbd6b05de..d403c8bd09 100644 --- a/org.adempiere.pipo/src/org/adempiere/pipo2/PackOut.java +++ b/org.adempiere.pipo/src/org/adempiere/pipo2/PackOut.java @@ -28,6 +28,7 @@ import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.sql.Timestamp; +import java.util.ArrayList; import java.util.List; import java.util.Properties; import java.util.logging.Level; @@ -40,6 +41,7 @@ import javax.xml.transform.sax.TransformerHandler; import javax.xml.transform.stream.StreamResult; import org.compiere.model.MClient; +import org.compiere.model.MSysConfig; import org.compiere.model.MTable; import org.compiere.util.CLogger; import org.compiere.util.Trx; @@ -296,6 +298,7 @@ public class PackOut private void initContext() { if (trxName != null) pipoContext.trx = Trx.get(trxName, true); + pipoContext.ctx.setProperty("isHandleTranslations", MSysConfig.getValue(MSysConfig.TWOPACK_HANDLE_TRANSLATIONS)); pipoContext.packOut = this; } @@ -452,4 +455,13 @@ public class PackOut public void setCtx(Properties ctx) { pipoContext.ctx = ctx; } + + private List processedRecords = new ArrayList(); + public boolean isExported(String key) { + if (processedRecords.contains(key)) + return true; + processedRecords.add(key); + return false; + } + } // PackOut diff --git a/org.adempiere.ui.swing/src/org/compiere/acct/AcctViewer.java b/org.adempiere.ui.swing/src/org/compiere/acct/AcctViewer.java index 636c60833f..76a11493f7 100644 --- a/org.adempiere.ui.swing/src/org/compiere/acct/AcctViewer.java +++ b/org.adempiere.ui.swing/src/org/compiere/acct/AcctViewer.java @@ -59,7 +59,6 @@ import org.compiere.util.CLogMgt; import org.compiere.util.CLogger; import org.compiere.util.DisplayType; import org.compiere.util.Env; -import org.compiere.util.Ini; import org.compiere.util.KeyNamePair; import org.compiere.util.Msg; import org.compiere.util.ValueNamePair; @@ -461,8 +460,7 @@ public class AcctViewer extends CFrame boolean visible = m_data.documentQuery && tabbedPane.getSelectedIndex() == 1; bRePost.setVisible(visible); bExport.setVisible(tabbedPane.getSelectedIndex() == 1); - if (Ini.isPropertyBool(Ini.P_SHOW_ADVANCED)) - forcePost.setVisible(visible); + forcePost.setVisible(visible); } // stateChanged diff --git a/org.adempiere.ui.swing/src/org/compiere/apps/AEnv.java b/org.adempiere.ui.swing/src/org/compiere/apps/AEnv.java index f75289a482..35c99fbd79 100644 --- a/org.adempiere.ui.swing/src/org/compiere/apps/AEnv.java +++ b/org.adempiere.ui.swing/src/org/compiere/apps/AEnv.java @@ -31,7 +31,6 @@ import java.awt.Window; import java.awt.event.ActionListener; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.sql.SQLException; import java.util.ArrayList; import java.util.HashSet; import java.util.Set; @@ -55,7 +54,6 @@ import org.compiere.model.MMenu; import org.compiere.model.MQuery; import org.compiere.model.MRole; import org.compiere.model.MTable; -import org.compiere.model.MZoomCondition; import org.compiere.process.DocumentEngine; import org.compiere.swing.CButton; import org.compiere.swing.CFrame; @@ -635,27 +633,12 @@ public final class AEnv */ public static void zoom (int AD_Table_ID, int Record_ID) { - int AD_Window_ID = MZoomCondition.findZoomWindowByTableId(AD_Table_ID, Record_ID); + int AD_Window_ID = Env.getZoomWindowID(AD_Table_ID, Record_ID); + // Nothing to Zoom to + if (AD_Window_ID == 0) + return; + MTable table = MTable.get(Env.getCtx(), AD_Table_ID); - if (AD_Window_ID <= 0) - { - AD_Window_ID = table.getAD_Window_ID(); - // Nothing to Zoom to - if (AD_Window_ID == 0) - return; - - // PO Zoom ? - boolean isSOTrx = true; - if (table.getPO_Window_ID() != 0) - { - String whereClause = table.getTableName() + "_ID=" + Record_ID; - isSOTrx = DB.isSOTrx(table.getTableName(), whereClause); - if (!isSOTrx) - AD_Window_ID = table.getPO_Window_ID(); - } - - if (log.isLoggable(Level.CONFIG)) log.config(table.getTableName() + " - Record_ID=" + Record_ID + " (IsSOTrx=" + isSOTrx + ")"); - } AWindow frame = new AWindow(null); if (!frame.initWindow(AD_Window_ID, MQuery.getEqualQuery(table.getTableName() + "_ID", Record_ID))) @@ -681,50 +664,11 @@ public final class AEnv if (query == null || query.getTableName() == null || query.getTableName().length() == 0) return; - int AD_Window_ID = MZoomCondition.findZoomWindow(query); - if (AD_Window_ID <= 0) - { - String TableName = query.getTableName(); - int PO_Window_ID = 0; - String sql = "SELECT AD_Window_ID, PO_Window_ID FROM AD_Table WHERE TableName=?"; - PreparedStatement pstmt = null; - ResultSet rs = null; - try - { - pstmt = DB.prepareStatement(sql, null); - pstmt.setString(1, TableName); - rs = pstmt.executeQuery(); - if (rs.next()) - { - AD_Window_ID = rs.getInt(1); - PO_Window_ID = rs.getInt(2); - } - } - catch (SQLException e) - { - log.log(Level.SEVERE, sql, e); - } - finally - { - DB.close(rs, pstmt); - rs = null; - pstmt = null; - } - // Nothing to Zoom to - if (AD_Window_ID == 0) - return; - - // PO Zoom ? - boolean isSOTrx = true; - if (PO_Window_ID != 0) - { - isSOTrx = DB.isSOTrx(TableName, query.getWhereClause(false)); - if (!isSOTrx) - AD_Window_ID = PO_Window_ID; - } - - if (log.isLoggable(Level.CONFIG)) log.config(query + " (IsSOTrx=" + isSOTrx + ")"); - } + int AD_Window_ID = Env.getZoomWindowID(query); + // Nothing to Zoom to + if (AD_Window_ID == 0) + return; + AWindow frame = new AWindow(null); if (!frame.initWindow(AD_Window_ID, query)) return; diff --git a/org.adempiere.ui.swing/src/org/compiere/apps/Preference.java b/org.adempiere.ui.swing/src/org/compiere/apps/Preference.java index 3b8b12219f..ff3a781e8e 100644 --- a/org.adempiere.ui.swing/src/org/compiere/apps/Preference.java +++ b/org.adempiere.ui.swing/src/org/compiere/apps/Preference.java @@ -158,7 +158,6 @@ public final class Preference extends CDialog private CCheckBox storePassword = new CCheckBox(); private CCheckBox showTrl = new CCheckBox(); private CCheckBox showAcct = new CCheckBox(); - private CCheckBox showAdvanced = new CCheckBox(); private CCheckBox cacheWindow = new CCheckBox(); private CLabel lPrinter = new CLabel(); private CPrinter fPrinter = new CPrinter(); @@ -234,8 +233,6 @@ public final class Preference extends CDialog showTrl.setToolTipText(Msg.getMsg(Env.getCtx(), "ShowTrlTab", false)); showAcct.setText(Msg.getMsg(Env.getCtx(), "ShowAcctTab", true)); showAcct.setToolTipText(Msg.getMsg(Env.getCtx(), "ShowAcctTab", false)); - showAdvanced.setText(Msg.getMsg(Env.getCtx(), "ShowAdvancedTab", true)); - showAdvanced.setToolTipText(Msg.getMsg(Env.getCtx(), "ShowAdvancedTab", false)); cacheWindow.setText(Msg.getMsg(Env.getCtx(), "CacheWindow", true)); cacheWindow.setToolTipText(Msg.getMsg(Env.getCtx(), "CacheWindow", false)); lPrinter.setText(Msg.getMsg(Env.getCtx(), "Printer")); @@ -272,7 +269,6 @@ public final class Preference extends CDialog windowPanel.setLayout(new GridLayout(4, 2)); windowPanel.add(showAcct);showAcct.setBorder(insetBorder); windowPanel.add(showTrl);showTrl.setBorder(insetBorder); - windowPanel.add(showAdvanced);showAdvanced.setBorder(insetBorder); windowPanel.add(autoCommit);autoCommit.setBorder(insetBorder); windowPanel.add(autoNew);autoNew.setBorder(insetBorder); windowPanel.add(cacheWindow);cacheWindow.setBorder(insetBorder); @@ -495,7 +491,6 @@ public final class Preference extends CDialog } // Show Trl/Advanced Tab showTrl.setSelected(Ini.isPropertyBool(Ini.P_SHOW_TRL)); - showAdvanced.setSelected(Ini.isPropertyBool(Ini.P_SHOW_ADVANCED)); cacheWindow.setSelected(Ini.isCacheWindow()); @@ -571,9 +566,6 @@ public final class Preference extends CDialog // Show Trl Tab Ini.setProperty(Ini.P_SHOW_TRL, (showTrl.isSelected())); Env.setContext(Env.getCtx(), "#ShowTrl", (showTrl.isSelected())); - // Show Advanced Tab - Ini.setProperty(Ini.P_SHOW_ADVANCED, (showAdvanced.isSelected())); - Env.setContext(Env.getCtx(), "#ShowAdvanced", (showAdvanced.isSelected())); Ini.setProperty(Ini.P_CACHE_WINDOW, cacheWindow.isSelected()); diff --git a/org.adempiere.ui.swing/src/org/compiere/print/AReport.java b/org.adempiere.ui.swing/src/org/compiere/print/AReport.java index a187425eda..27e39c2850 100644 --- a/org.adempiere.ui.swing/src/org/compiere/print/AReport.java +++ b/org.adempiere.ui.swing/src/org/compiere/print/AReport.java @@ -85,9 +85,13 @@ public class AReport implements ActionListener m_query = query; this.parent = parent; this.WindowNo = WindowNo; + + int AD_Window_ID = Env.getContextAsInt(Env.getCtx(), WindowNo, "_WinInfo_AD_Window_ID", true); + if (AD_Window_ID == 0) + AD_Window_ID = Env.getZoomWindowID(query); // See What is there - getPrintFormats (AD_Table_ID, invoker); + getPrintFormats (AD_Table_ID, AD_Window_ID, invoker); } // AReport /** @@ -115,9 +119,13 @@ public class AReport implements ActionListener this.parent = parent; this.WindowNo = WindowNo; this.m_whereExtended = whereExtended; + + int AD_Window_ID = Env.getContextAsInt(Env.getCtx(), WindowNo, "_WinInfo_AD_Window_ID", true); + if (AD_Window_ID == 0) + AD_Window_ID = Env.getZoomWindowID(query); // See What is there - getPrintFormats (AD_Table_ID, invoker); + getPrintFormats (AD_Table_ID, AD_Window_ID, invoker); } // AReport /** The Query */ @@ -141,10 +149,10 @@ public class AReport implements ActionListener * @param AD_Table_ID table * @param invoker component to display popup (optional) */ - private void getPrintFormats (int AD_Table_ID, JComponent invoker) + private void getPrintFormats (int AD_Table_ID, int AD_Window_ID, JComponent invoker) { int AD_Client_ID = Env.getAD_Client_ID(Env.getCtx()); - RowSet rowSet = MPrintFormat.getAccessiblePrintFormats(AD_Table_ID, -1, null); + RowSet rowSet = MPrintFormat.getAccessiblePrintFormats(AD_Table_ID, AD_Window_ID, -1, null); KeyNamePair pp = null; try { diff --git a/org.adempiere.ui.swing/src/org/compiere/print/Viewer.java b/org.adempiere.ui.swing/src/org/compiere/print/Viewer.java index 5642a18435..e9f265b7a4 100644 --- a/org.adempiere.ui.swing/src/org/compiere/print/Viewer.java +++ b/org.adempiere.ui.swing/src/org/compiere/print/Viewer.java @@ -429,6 +429,10 @@ public class Viewer extends CFrame comboReport.removeActionListener(this); comboReport.removeAllItems(); KeyNamePair selectValue = null; + + int AD_Window_ID = Env.getContextAsInt(Env.getCtx(), m_reportEngine.getWindowNo(), "_WinInfo_AD_Window_ID", true); + if (AD_Window_ID == 0) + AD_Window_ID = Env.getZoomWindowID(m_reportEngine.getQuery()); // fill Report Options String sql = MRole.getDefault().addAccessSQL( "SELECT AD_PrintFormat_ID, Name, Description " @@ -437,6 +441,7 @@ public class Viewer extends CFrame //Added Lines by Armen + "AND IsActive='Y' " //End of Added Lines + + (AD_Window_ID > 0 ? "AND (AD_Window_ID=? OR AD_Window_ID IS NULL) " : "") + "ORDER BY Name", "AD_PrintFormat", MRole.SQL_NOTQUALIFIED, MRole.SQL_RO); int AD_Table_ID = m_reportEngine.getPrintFormat().getAD_Table_ID(); @@ -446,6 +451,8 @@ public class Viewer extends CFrame { pstmt = DB.prepareStatement(sql, null); pstmt.setInt(1, AD_Table_ID); + if (AD_Window_ID > 0) + pstmt.setInt(2, AD_Window_ID); rs = pstmt.executeQuery(); while (rs.next()) { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java index 4252ce3e50..5d628a1f47 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereWebUI.java @@ -222,7 +222,6 @@ public class AdempiereWebUI extends Window implements EventListener, IWeb //enable full interface, relook into this when doing preference Env.setContext(ctx, "#ShowTrl", true); Env.setContext(ctx, "#ShowAcct", MRole.getDefault().isShowAcct()); - Env.setContext(ctx, "#ShowAdvanced", true); // to reload preferences when the user refresh the browser userPreference = loadUserPreference(Env.getAD_User_ID(ctx)); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/acct/WAcctViewer.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/acct/WAcctViewer.java index 89e814bca3..538742630b 100755 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/acct/WAcctViewer.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/acct/WAcctViewer.java @@ -62,7 +62,6 @@ import org.compiere.report.core.RModelExcelExporter; import org.compiere.tools.FileUtil; import org.compiere.util.CLogger; import org.compiere.util.Env; -import org.compiere.util.Ini; import org.compiere.util.KeyNamePair; import org.compiere.util.Msg; import org.compiere.util.Util; @@ -722,8 +721,7 @@ public class WAcctViewer extends Window implements EventListener bExport.setVisible(tabResult.isSelected()); bZoom.setVisible(tabResult.isSelected()); - if (Ini.isPropertyBool(Ini.P_SHOW_ADVANCED)) - forcePost.setVisible(visible); + forcePost.setVisible(visible); } // stateChanged /** 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 ef26b60e8d..95dd6a9956 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 @@ -119,10 +119,11 @@ import org.zkoss.zul.impl.XulElement; public class ADTabpanel extends Div implements Evaluatee, EventListener, DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer { + /** - * + * generated serial id */ - private static final long serialVersionUID = 3103263515116231658L; + private static final long serialVersionUID = -6748431395547118246L; private static final String ON_SAVE_OPEN_PREFERENCE_EVENT = "onSaveOpenPreference"; @@ -131,9 +132,10 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer public static final String ON_SWITCH_VIEW_EVENT = "onSwitchView"; public static final String ON_DYNAMIC_DISPLAY_EVENT = "onDynamicDisplay"; - private static final String ON_DEFER_SET_SELECTED_NODE = "onDeferSetSelectedNode"; + private static final String ON_DEFER_SET_SELECTED_NODE_ATTR = "onDeferSetSelectedNode.Event.Posted"; + private static final CLogger logger; static @@ -657,12 +659,12 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer } /** - * Validate display properties of fields of current row + * Validate display properties of fields of current row. * @param col */ @Override - public void dynamicDisplay (int col) - { + public void dynamicDisplay (int col) + { if (!gridTab.isOpen()) { return; @@ -674,11 +676,6 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer collapsedGroups.add(group); } - for (WEditor comp : editors) - { - comp.updateLabelStyle(); - } - // Selective if (col > 0) { @@ -689,7 +686,12 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer + columnName + " - Dependents=" + dependants.size()); if ( ! ( dependants.size() > 0 || changedField.getCallout().length() > 0 - || Core.findCallout(gridTab.getTableName(), columnName).size() > 0)) { + || Core.findCallout(gridTab.getTableName(), columnName).size() > 0)) + { + for (WEditor comp : editors) + { + comp.updateLabelStyle(); + } return; } } @@ -725,6 +727,7 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer comp.setVisible(false); } } + comp.updateLabelStyle(); } // all components //hide row if all editor within the row is invisible @@ -803,10 +806,17 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer } Events.sendEvent(this, new Event(ON_DYNAMIC_DISPLAY_EVENT, this)); - Events.echoEvent(ON_DEFER_SET_SELECTED_NODE, this, null); + echoDeferSetSelectedNodeEvent(); if (logger.isLoggable(Level.CONFIG)) logger.config(gridTab.toString() + " - fini - " + (col<=0 ? "complete" : "seletive")); } // dynamicDisplay + private void echoDeferSetSelectedNodeEvent() { + if (getAttribute(ON_DEFER_SET_SELECTED_NODE_ATTR) == null) { + setAttribute(ON_DEFER_SET_SELECTED_NODE_ATTR, Boolean.TRUE); + Events.echoEvent(ON_DEFER_SET_SELECTED_NODE, this, null); + } + } + /** * @return String */ @@ -964,7 +974,7 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer } if (gridTab.getRecord_ID() > 0 && gridTab.isTreeTab() && treePanel != null) { - Events.echoEvent(ON_DEFER_SET_SELECTED_NODE, this, null); + echoDeferSetSelectedNodeEvent(); } Event event = new Event(ON_ACTIVATE_EVENT, this, activate); @@ -1022,6 +1032,7 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer navigateTo((DefaultTreeNode)item.getValue()); } else if (ON_DEFER_SET_SELECTED_NODE.equals(event.getName())) { + removeAttribute(ON_DEFER_SET_SELECTED_NODE_ATTR); if (gridTab.getRecord_ID() >= 0 && gridTab.isTreeTab() && treePanel != null) { setSelectedNode(gridTab.getRecord_ID()); } @@ -1213,7 +1224,7 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer if (AD_Tree_ID != 0) { if (treePanel.initTree(AD_Tree_ID, windowNo)) - Events.echoEvent(ON_DEFER_SET_SELECTED_NODE, this, null); + echoDeferSetSelectedNodeEvent(); else setSelectedNode(gridTab.getRecord_ID()); @@ -1298,7 +1309,7 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer int[] path = model.getPath(treeNode); Treeitem ti = treePanel.getTree().renderItemByPath(path); if (ti.getPage() == null) { - Events.echoEvent(ON_DEFER_SET_SELECTED_NODE, this, null); + echoDeferSetSelectedNodeEvent(); } boolean changed = false; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindow.java index db1d86f882..62d3e87af3 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindow.java @@ -25,6 +25,7 @@ import java.util.Map; import java.util.Properties; import org.adempiere.webui.desktop.IDesktop; +import org.adempiere.webui.exception.ApplicationException; import org.adempiere.webui.part.AbstractUIPart; import org.adempiere.webui.session.SessionManager; import org.compiere.model.MImage; @@ -88,7 +89,12 @@ public class ADWindow extends AbstractUIPart this.adWindowId = adWindowId; windowNo = SessionManager.getAppDesktop().registerWindow(this); this.query = query; - init(); + try { + init(); + } catch (Exception e) { + SessionManager.getAppDesktop().unregisterWindow(windowNo); + throw new ApplicationException(e.getMessage(), e); + } } private void init() diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java index 5fb2a71c22..ee8e104e9d 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java @@ -1389,6 +1389,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements boolean changed = e.isChanged() || e.isInserting(); boolean readOnly = adTabbox.getSelectedGridTab().isReadOnly(); + boolean processed = "Y".equals(Env.getContext(Env.getCtx(), getWindowNo(), "Processed", true)); boolean insertRecord = !readOnly; if (!detailTab) { @@ -1401,7 +1402,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements } toolbar.enableNew(!changed && insertRecord && !tabPanel.getGridTab().isSortTab()); toolbar.enableRefresh(!changed); - toolbar.enableDelete(!changed && !readOnly && !tabPanel.getGridTab().isSortTab()); + toolbar.enableDelete(!changed && !readOnly && !tabPanel.getGridTab().isSortTab() && !processed); // if (readOnly && adTabbox.getSelectedGridTab().isAlwaysUpdateField()) { @@ -1410,7 +1411,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements } else { - adTabbox.updateDetailPaneToolbar(changed, readOnly); + adTabbox.updateDetailPaneToolbar(changed, readOnly || processed); } toolbar.enableIgnore(adTabbox.needSave(true, false) || adTabbox.getSelectedGridTab().isNew() || @@ -1559,20 +1560,31 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements @Override public void onCallback(Boolean result) { - adTabbox.getSelectedGridTab().dataRefreshAll(fireEvent, true); - adTabbox.getSelectedTabpanel().dynamicDisplay(0); - focusToActivePanel(); + doOnRefresh(fireEvent); } }); } else { - adTabbox.getSelectedGridTab().dataRefreshAll(fireEvent, true); - adTabbox.getSelectedTabpanel().dynamicDisplay(0); - focusToActivePanel(); + doOnRefresh(fireEvent); } } + /** + * @param fireEvent + */ + protected void doOnRefresh(final boolean fireEvent) { + IADTabpanel headerTab = adTabbox.getSelectedTabpanel(); + IADTabpanel detailTab = adTabbox.getSelectedDetailADTabpanel(); + adTabbox.getSelectedGridTab().dataRefreshAll(fireEvent, true); + headerTab.dynamicDisplay(0); + if (detailTab != null) + { + detailTab.dynamicDisplay(0); + } + focusToActivePanel(); + } + /** * @see ToolbarListener#onRefresh() */ @@ -1995,6 +2007,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements adTabbox.getSelectedTabpanel().dynamicDisplay(0); focusToActivePanel(); + MRecentItem.publishChangedEvent(Env.getAD_User_ID(ctx)); } } }); @@ -2164,6 +2177,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements adTabbox.getSelectedTabpanel().dynamicDisplay(0); messagePanel.dispose(); + MRecentItem.publishChangedEvent(Env.getAD_User_ID(ctx)); } else { logger.fine("cancel"); } @@ -2432,6 +2446,9 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements { final IADTabpanel adtabPanel = findADTabpanel(wButton); boolean startWOasking = false; + if (adtabPanel == null) { + return; + } final int table_ID = adtabPanel.getGridTab().getAD_Table_ID(); // Record_ID diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/BreadCrumb.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/BreadCrumb.java index 43dd3dd491..40e60b9353 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/BreadCrumb.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/BreadCrumb.java @@ -492,5 +492,9 @@ public class BreadCrumb extends Div implements EventListener { public ToolBarButton getPreviousButton() { return btnPrevious; - } + } + + public boolean isEmpty() { + return layout == null || layout.getChildren().isEmpty(); + } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/CompositeADTabbox.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/CompositeADTabbox.java index 50af43f98f..5400928da6 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/CompositeADTabbox.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/CompositeADTabbox.java @@ -349,9 +349,8 @@ public class CompositeADTabbox extends AbstractADTabbox if (layout.getChildren().isEmpty()) { layout.appendChild(tabPanel); - headerTab = tabPanel; - updateBreadCrumb(); - } else if (tabLabel.tabLevel <= 1) { + headerTab = tabPanel; + } else if (tabLabel.tabLevel == 1) { if (headerTab.getDetailPane() == null) { headerTab.setDetailPane(createDetailPane()); } else @@ -360,7 +359,7 @@ public class CompositeADTabbox extends AbstractADTabbox headerTab.getDetailPane().addADTabpanel(tabPanel, tabLabel); tabPanel.setDetailPaneMode(true); headerTab.getDetailPane().setVflex("true"); - } else { + } else if (tabLabel.tabLevel > 1){ headerTab.getDetailPane().addADTabpanel(tabPanel, tabLabel, false); tabPanel.setDetailPaneMode(true); headerTab.getDetailPane().setVflex("true"); @@ -372,6 +371,18 @@ public class CompositeADTabbox extends AbstractADTabbox tabPanel.getGridTab().addDataStatusListener(new SyncDataStatusListener(tabPanel)); } + @Override + public boolean updateSelectedIndex(int oldIndex, int newIndex) { + boolean b = super.updateSelectedIndex(oldIndex, newIndex); + if (b) { + BreadCrumb breadcrumb = getBreadCrumb(); + if (breadcrumb.isEmpty()) { + updateBreadCrumb(); + } + } + return b; + } + private void activateDetailIfVisible() { if (headerTab instanceof ADTabpanel) { ((ADTabpanel)headerTab).activateDetailIfVisible(); @@ -460,7 +471,7 @@ public class CompositeADTabbox extends AbstractADTabbox IADTabpanel tabPanel = tabPanelList.get(i); int tabLevel = tabPanel.getTabLevel(); ADTabListModel.ADTabLabel tabLabel = tabLabelList.get(i); - if ((tabLevel - currentLevel) == 1 || (tabLevel == 0 && currentLevel == 0)) { + if ((tabLevel - currentLevel) == 1) { tabIndex++; Object[] value = new Object[]{tabIndex, tabPanel, tabLabel, Boolean.TRUE}; list.add(value); @@ -593,20 +604,39 @@ public class CompositeADTabbox extends AbstractADTabbox } } } - for(int i = parentIndex+1; i < tabLabelList.size(); i++) { - if (i == selectedIndex) continue; - - tabLabel = tabLabelList.get(i); - if (tabLabel.tabLevel == headerTab.getTabLevel()) { - IADTabpanel adtab = tabPanelList.get(i); - if (adtab.getDisplayLogic() != null && adtab.getDisplayLogic().trim().length() > 0) { - if (!Evaluator.evaluateLogic(headerTab, adtab.getDisplayLogic())) { - continue; - } - } - links.put(Integer.toString(i), tabLabel.label); - } else if (tabLabel.tabLevel < headerTab.getTabLevel()) { - break; + if (headerTab.getTabLevel() == 0) + { + for(int i = 0; i < tabLabelList.size(); i++) { + if (i == selectedIndex) continue; + tabLabel = tabLabelList.get(i); + if (tabLabel.tabLevel == headerTab.getTabLevel()) { + IADTabpanel adtab = tabPanelList.get(i); + if (adtab.getDisplayLogic() != null && adtab.getDisplayLogic().trim().length() > 0) { + if (!Evaluator.evaluateLogic(headerTab, adtab.getDisplayLogic())) { + continue; + } + } + links.put(Integer.toString(i), tabLabel.label); + } + } + } + else + { + for(int i = parentIndex+1; i < tabLabelList.size(); i++) { + if (i == selectedIndex) continue; + + tabLabel = tabLabelList.get(i); + if (tabLabel.tabLevel == headerTab.getTabLevel()) { + IADTabpanel adtab = tabPanelList.get(i); + if (adtab.getDisplayLogic() != null && adtab.getDisplayLogic().trim().length() > 0) { + if (!Evaluator.evaluateLogic(headerTab, adtab.getDisplayLogic())) { + continue; + } + } + links.put(Integer.toString(i), tabLabel.label); + } else if (tabLabel.tabLevel < headerTab.getTabLevel()) { + break; + } } } @@ -660,7 +690,7 @@ public class CompositeADTabbox extends AbstractADTabbox if (detailTab != null) { //check data action String uuid = (String) execution.getAttribute(CompositeADTabbox.class.getName()+".dataAction"); - if (uuid != null && uuid.equals(detailTab.getUuid())) { + if (uuid != null && uuid.equals(detailTab.getUuid()) && detailTab.getGridTab().isCurrent()) { //refresh current row detailTab.getGridTab().dataRefresh(false); //keep focus @@ -792,7 +822,16 @@ public class CompositeADTabbox extends AbstractADTabbox if (headerTab.getGridTab().isNew()) { tabPanel.resetDetailForNewParentRecord(); } else { + //maintain detail row position if possible + int currentRow = -1; + if (!tabPanel.getGridTab().isSortTab()) { + currentRow = tabPanel.getGridTab().getCurrentRow(); + } tabPanel.query(false, 0, 0); + if (currentRow >= 0 && currentRow != tabPanel.getGridTab().getCurrentRow() + && currentRow < tabPanel.getGridTab().getRowCount()) { + tabPanel.getGridTab().setCurrentRow(currentRow, false); + } } if (!tabPanel.isVisible()) { tabPanel.setVisible(true); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridTabRowRenderer.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridTabRowRenderer.java index 989d199f8a..393582d25e 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridTabRowRenderer.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridTabRowRenderer.java @@ -20,6 +20,7 @@ import java.util.Map.Entry; import java.util.Properties; import org.adempiere.util.GridRowCtx; +import org.adempiere.webui.component.Button; import org.adempiere.webui.component.Checkbox; import org.adempiere.webui.component.EditorBox; import org.adempiere.webui.component.NumberBox; @@ -122,7 +123,6 @@ public class GridTabRowRenderer implements RowRenderer, RowRendererExt { if (buttonListener != null) { - ((WButtonEditor)editor).removeActionListener(buttonListener); ((WButtonEditor)editor).addActionListener(buttonListener); } else @@ -289,7 +289,11 @@ public class GridTabRowRenderer implements RowRenderer, RowRendererExt entry.getKey().removePropertyChangeListener(entry.getValue()); entry.getValue().removeValuechangeListener(dataBinder); - div.appendChild(component); + if (component.getParent() == null || component.getParent() != div) + div.appendChild(component); + else if (!component.isVisible()) { + component.setVisible(true); + } } } @@ -503,9 +507,13 @@ public class GridTabRowRenderer implements RowRenderer, RowRendererExt org.zkoss.zul.Column column = (org.zkoss.zul.Column) columns.getChildren().get(colIndex); if (column.isVisible()) { - Cell div = (Cell) currentRow.getChildren().get(colIndex); - div.getChildren().clear(); + Cell div = (Cell) currentRow.getChildren().get(colIndex); WEditor editor = getEditorCell(gridPanelFields[i]); + if (div.getChildren().isEmpty() || !(div.getChildren().get(0) instanceof Button)) + div.getChildren().clear(); + else if (!div.getChildren().isEmpty()) { + div.getChildren().get(0).setVisible(false); + } div.appendChild(editor.getComponent()); WEditorPopupMenu popupMenu = editor.getPopupMenu(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java index 6083bb24bc..0976282138 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java @@ -82,7 +82,7 @@ public class GridView extends Vbox implements EventListener, IdSpace, IFi private static final int MIN_COMBOBOX_WIDTH = 160; - private static final int MIN_NUMERIC_COL_WIDTH = 130; + private static final int MIN_NUMERIC_COL_WIDTH = 120; private static final String ATTR_ON_POST_SELECTED_ROW_CHANGED = "org.adempiere.webui.adwindow.GridView.onPostSelectedRowChanged"; @@ -166,7 +166,7 @@ public class GridView extends Vbox implements EventListener, IdSpace, IFi protected void createListbox() { listbox = new Grid(); listbox.setEmptyMessage(Util.cleanAmp(Msg.getMsg(Env.getCtx(), "FindZeroRecords"))); - listbox.setSizedByContent(true); + listbox.setSizedByContent(false); listbox.setVflex("1"); listbox.setHflex("1"); listbox.setSclass("adtab-grid"); @@ -296,7 +296,7 @@ public class GridView extends Vbox implements EventListener, IdSpace, IFi refreshing = true; listbox.setModel(listModel); updateListIndex(); - refreshing = false; + refreshing = false; } } @@ -424,34 +424,53 @@ public class GridView extends Vbox implements EventListener, IdSpace, IFi if (columnWidthMap != null && columnWidthMap.get(gridField[i].getAD_Field_ID()) != null) { column.setWidth(columnWidthMap.get(gridField[i].getAD_Field_ID())); } else { - int l = DisplayType.isNumeric(gridField[i].getDisplayType()) - ? 120 : gridField[i].getDisplayLength() * 9; - //special treatment for line - if (DisplayType.isNumeric(gridField[i].getDisplayType()) && "Line".equals(gridField[i].getColumnName())) - { - l = 60; - } - else - { - if (gridField[i].getHeader().length() * 9 > l) - l = gridField[i].getHeader().length() * 9; - if (l > MAX_COLUMN_WIDTH) - l = MAX_COLUMN_WIDTH; - else if ( l < MIN_COLUMN_WIDTH) - l = MIN_COLUMN_WIDTH; - if (gridField[i].getDisplayType() == DisplayType.Table || gridField[i].getDisplayType() == DisplayType.TableDir) + if (gridField[i].getDisplayType()==DisplayType.YesNo) { + //safe to use minimum width for checkbox + column.setHflex("min"); + } else if (DisplayType.isNumeric(gridField[i].getDisplayType()) && "Line".equals(gridField[i].getColumnName())) { + //special treatment for line + column.setHflex("min"); + } else { + int estimatedWidth = 0; + if (DisplayType.isNumeric(gridField[i].getDisplayType())) + estimatedWidth = MIN_NUMERIC_COL_WIDTH; + else if (DisplayType.isLookup(gridField[i].getDisplayType())) + estimatedWidth = MIN_COMBOBOX_WIDTH; + else if (DisplayType.isText(gridField[i].getDisplayType())) + estimatedWidth = gridField[i].getDisplayLength() * 8; + else + estimatedWidth = MIN_COLUMN_WIDTH; + + int headerWidth = (gridField[i].getHeader().length()+2) * 8; + if (headerWidth > estimatedWidth) + estimatedWidth = headerWidth; + + if (DisplayType.isLookup(gridField[i].getDisplayType())) { - if (l < MIN_COMBOBOX_WIDTH) - l = MIN_COMBOBOX_WIDTH; + if (headerWidth > MIN_COMBOBOX_WIDTH) + column.setHflex("min"); } else if (DisplayType.isNumeric(gridField[i].getDisplayType())) { - if (l < MIN_NUMERIC_COL_WIDTH) - l = MIN_NUMERIC_COL_WIDTH; + if (headerWidth > MIN_NUMERIC_COL_WIDTH) + column.setHflex("min"); + } + else if (!DisplayType.isText(gridField[i].getDisplayType())) + { + if (headerWidth > MIN_COLUMN_WIDTH) + column.setHflex("min"); + } + + //set estimated width if not using hflex=min + if (!"min".equals(column.getHflex())) { + if (estimatedWidth > MAX_COLUMN_WIDTH) + estimatedWidth = MAX_COLUMN_WIDTH; + else if ( estimatedWidth < MIN_COLUMN_WIDTH) + estimatedWidth = MIN_COLUMN_WIDTH; + column.setWidth(Integer.toString(estimatedWidth) + "px"); } } - column.setWidth(Integer.toString(l) + "px"); - } + } columns.appendChild(column); } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/IADTabbox.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/IADTabbox.java index 519aa569ec..8beac408cf 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/IADTabbox.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/IADTabbox.java @@ -176,5 +176,6 @@ public interface IADTabbox extends UIPart { /** * @return true if all the tabs of detail pane have been linked up with adtabpanel */ - boolean isDetailPaneLoaded(); + public boolean isDetailPaneLoaded(); + } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AEnv.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AEnv.java index 8cb085b765..6e40073b13 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AEnv.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AEnv.java @@ -24,9 +24,6 @@ import java.io.IOException; import java.lang.ref.WeakReference; import java.net.URI; import java.net.URISyntaxException; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; import java.util.Enumeration; import java.util.HashMap; import java.util.List; @@ -155,24 +152,11 @@ public final class AEnv */ public static void zoom (int AD_Table_ID, int Record_ID) { - int AD_Window_ID = MZoomCondition.findZoomWindowByTableId(AD_Table_ID, Record_ID); + int AD_Window_ID = Env.getZoomWindowID(AD_Table_ID, Record_ID); + // Nothing to Zoom to + if (AD_Window_ID == 0) + return; MTable table = MTable.get(Env.getCtx(), AD_Table_ID); - if (AD_Window_ID <= 0) - { - - AD_Window_ID = table.getAD_Window_ID(); - // PO Zoom ? - boolean isSOTrx = true; - if (table.getPO_Window_ID() != 0) - { - String whereClause = table.getTableName() + "_ID=" + Record_ID; - isSOTrx = DB.isSOTrx(table.getTableName(), whereClause); - if (!isSOTrx) - AD_Window_ID = table.getPO_Window_ID(); - } - - if (log.isLoggable(Level.CONFIG)) log.config(table.getTableName() + " - Record_ID=" + Record_ID + " (IsSOTrx=" + isSOTrx + ")"); - } zoom(AD_Window_ID, MQuery.getEqualQuery(table.getKeyColumns()[0], Record_ID)); } // zoom @@ -403,10 +387,19 @@ public final class AEnv zoomQuery.setRecordCount(1); // guess } int windowId = lookup.getZoom(zoomQuery); - int zoomId = MZoomCondition.findZoomWindowByWindowId(windowId, zoomQuery); - zoom(zoomId > 0 ? zoomId : windowId, zoomQuery); + zoom(windowId, zoomQuery); } + /** + * open zoom window with query + * @param AD_Window_ID + * @param query + */ + public static void showZoomWindow(int AD_Window_ID, MQuery query) + { + SessionManager.getAppDesktop().showZoomWindow(AD_Window_ID, query); + } + /** * Zoom to a window with the provided window id and filters according to the * query @@ -415,7 +408,8 @@ public final class AEnv */ public static void zoom(int AD_Window_ID, MQuery query) { - SessionManager.getAppDesktop().showZoomWindow(AD_Window_ID, query); + int zoomId = MZoomCondition.findZoomWindowByWindowId(AD_Window_ID, query); + showZoomWindow(zoomId > 0 ? zoomId : AD_Window_ID, query); } public static void showWindow(Window win) @@ -431,56 +425,15 @@ public final class AEnv { if (query == null || query.getTableName() == null || query.getTableName().length() == 0) return; - int AD_Window_ID = MZoomCondition.findZoomWindow(query); - if (AD_Window_ID <= 0) - { - String TableName = query.getTableName(); - int PO_Window_ID = 0; - String sql = "SELECT AD_Window_ID, PO_Window_ID FROM AD_Table WHERE TableName=?"; - PreparedStatement pstmt = null; - ResultSet rs = null; - try - { - pstmt = DB.prepareStatement(sql, null); - pstmt.setString(1, TableName); - rs = pstmt.executeQuery(); - if (rs.next()) - { - AD_Window_ID = rs.getInt(1); - PO_Window_ID = rs.getInt(2); - } - } - catch (SQLException e) - { - log.log(Level.SEVERE, sql, e); - } - finally - { - DB.close(rs, pstmt); - rs = null; - pstmt = null; - } - // Nothing to Zoom to - if (AD_Window_ID == 0) - return; - - // PO Zoom ? - boolean isSOTrx = true; - if (PO_Window_ID != 0) - { - isSOTrx = DB.isSOTrx(TableName, query.getWhereClause(false)); - if (!isSOTrx) - AD_Window_ID = PO_Window_ID; - } + int AD_Window_ID = Env.getZoomWindowID(query); + // Nothing to Zoom to + if (AD_Window_ID == 0) + return; - if (log.isLoggable(Level.CONFIG)) log.config(query + " (IsSOTrx=" + isSOTrx + ")"); - } - - zoom(AD_Window_ID, query); + showZoomWindow(AD_Window_ID, query); } - /** * Get ImageIcon. * 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 a294ba81f6..f6f11701e3 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 @@ -101,6 +101,7 @@ public class ProcessParameterPanel extends Panel implements this.width = width; // initComponent(); + addEventListener("onDynamicDisplay", this); } // ProcessParameterPanel private void initComponent() { @@ -566,6 +567,9 @@ public class ProcessParameterPanel extends Panel implements } } } + else if (event.getName().equals("onDynamicDisplay")) { + dynamicDisplay(); + } } /** @@ -623,7 +627,7 @@ public class ProcessParameterPanel extends Panel implements else Env.setContext(Env.getCtx(), m_WindowNo, name, value.toString()); - dynamicDisplay(); + Events.postEvent("onDynamicDisplay", this, (Object)null); } private void dynamicDisplay() { @@ -653,6 +657,7 @@ public class ProcessParameterPanel extends Panel implements m_wEditors2.get(i).setVisible(false); } } + editor.setMandatory(mField.isMandatory(true)); editor.updateLabelStyle(); } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/WReport.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/WReport.java index 752ebdd123..33006cd8d7 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/WReport.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/WReport.java @@ -100,8 +100,12 @@ public class WReport implements EventListener { this.WindowNo = WindowNo; this.whereExtended = whereExtended; + int AD_Window_ID = Env.getContextAsInt(Env.getCtx(), WindowNo, "_WinInfo_AD_Window_ID", true); + if (AD_Window_ID == 0) + AD_Window_ID = Env.getZoomWindowID(query); + // See What is there - getPrintFormats (AD_Table_ID); + getPrintFormats (AD_Table_ID, AD_Window_ID); } // AReport /** The Query */ @@ -124,10 +128,10 @@ public class WReport implements EventListener { * @param AD_Table_ID table * @param invoker component to display popup (optional) */ - private void getPrintFormats (int AD_Table_ID) + private void getPrintFormats (int AD_Table_ID, int AD_Window_ID) { int AD_Client_ID = Env.getAD_Client_ID(Env.getCtx()); - RowSet rowSet = MPrintFormat.getAccessiblePrintFormats(AD_Table_ID, -1, null); + RowSet rowSet = MPrintFormat.getAccessiblePrintFormats(AD_Table_ID, AD_Window_ID, -1, null); KeyNamePair pp = null; try { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WCreateFromShipmentUI.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WCreateFromShipmentUI.java index e0f282843e..1fd2d334a0 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WCreateFromShipmentUI.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WCreateFromShipmentUI.java @@ -20,6 +20,7 @@ import java.util.List; import java.util.Vector; import java.util.logging.Level; +import org.adempiere.exceptions.AdempiereException; import org.adempiere.webui.apps.AEnv; import org.adempiere.webui.component.Checkbox; import org.adempiere.webui.component.Grid; @@ -80,6 +81,7 @@ public class WCreateFromShipmentUI extends CreateFromShipment implements EventLi { log.log(Level.SEVERE, "", e); setInitOK(false); + throw new AdempiereException(e.getMessage()); } AEnv.showWindow(window); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/wf/WFEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/wf/WFEditor.java index 2e768f1e36..6647c4c258 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/wf/WFEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/wf/WFEditor.java @@ -19,7 +19,6 @@ import java.util.ArrayList; import java.util.List; import java.util.logging.Level; -import org.adempiere.exceptions.AdempiereException; import org.adempiere.webui.apps.AEnv; import org.adempiere.webui.component.ConfirmPanel; import org.adempiere.webui.component.ListItem; @@ -33,9 +32,7 @@ import org.adempiere.webui.panel.ADForm; import org.adempiere.webui.theme.ThemeManager; import org.compiere.apps.wf.WFGraphLayout; import org.compiere.apps.wf.WFNodeWidget; -import org.compiere.model.MQuery; import org.compiere.model.MRole; -import org.compiere.model.MTable; import org.compiere.util.DB; import org.compiere.util.Env; import org.compiere.util.KeyNamePair; @@ -445,15 +442,7 @@ public class WFEditor extends ADForm { private void zoom() { if (m_workflowId > 0) { - int AD_Window_ID = MTable.get(Env.getCtx(), MWorkflow.Table_ID).getAD_Window_ID(); - - if (AD_Window_ID <= 0) { - throw new AdempiereException("@NotFound@ @AD_Window_ID@"); - } - - MQuery query = null; - query = MQuery.getEqualQuery("AD_Workflow_ID", m_workflowId); - AEnv.zoom(AD_Window_ID, query); + AEnv.zoom(MWorkflow.Table_ID, m_workflowId); } } // zoom diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/SimpleTreeModel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/SimpleTreeModel.java index fcf0857c53..6c27f640fe 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/SimpleTreeModel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/component/SimpleTreeModel.java @@ -12,6 +12,7 @@ *****************************************************************************/ package org.adempiere.webui.component; +import java.awt.Color; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; @@ -156,6 +157,15 @@ public class SimpleTreeModel extends org.zkoss.zul.DefaultTreeModel impl tr.setDroppable("true"); tr.addEventListener(Events.ON_DROP, this); } + + // Color + final MTreeNode mNode = (MTreeNode) ((DefaultTreeNode) node).getData(); + Color color = mNode.getColor(); + if (color != null){ + String hex = ZkCssHelper.createHexColorString(color); + ZkCssHelper.appendStyle(tc, "color: #" + hex); + } + // End color }else{ tr = ti.getTreerow(); tr.getChildren().clear(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/dashboard/CalendarWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/dashboard/CalendarWindow.java index 3123cc7e42..04c66a9cc9 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/dashboard/CalendarWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/dashboard/CalendarWindow.java @@ -104,7 +104,7 @@ public class CalendarWindow extends Window implements EventListener { setTitle(Msg.getMsg(ctx,"Calendar")); setAttribute(Window.MODE_KEY, Window.MODE_EMBEDDED); - Component component = Executions.createComponents(ThemeManager.getThemeResource("/zul/calendar/calendar.zul"), this, null); + Component component = Executions.createComponents(ThemeManager.getThemeResource("zul/calendar/calendar.zul"), this, null); Borderlayout borderlayout = (Borderlayout) component.getFellow("main"); borderlayout.setStyle("position: absolute"); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/dashboard/DPPerformance.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/dashboard/DPPerformance.java index b4de64c04e..9e80740a48 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/dashboard/DPPerformance.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/dashboard/DPPerformance.java @@ -29,6 +29,7 @@ import org.zkoss.zk.ui.util.Clients; */ public class DPPerformance extends DashboardPanel { + private static final String ON_POST_RENDER_ATTR = "onPostRender.Event.Posted"; /** * */ @@ -53,22 +54,31 @@ public class DPPerformance extends DashboardPanel { public void refresh(ServerPushTemplate template) { super.refresh(template); - if (Executions.getCurrent() != null) - Events.echoEvent("onPostRender", this, null); + if (Executions.getCurrent() != null) { + if (this.getAttribute(ON_POST_RENDER_ATTR) == null) { + setAttribute(ON_POST_RENDER_ATTR, Boolean.TRUE); + Events.echoEvent("onPostRender", this, null); + } + } } @Override public void onPageAttached(Page newpage, Page oldpage) { super.onPageAttached(newpage, oldpage); if (newpage != null) { - if (Executions.getCurrent() != null) - Events.echoEvent("onPostRender", this, null); + if (Executions.getCurrent() != null) { + if (this.getAttribute(ON_POST_RENDER_ATTR) == null) { + setAttribute(ON_POST_RENDER_ATTR, Boolean.TRUE); + Events.echoEvent("onPostRender", this, null); + } + } } } //adjust window height to match grid height public void onPostRender() { + removeAttribute(ON_POST_RENDER_ATTR); if (this.getFirstChild() != null) { Component grid = this.getFirstChild().getFirstChild(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java index d45cc11356..7389d57016 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/desktop/DefaultDesktop.java @@ -602,7 +602,7 @@ public class DefaultDesktop extends TabbedDesktop implements MenuListener, Seria if (windows != null) { for (int idx = 0; idx < windows.size(); idx++) { Object ad = windows.get(idx); - if (ad != null && ad instanceof ADWindow) { + if (ad != null && ad instanceof ADWindow && ((ADWindow)ad).getADWindowContent() != null) { if ( ((ADWindow)ad).getADWindowContent().isPendingChanges()) { return true; } 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 e47d057e3d..7170157386 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 @@ -459,9 +459,14 @@ public abstract class WEditor implements EventListener, PropertyChangeLis */ public void setMandatory (boolean mandatory) { - this.mandatory = mandatory; - if (label != null) - label.setMandatory(mandatory); + if (this.mandatory != mandatory) + { + this.mandatory = mandatory; + if (label != null) + { + label.setMandatory(mandatory); + } + } } /** diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WEditorPopupMenu.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WEditorPopupMenu.java index 9355fc1e66..9ec004d5fe 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WEditorPopupMenu.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WEditorPopupMenu.java @@ -114,16 +114,31 @@ public class WEditorPopupMenu extends Menupopup implements EventListener this.newEnabled = newRecord; this.updateEnabled = updateRecord; // Elaine 2009/02/16 - update record this.showLocation = showLocation; - if (lookup != null) { + + String tableName = null; + if (lookup != null && lookup.getColumnName() != null) + tableName = lookup.getColumnName().substring(0, lookup.getColumnName().indexOf(".")); + + if (lookup != null) { int winID = lookup.getZoom(); Boolean canAccess = MRole.getDefault().getWindowAccess(winID); if (winID <= 0 || canAccess == null || ! canAccess) { this.zoomEnabled = false; this.newEnabled = false; this.updateEnabled = false; + + // check possible zoom conditions to enable back zoom + for (int zoomCondWinID : + DB.getIDsEx(null, + "SELECT AD_Window_ID FROM AD_ZoomCondition WHERE IsActive='Y' AND AD_Table_ID IN (SELECT AD_Table_ID FROM AD_Table WHERE TableName=?)", + tableName)) { + Boolean canAccessZoom = MRole.getDefault().getWindowAccess(zoomCondWinID); + if (canAccessZoom != null && canAccessZoom) { + this.zoomEnabled = true; + break; + } + } } else { - int posPoint = lookup.getColumnName().indexOf("."); - String tableName = lookup.getColumnName().substring(0, posPoint); int cnt = DB.getSQLValueEx(null, "SELECT COUNT(*) " + "FROM AD_Field f " diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WSearchEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WSearchEditor.java index 7c30d3667c..20c860ca78 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WSearchEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WSearchEditor.java @@ -466,10 +466,12 @@ public class WSearchEditor extends WEditor implements ContextMenuListener, Value value = ((Object[])value)[0]; } - if (value == null && getValue() == null) + if (value == null && getValue() == null) { updated = true; - else if (value != null && value.equals(getValue())) + } else if (value != null && value.equals(getValue())) { updated = true; + getComponent().setText(lookup.getDisplay(value)); + } if (!updated) { setValue(value); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultInfoFactory.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultInfoFactory.java index f93a0cd528..b868cbaebc 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultInfoFactory.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/factory/DefaultInfoFactory.java @@ -35,6 +35,7 @@ import org.adempiere.webui.panel.InfoPaymentPanel; import org.adempiere.webui.panel.InfoProductPanel; import org.compiere.model.GridField; import org.compiere.model.Lookup; +import org.compiere.model.MDocType; import org.compiere.model.MInfoWindow; import org.compiere.util.Env; @@ -49,11 +50,12 @@ public class DefaultInfoFactory implements IInfoFactory { public InfoPanel create(int WindowNo, String tableName, String keyColumn, String value, boolean multiSelection, String whereClause, int AD_InfoWindow_ID, boolean lookup) { InfoPanel info = null; + setSOTrxBasedOnDocType(WindowNo); if (tableName.equals("C_BPartner")) { info = new InfoBPartnerWindow(WindowNo, tableName, keyColumn, value, multiSelection, whereClause, AD_InfoWindow_ID, lookup); if (!info.loadedOK()) { - info = new InfoBPartnerPanel (value,WindowNo, !Env.getContext(Env.getCtx(),"IsSOTrx").equals("N"), + info = new InfoBPartnerPanel (value,WindowNo, !Env.getContext(Env.getCtx(), WindowNo, "IsSOTrx").equals("N"), multiSelection, whereClause, lookup); } } else if (tableName.equals("M_Product")) { @@ -123,7 +125,8 @@ public class DefaultInfoFactory implements IInfoFactory { String keyColumn, String queryValue, boolean multiSelection, String whereClause, int AD_InfoWindow_ID) { InfoPanel info = null; - + setSOTrxBasedOnDocType(lookup.getWindowNo()); + String col = lookup.getColumnName(); // fully qualified name if (col.indexOf('.') != -1) @@ -182,4 +185,12 @@ public class DefaultInfoFactory implements IInfoFactory { return null; } + private void setSOTrxBasedOnDocType(int WindowNo) { + int C_DocType_ID = Env.getContextAsInt(Env.getCtx(), WindowNo, "C_DocType_ID"); + if (C_DocType_ID != 0) { + MDocType dt = MDocType.get (Env.getCtx(), C_DocType_ID); + Env.setContext(Env.getCtx(), WindowNo, "IsSOTrx", dt.isSOTrx () ? "Y": "N"); + } + } + } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/WQuickEntry.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/WQuickEntry.java index f04875a62a..b4b0e348f0 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/WQuickEntry.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/grid/WQuickEntry.java @@ -23,6 +23,7 @@ import org.adempiere.webui.component.ConfirmPanel; import org.adempiere.webui.component.Label; import org.adempiere.webui.component.Window; import org.adempiere.webui.editor.WEditor; +import org.adempiere.webui.editor.WLocationEditor; import org.adempiere.webui.editor.WebEditorFactory; import org.adempiere.webui.event.ValueChangeEvent; import org.adempiere.webui.event.ValueChangeListener; @@ -466,11 +467,18 @@ public class WQuickEntry extends Window implements EventListener, ValueCh int idx = quickEditors.indexOf(evt.getSource()); if (idx >= 0) { GridField field = quickFields.get(idx); + WEditor editor = quickEditors.get(idx); GridTab gridTab = field.getGridTab(); String columnName = field.getColumnName(); // process dependencies and callouts for the changed field - field.getGridTab().setValue(field, evt.getNewValue()); - gridTab.processFieldChange(field); + if (evt.getSource() instanceof WLocationEditor && evt.getNewValue() == null && editor.getValue() != null) { + // ignore first call of WLocationEditor valuechange set to null + // it will be called later with correct value + // see WLocationEditor firing twice ValueChangeEvent (first with null and then with value) + } else { + field.setValue(evt.getNewValue(), field.getGridTab().getTableModel().isInserting()); + gridTab.processFieldChange(field); + } // Refresh the list on dependant fields ArrayList dependants = gridTab.getDependantFields(columnName); for (GridField dependentField : dependants) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/BroadcastMessageWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/BroadcastMessageWindow.java index e076a7f9af..0f0f2ca4bc 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/BroadcastMessageWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/BroadcastMessageWindow.java @@ -182,7 +182,8 @@ public class BroadcastMessageWindow extends Window implements IBroadcastMsgPopup for(int i=0; i protected boolean sendEmail(MUser to, String newPassword) { - MClient client = MClient.get(m_ctx, to.getAD_Client_ID()); + MClient client = MClient.get(m_ctx, 0);//change by: IDEMPIERE-1267 Temp password from "Forgot My Password" does not work StringBuilder sql = new StringBuilder("SELECT R_MailText_ID "); sql.append("FROM R_MailText "); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java index aaa992178e..1581a1311d 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WAttachment.java @@ -555,7 +555,7 @@ public class WAttachment extends Window implements EventListener } // onEvent private void processUploadMedia(Media media) { - if (media != null) + if (media != null && media.getByteData().length>0) { // pdfViewer.setContent(media); ; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WSchedule.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WSchedule.java index 3c7735bfc4..dd9ebb8548 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WSchedule.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WSchedule.java @@ -137,7 +137,7 @@ public class WSchedule extends Window implements EventListener { this.getChildren().clear(); - calendarContainer = Executions.createComponents(ThemeManager.getThemeResource("/zul/calendar/calendar.zul"), this, null); + calendarContainer = Executions.createComponents(ThemeManager.getThemeResource("zul/calendar/calendar.zul"), this, null); borderlayout = (Borderlayout) calendarContainer.getFellow("main"); borderlayout.setStyle("position: absolute; width: 98%; margin: auto;"); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/action/ReportAction.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/action/ReportAction.java index e673269b9a..89b0254e0c 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/action/ReportAction.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/action/ReportAction.java @@ -89,7 +89,7 @@ public class ReportAction implements EventListener public ReportAction(AbstractADWindowContent panel) { this.panel = panel; - getPrintFormats(panel.getActiveGridTab().getAD_Table_ID()); + getPrintFormats(panel.getActiveGridTab().getAD_Table_ID(), panel.getActiveGridTab().getAD_Window_ID()); } public void show() @@ -447,12 +447,12 @@ public class ReportAction implements EventListener } } - private void getPrintFormats(int AD_Table_ID) + private void getPrintFormats(int AD_Table_ID, int AD_Window_ID) { printFormatList.clear(); int AD_Client_ID = Env.getAD_Client_ID(Env.getCtx()); - RowSet rowSet = MPrintFormat.getAccessiblePrintFormats(AD_Table_ID, -1, null); + RowSet rowSet = MPrintFormat.getAccessiblePrintFormats(AD_Table_ID, AD_Window_ID, -1, null); KeyNamePair pp = null; try { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/util/LogEventInterceptor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/util/LogEventInterceptor.java index 25e5da9b98..9e2d3b3eb2 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/util/LogEventInterceptor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/util/LogEventInterceptor.java @@ -3,6 +3,8 @@ */ package org.adempiere.webui.util; +import org.zkoss.zk.ui.Execution; +import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.util.EventInterceptor; @@ -35,8 +37,18 @@ public class LogEventInterceptor implements EventInterceptor { */ @Override public Event beforeProcessEvent(Event event) { - String locator = event.getTarget() != null ? event.getTarget().getWidgetAttribute("_zk_locator") : ""; - System.out.println("beforeProcessEvent, event="+event.getName()+",target="+event.getTarget()+",locator="+locator); + if (event.getTarget() != null) { + Execution execution = Executions.getCurrent(); + String uuid = event.getTarget().getUuid(); + String key = uuid + event.getName(); + if (execution.getAttribute(key) != null) { + System.out.println("Duplicate Event., event="+event.getName()+",target="+event.getTarget()); + } else { + execution.setAttribute(key, Boolean.TRUE); + String locator = event.getTarget() != null ? event.getTarget().getWidgetAttribute("_zk_locator") : ""; + System.out.println("beforeProcessEvent, event="+event.getName()+",target="+event.getTarget()+",locator="+locator); + } + } return event; } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/AboutWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/AboutWindow.java index 8d4eb06429..d6a8df384f 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/AboutWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/AboutWindow.java @@ -82,11 +82,11 @@ public class AboutWindow extends Window implements EventListener { private Checkbox bErrorsOnly; private Listbox logTable; private Tabbox tabbox; - private Tabpanels tabPanels; + protected Tabpanels tabPanels; private Button btnDownload; private Button btnErrorEmail; private Button btnViewLog; - private Tab tabLog; + protected Tab tabLog; private Button btnAdempiereLog; @@ -119,6 +119,36 @@ public class AboutWindow extends Window implements EventListener { tabPanels.setHflex("1"); tabPanels.setVflex("1"); + initTabs(tabs); + + Button btnOk = ButtonFactory.createNamedButton(ConfirmPanel.A_OK); + btnOk.addEventListener(Events.ON_CLICK, this); + + Borderlayout borderlayout = new Borderlayout(); + this.appendChild(borderlayout); + borderlayout.setHflex("1"); + borderlayout.setVflex("1"); + + Center centerPane = new Center(); + centerPane.setSclass("dialog-content"); + centerPane.setAutoscroll(true); + borderlayout.appendChild(centerPane); + centerPane.appendChild(tabbox); + + South southPane = new South(); + southPane.setStyle("text-align: right"); + southPane.setSclass("dialog-footer"); + borderlayout.appendChild(southPane); + southPane.appendChild(btnOk); + + this.setBorder("normal"); + this.setWidth("600px"); + this.setHeight("450px"); + this.setShadow(true); + this.setAttribute(Window.MODE_KEY, Window.MODE_HIGHLIGHTED); + } + + protected void initTabs(Tabs tabs) { //about Tab tab = new Tab(); tab.setLabel(Msg.getMsg(Env.getCtx(), "About")); @@ -147,35 +177,9 @@ public class AboutWindow extends Window implements EventListener { tab.setParent(tabs); tabPanel = createTrace(); tabPanel.setParent(tabPanels); - - Button btnOk = ButtonFactory.createNamedButton(ConfirmPanel.A_OK); - btnOk.addEventListener(Events.ON_CLICK, this); - - Borderlayout borderlayout = new Borderlayout(); - this.appendChild(borderlayout); - borderlayout.setHflex("1"); - borderlayout.setVflex("1"); - - Center centerPane = new Center(); - centerPane.setSclass("dialog-content"); - centerPane.setAutoscroll(true); - borderlayout.appendChild(centerPane); - centerPane.appendChild(tabbox); - - South southPane = new South(); - southPane.setStyle("text-align: right"); - southPane.setSclass("dialog-footer"); - borderlayout.appendChild(southPane); - southPane.appendChild(btnOk); - - this.setBorder("normal"); - this.setWidth("600px"); - this.setHeight("450px"); - this.setShadow(true); - this.setAttribute(Window.MODE_KEY, Window.MODE_HIGHLIGHTED); } - private Tabpanel createTrace() { + protected Tabpanel createTrace() { Tabpanel tabPanel = new Tabpanel(); Vbox vbox = new Vbox(); LayoutUtils.addSclass("about-trace-panel", vbox); @@ -293,7 +297,7 @@ public class AboutWindow extends Window implements EventListener { tabLog.setLabel(Msg.getMsg(Env.getCtx(), "TraceInfo") + " (" + data.size() + ")"); } - private Tabpanel createInfo() { + protected Tabpanel createInfo() { Tabpanel tabPanel = new Tabpanel(); Div div = new Div(); LayoutUtils.addSclass("about-info-panel", div); @@ -308,7 +312,7 @@ public class AboutWindow extends Window implements EventListener { return tabPanel; } - private Tabpanel createCredit() { + protected Tabpanel createCredit() { Tabpanel tabPanel = new Tabpanel(); Div div = new Div(); LayoutUtils.addSclass("about-credit-panel", div); @@ -428,7 +432,7 @@ public class AboutWindow extends Window implements EventListener { return tabPanel; } - private Tabpanel createAbout() { + protected Tabpanel createAbout() { Tabpanel tabPanel = new Tabpanel(); Vbox vb = new Vbox(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java index 7f2b29b53b..ddc830a773 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/FindWindow.java @@ -62,6 +62,7 @@ import org.adempiere.webui.component.Window; import org.adempiere.webui.editor.WEditor; import org.adempiere.webui.editor.WNumberEditor; import org.adempiere.webui.editor.WStringEditor; +import org.adempiere.webui.editor.WTableDirEditor; import org.adempiere.webui.editor.WebEditorFactory; import org.adempiere.webui.event.DialogEvents; import org.adempiere.webui.event.ValueChangeEvent; @@ -73,7 +74,9 @@ import org.compiere.model.GridField; import org.compiere.model.GridFieldVO; import org.compiere.model.GridTab; import org.compiere.model.MColumn; +import org.compiere.model.MLookup; import org.compiere.model.MLookupFactory; +import org.compiere.model.MLookupInfo; import org.compiere.model.MProduct; import org.compiere.model.MQuery; import org.compiere.model.MRole; @@ -206,6 +209,7 @@ public class FindWindow extends Window implements EventListener, ValueCha private Properties m_findCtx; + private static final String ON_POST_VISIBLE_ATTR = "onPostVisible.Event.Posted"; /** * FindPanel Constructor @@ -608,54 +612,53 @@ public class FindWindow extends Window implements EventListener, ValueCha for (int i = 0; i < m_findFields.length; i++) { GridField mField = m_findFields[i]; + + if (mField.getVO().displayType == DisplayType.YesNo) { + // Make Yes-No searchable as list + GridFieldVO vo = mField.getVO(); + GridFieldVO ynvo = vo.clone(vo.ctx, vo.WindowNo, vo.TabNo, vo.AD_Window_ID, vo.AD_Tab_ID, vo.tabReadOnly); + ynvo.IsDisplayed = true; + ynvo.displayType = DisplayType.List; + ynvo.AD_Reference_Value_ID = REFERENCE_YESNO; - if (mField.isSelectionColumn()) { - if (mField.getVO().displayType == DisplayType.YesNo) { - // Make Yes-No searchable as list - GridFieldVO vo = mField.getVO(); - GridFieldVO ynvo = vo.clone(vo.ctx, vo.WindowNo, vo.TabNo, vo.AD_Window_ID, vo.AD_Tab_ID, vo.tabReadOnly); - ynvo.IsDisplayed = true; - ynvo.displayType = DisplayType.List; - ynvo.AD_Reference_Value_ID = REFERENCE_YESNO; + ynvo.lookupInfo = MLookupFactory.getLookupInfo (ynvo.ctx, ynvo.WindowNo, ynvo.AD_Column_ID, ynvo.displayType, + Env.getLanguage(ynvo.ctx), ynvo.ColumnName, ynvo.AD_Reference_Value_ID, + ynvo.IsParent, ynvo.ValidationCode); - ynvo.lookupInfo = MLookupFactory.getLookupInfo (ynvo.ctx, ynvo.WindowNo, ynvo.AD_Column_ID, ynvo.displayType, - Env.getLanguage(ynvo.ctx), ynvo.ColumnName, ynvo.AD_Reference_Value_ID, - ynvo.IsParent, ynvo.ValidationCode); + GridField ynfield = new GridField(ynvo); - GridField ynfield = new GridField(ynvo); + // replace the original field by the YN List field + m_findFields[i] = ynfield; + mField = ynfield; + } else if ( mField.getVO().displayType == DisplayType.Button ) { + // Make Buttons searchable + GridFieldVO vo = mField.getVO(); + if ( vo.AD_Reference_Value_ID > 0 ) + { + GridFieldVO postedvo = vo.clone(vo.ctx, vo.WindowNo, vo.TabNo, vo.AD_Window_ID, vo.AD_Tab_ID, vo.tabReadOnly); + postedvo.IsDisplayed = true; + postedvo.displayType = DisplayType.List; - // replace the original field by the YN List field - m_findFields[i] = ynfield; - mField = ynfield; - } else if ( mField.getVO().displayType == DisplayType.Button ) { - // Make Buttons searchable - GridFieldVO vo = mField.getVO(); - if ( vo.AD_Reference_Value_ID > 0 ) - { - GridFieldVO postedvo = vo.clone(vo.ctx, vo.WindowNo, vo.TabNo, vo.AD_Window_ID, vo.AD_Tab_ID, vo.tabReadOnly); - postedvo.IsDisplayed = true; - postedvo.displayType = DisplayType.List; + postedvo.lookupInfo = MLookupFactory.getLookupInfo (postedvo.ctx, postedvo.WindowNo, postedvo.AD_Column_ID, postedvo.displayType, + Env.getLanguage(postedvo.ctx), postedvo.ColumnName, postedvo.AD_Reference_Value_ID, + postedvo.IsParent, postedvo.ValidationCode); - postedvo.lookupInfo = MLookupFactory.getLookupInfo (postedvo.ctx, postedvo.WindowNo, postedvo.AD_Column_ID, postedvo.displayType, - Env.getLanguage(postedvo.ctx), postedvo.ColumnName, postedvo.AD_Reference_Value_ID, - postedvo.IsParent, postedvo.ValidationCode); + GridField postedfield = new GridField(postedvo); - GridField postedfield = new GridField(postedvo); - - // replace the original field by the Posted List field - m_findFields[i] = postedfield; - mField = postedfield; - } - } else { - // clone the field and clean gridtab - IDEMPIERE-1105 - GridField findField = (GridField) mField.clone(m_findCtx); - findField.setGridTab(null); - m_findFields[i] = findField; - mField = findField; - } + // replace the original field by the Posted List field + m_findFields[i] = postedfield; + mField = postedfield; + } + } else { + // clone the field and clean gridtab - IDEMPIERE-1105 + GridField findField = (GridField) mField.clone(m_findCtx); + findField.setGridTab(null); + m_findFields[i] = findField; + mField = findField; + } + if (mField.isSelectionColumn()) { gridFieldList.add(mField); } // isSelectionColumn - } // for all target tab fields @@ -1018,7 +1021,7 @@ public class FindWindow extends Window implements EventListener, ValueCha if (listbox.getId().equals(listColumn.getId())) { ListItem column = listColumn.getSelectedItem(); - if (column != null) + if (column != null && column.getValue().toString().length() > 0) { addOperators(column, listOperator); } @@ -1662,18 +1665,24 @@ public class FindWindow extends Window implements EventListener, ValueCha { editor = new WNumberEditor(findField); } - else if (findField.getDisplayType() == DisplayType.Button) + else if (findField.getDisplayType() == DisplayType.Button) { - if (columnName.endsWith("_ID")) - { - editor = new WNumberEditor(findField); - } else { - editor = new WStringEditor(findField); - } + if (findField.getAD_Reference_Value_ID() > 0) { + MLookupInfo info = MLookupFactory.getLookup_List(Env.getLanguage(Env.getCtx()), findField.getAD_Reference_Value_ID()); + MLookup mLookup = new MLookup(info, 0); + editor = new WTableDirEditor(columnName, false,false, true, mLookup); + findField.addPropertyChangeListener(editor); + + } else { + if (columnName.endsWith("_ID")) { + editor = new WNumberEditor(findField); + } else { + editor = new WStringEditor(findField); + } + } } else { - //reload lookupinfo for find window if (DisplayType.isLookup(findField.getDisplayType()) ) { @@ -2157,6 +2166,7 @@ public class FindWindow extends Window implements EventListener, ValueCha } public void OnPostVisible() { + removeAttribute(ON_POST_VISIBLE_ATTR); if (m_sEditors.size() > 0) Clients.response(new AuFocus(m_sEditors.get(0).getComponent())); } @@ -2180,7 +2190,10 @@ public class FindWindow extends Window implements EventListener, ValueCha public boolean setVisible(boolean visible) { boolean ret = super.setVisible(visible); if (visible) { - Events.echoEvent("OnPostVisible", this, null); + if (getAttribute(ON_POST_VISIBLE_ATTR) == null) { + setAttribute(ON_POST_VISIBLE_ATTR, Boolean.TRUE); + Events.echoEvent("OnPostVisible", this, null); + } } else { //auto detach detach(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WLocatorDialog.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WLocatorDialog.java index fa7645c51e..569119a126 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WLocatorDialog.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/WLocatorDialog.java @@ -312,7 +312,8 @@ public class WLocatorDialog extends Window implements EventListener //lstLocator.setModel(m_mLocator); //lstLocator.setValue(m_M_Locator_ID); - lstLocator.setSelectedIndex(0); + if (lstLocator.getItemCount() > 0) + lstLocator.setSelectedIndex(0); lstLocator.addEventListener(Events.ON_SELECT, this); displayLocator(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkReportViewer.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkReportViewer.java index 02904c466b..2480fb4e38 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkReportViewer.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/window/ZkReportViewer.java @@ -360,6 +360,8 @@ public class ZkReportViewer extends Window implements EventListener, ITab south.appendChild(linkDiv); //m_WindowNo int AD_Window_ID = Env.getContextAsInt(Env.getCtx(), m_reportEngine.getWindowNo(), "_WinInfo_AD_Window_ID", true); + if (AD_Window_ID == 0) + AD_Window_ID = Env.getZoomWindowID(m_reportEngine.getQuery()); int AD_Process_ID = m_reportEngine.getPrintInfo() != null ? m_reportEngine.getPrintInfo().getAD_Process_ID() : 0; updateToolbarAccess(AD_Window_ID, AD_Process_ID); @@ -596,6 +598,11 @@ public class ZkReportViewer extends Window implements EventListener, ITab comboReport.removeEventListener(Events.ON_SELECT, this); comboReport.getItems().clear(); KeyNamePair selectValue = null; + + int AD_Window_ID = Env.getContextAsInt(Env.getCtx(), m_reportEngine.getWindowNo(), "_WinInfo_AD_Window_ID", true); + if (AD_Window_ID == 0) + AD_Window_ID = Env.getZoomWindowID(m_reportEngine.getQuery()); + // fill Report Options String sql = MRole.getDefault().addAccessSQL( "SELECT AD_PrintFormat_ID, Name, Description " @@ -604,6 +611,7 @@ public class ZkReportViewer extends Window implements EventListener, ITab //Added Lines by Armen + "AND IsActive='Y' " //End of Added Lines + + (AD_Window_ID > 0 ? "AND (AD_Window_ID=? OR AD_Window_ID IS NULL) " : "") + "ORDER BY Name", "AD_PrintFormat", MRole.SQL_NOTQUALIFIED, MRole.SQL_RO); int AD_Table_ID = m_reportEngine.getPrintFormat().getAD_Table_ID(); @@ -613,6 +621,8 @@ public class ZkReportViewer extends Window implements EventListener, ITab { pstmt = DB.prepareStatement(sql, null); pstmt.setInt(1, AD_Table_ID); + if (AD_Window_ID > 0) + pstmt.setInt(2, AD_Window_ID); rs = pstmt.executeQuery(); while (rs.next()) { diff --git a/org.adempiere.ui/src/org/compiere/install/Translation.java b/org.adempiere.ui/src/org/compiere/install/Translation.java index e8bdd4ce2b..e473f165c5 100644 --- a/org.adempiere.ui/src/org/compiere/install/Translation.java +++ b/org.adempiere.ui/src/org/compiere/install/Translation.java @@ -39,6 +39,7 @@ import javax.xml.transform.stream.StreamResult; import org.compiere.Adempiere; import org.compiere.model.MLanguage; +import org.compiere.model.MTable; import org.compiere.model.PO; import org.compiere.util.CLogger; import org.compiere.util.DB; @@ -46,6 +47,7 @@ import org.compiere.util.Env; import org.compiere.util.Language; import org.compiere.util.Login; import org.compiere.util.Msg; +import org.compiere.util.Util; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -82,6 +84,8 @@ public class Translation public static final String XML_ROW_TAG = "row"; /** XML Row Attribute ID */ public static final String XML_ROW_ATTRIBUTE_ID = "id"; + /** XML Row Attribute UUID */ + public static final String XML_ROW_ATTRIBUTE_UUID = "uuid"; /** XML Row Attribute Translated */ public static final String XML_ROW_ATTRIBUTE_TRANSLATED = "trl"; @@ -165,6 +169,7 @@ public class Translation if (isBaseLanguage) tableName = Base_Table; String keyColumn = Base_Table + "_ID"; + String uuidColumn = MTable.getUUIDColumnName(Base_Table); String[] trlColumns = getTrlColumns (Base_Table); // StringBuffer sql = null; @@ -193,6 +198,7 @@ public class Translation else sql.append("t.IsTranslated,"); sql.append("t.").append(keyColumn); // 2 + sql.append(", o.").append(uuidColumn); // 3 // for (int i = 0; i < trlColumns.length; i++) sql.append(", t.").append(trlColumns[i]) @@ -224,7 +230,13 @@ public class Translation while (rs.next()) { Element row = document.createElement (XML_ROW_TAG); - row.setAttribute(XML_ROW_ATTRIBUTE_ID, String.valueOf(rs.getInt(2))); // KeyColumn + int keyid = rs.getInt(2); + String uuid = rs.getString(3); + if (keyid <= MTable.MAX_OFFICIAL_ID || Util.isEmpty(uuid)) { + row.setAttribute(XML_ROW_ATTRIBUTE_ID, String.valueOf(keyid)); // KeyColumn + } else { + row.setAttribute(XML_ROW_ATTRIBUTE_UUID, String.valueOf(uuid)); // UUIDColumn + } row.setAttribute(XML_ROW_ATTRIBUTE_TRANSLATED, rs.getString(1)); // IsTranslated for (int i = 0; i < trlColumns.length; i++) { diff --git a/org.adempiere.ui/src/org/compiere/install/TranslationHandler.java b/org.adempiere.ui/src/org/compiere/install/TranslationHandler.java index 22870f688c..078cbcd7a9 100644 --- a/org.adempiere.ui/src/org/compiere/install/TranslationHandler.java +++ b/org.adempiere.ui/src/org/compiere/install/TranslationHandler.java @@ -55,6 +55,8 @@ public class TranslationHandler extends DefaultHandler private String m_updateSQL = null; /** Current ID */ private String m_curID = null; + /** Current UUID */ + private String m_curUUID = null; /** Translated Flag */ private String m_trl = null; /** Current ColumnName */ @@ -97,6 +99,7 @@ public class TranslationHandler extends DefaultHandler else if (qName.equals(Translation.XML_ROW_TAG)) { m_curID = attributes.getValue(Translation.XML_ROW_ATTRIBUTE_ID); + m_curUUID = attributes.getValue(Translation.XML_ROW_ATTRIBUTE_UUID); m_trl = attributes.getValue(Translation.XML_ROW_ATTRIBUTE_TRANSLATED); // log.finest( "ID=" + m_curID); m_sql = new StringBuffer(); @@ -154,8 +157,15 @@ public class TranslationHandler extends DefaultHandler m_sql.append(",IsTranslated='Y'"); } // Where section - m_sql.append(" WHERE ") - .append(m_TableName).append("_ID=").append(m_curID); + m_sql.append(" WHERE "); + if (m_curUUID != null) { + StringBuilder sql = new StringBuilder("SELECT ").append(m_TableName).append("_ID").append(" FROM ").append(m_TableName) + .append(" WHERE ").append(m_TableName).append("_UU =?"); + int ID = DB.getSQLValueEx(null, sql.toString(), m_curUUID); + m_sql.append(m_TableName).append("_ID=").append(ID); + } else { + m_sql.append(m_TableName).append("_ID=").append(m_curID); + } if (!m_isBaseLanguage) m_sql.append(" AND AD_Language='").append(m_AD_Language).append("'"); if (m_AD_Client_ID >= 0) diff --git a/org.adempiere.ui/src/org/compiere/print/ReportCtl.java b/org.adempiere.ui/src/org/compiere/print/ReportCtl.java index 08e75c5b20..dbac1f4ef1 100644 --- a/org.adempiere.ui/src/org/compiere/print/ReportCtl.java +++ b/org.adempiere.ui/src/org/compiere/print/ReportCtl.java @@ -155,11 +155,11 @@ public class ReportCtl return startDocumentPrint(ReportEngine.DUNNING, pi.getRecord_ID(), parent, WindowNo, !pi.isPrintPreview()); else if (pi.getAD_Process_ID() == PROCESS_RPT_FINREPORT // Financial Report || pi.getAD_Process_ID() == PROCESS_RPT_FINSTATEMENT) // Financial Statement - return startFinReport (pi); + return startFinReport (pi, WindowNo); /******************** * Standard Report *******************/ - return startStandardReport (pi); + return startStandardReport (pi, WindowNo); } // create /************************************************************************** @@ -170,9 +170,22 @@ public class ReportCtl * @return true if OK */ static public boolean startStandardReport (ProcessInfo pi, boolean IsDirectPrint) + { + return startStandardReport(pi, -1, IsDirectPrint); + } + + /************************************************************************** + * Start Standard Report. + * - Get Table Info & submit + * @param pi Process Info + * @param WindowNo The windows number which invoked the printing + * @param IsDirectPrint if true, prints directly - otherwise View + * @return true if OK + */ + static public boolean startStandardReport (ProcessInfo pi, int WindowNo, boolean IsDirectPrint) { pi.setPrintPreview(!IsDirectPrint); - return startStandardReport(pi); + return startStandardReport(pi, WindowNo); } /************************************************************************** @@ -188,6 +201,24 @@ public class ReportCtl * @return true if OK */ static public boolean startStandardReport (ProcessInfo pi) + { + return startStandardReport(pi, -1); + } + + /************************************************************************** + * Start Standard Report. + * - Get Table Info & submit.
+ * A report can be created from: + *
    + *
  1. attached MPrintFormat, if any (see {@link ProcessInfo#setTransientObject(Object)}, {@link ProcessInfo#setSerializableObject(java.io.Serializable)} + *
  2. process information (AD_Process.AD_PrintFormat_ID, AD_Process.AD_ReportView_ID) + *
+ * @param pi Process Info + * @param WindowNo The windows number which invoked the printing + * @param IsDirectPrint if true, prints directly - otherwise View + * @return true if OK + */ + static public boolean startStandardReport (ProcessInfo pi, int WindowNo) { ReportEngine re = null; // @@ -202,6 +233,7 @@ public class ReportCtl MQuery query = MQuery.get (ctx, pi.getAD_PInstance_ID(), TableName); PrintInfo info = new PrintInfo(pi); re = new ReportEngine(ctx, format, query, info); + re.setWindowNo(WindowNo); createOutput(re, pi.isPrintPreview(), null); return true; } @@ -214,6 +246,7 @@ public class ReportCtl pi.setSummary("No ReportEngine"); return false; } + re.setWindowNo(WindowNo); } createOutput(re, pi.isPrintPreview(), null); @@ -226,6 +259,17 @@ public class ReportCtl * @return true if OK */ static public boolean startFinReport (ProcessInfo pi) + { + return startFinReport(pi, -1); + } + + /** + * Start Financial Report. + * @param pi Process Info + * @param WindowNo The windows number which invoked the printing + * @return true if OK + */ + static public boolean startFinReport (ProcessInfo pi, int WindowNo) { @SuppressWarnings("unused") int AD_Client_ID = Env.getAD_Client_ID(Env.getCtx()); @@ -246,6 +290,7 @@ public class ReportCtl PrintInfo info = new PrintInfo(pi); ReportEngine re = new ReportEngine(Env.getCtx(), format, query, info); + re.setWindowNo(WindowNo); createOutput(re, pi.isPrintPreview(), null); return true; } // startFinReport @@ -311,6 +356,7 @@ public class ReportCtl { throw new AdempiereException("NoDocPrintFormat"); } + re.setWindowNo(WindowNo); if (customPrintFormat!=null) { // Use custom print format if available re.setPrintFormat(customPrintFormat); diff --git a/org.idempiere.webservices/META-INF/MANIFEST.MF b/org.idempiere.webservices/META-INF/MANIFEST.MF index c90ddf514c..65a502b98d 100644 --- a/org.idempiere.webservices/META-INF/MANIFEST.MF +++ b/org.idempiere.webservices/META-INF/MANIFEST.MF @@ -155,6 +155,11 @@ Export-Package: javax.ws.rs, org.apache.commons.discovery.resource.classes, org.apache.commons.discovery.resource.names, org.apache.commons.discovery.tools, + org.apache.cxf, + org.apache.cxf.jaxws, + org.apache.cxf.jaxws.spring, + org.apache.cxf.transport.servlet, + org.apache.cxf.xmlbeans, org.apache.xmlbeans, org.apache.xmlbeans.impl.common, org.apache.xmlbeans.impl.config, @@ -208,5 +213,6 @@ Export-Package: javax.ws.rs, org.idempiere.adinterface, org.idempiere.webservices, org.idempiere.webservices.client, - org.idempiere.webservices.fault + org.idempiere.webservices.fault, + org.springframework.web.context Web-ContextPath: ADInterface