merge 1a4c747dfdf9 development into zk7
This commit is contained in:
commit
3518f683e7
|
@ -14,6 +14,9 @@ INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMand
|
||||||
ALTER TABLE M_InOutLineMA ADD IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
|
ALTER TABLE M_InOutLineMA ADD IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
|
||||||
;
|
;
|
||||||
|
|
||||||
|
-- Updating historical records
|
||||||
|
Update M_InOutLineMA set IsAutoGenerated = 'Y';
|
||||||
|
|
||||||
-- May 29, 2014 10:41:24 PM IST
|
-- May 29, 2014 10:41:24 PM IST
|
||||||
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',751,1,'N','N',211211,70,'Y',202878,'Y','Record is Auto Generated by System.','Auto Generated','d94f1477-cb26-41ec-a677-4162d13f5339','Y','N',100,0,TO_DATE('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
|
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',751,1,'N','N',211211,70,'Y',202878,'Y','Record is Auto Generated by System.','Auto Generated','d94f1477-cb26-41ec-a677-4162d13f5339','Y','N',100,0,TO_DATE('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
|
||||||
;
|
;
|
||||||
|
@ -30,6 +33,9 @@ INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMand
|
||||||
ALTER TABLE M_InventoryLineMA ADD IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
|
ALTER TABLE M_InventoryLineMA ADD IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
|
||||||
;
|
;
|
||||||
|
|
||||||
|
-- Updating historical records
|
||||||
|
Update M_InventoryLineMA set IsAutoGenerated = 'Y';
|
||||||
|
|
||||||
-- May 29, 2014 10:41:25 PM IST
|
-- May 29, 2014 10:41:25 PM IST
|
||||||
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',749,1,'N','N',211212,70,'Y',202880,'Y','Record is Auto Generated by System.','Auto Generated','040f311d-d321-46ac-a1b8-0650df7b9b8b','Y','N',100,0,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
|
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',749,1,'N','N',211212,70,'Y',202880,'Y','Record is Auto Generated by System.','Auto Generated','040f311d-d321-46ac-a1b8-0650df7b9b8b','Y','N',100,0,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
|
||||||
;
|
;
|
||||||
|
@ -42,6 +48,9 @@ INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMand
|
||||||
ALTER TABLE M_MovementLineMA ADD IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
|
ALTER TABLE M_MovementLineMA ADD IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
|
||||||
;
|
;
|
||||||
|
|
||||||
|
-- Updating historical records
|
||||||
|
Update M_MovementLineMA set IsAutoGenerated = 'Y';
|
||||||
|
|
||||||
-- May 29, 2014 10:41:25 PM IST
|
-- May 29, 2014 10:41:25 PM IST
|
||||||
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',750,1,'N','N',211213,70,'Y',202881,'Y','Record is Auto Generated by System.','Auto Generated','9e2cc848-53dc-4ad8-916a-bf58ff5c3184','Y','N',100,0,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
|
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',750,1,'N','N',211213,70,'Y',202881,'Y','Record is Auto Generated by System.','Auto Generated','9e2cc848-53dc-4ad8-916a-bf58ff5c3184','Y','N',100,0,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
|
||||||
;
|
;
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
-- Sep 3, 2014 3:26:22 PM COT
|
||||||
|
-- IDEMPIERE-2060 Move some Delete Cascade Constraints to Model classes
|
||||||
|
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,AD_Ref_List_UU,Name,Value,CreatedBy,Updated,UpdatedBy,IsActive,EntityType,AD_Client_ID,AD_Org_ID,Created) VALUES (200278,200075,'c0542a52-fe58-4b87-8bd4-9dc2fe3afa7a','Model Cascade','M',100,TO_DATE('2014-09-03 15:26:21','YYYY-MM-DD HH24:MI:SS'),100,'Y','D',0,0,TO_DATE('2014-09-03 15:26:21','YYYY-MM-DD HH24:MI:SS'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 3, 2014 3:44:58 PM COT
|
||||||
|
UPDATE AD_Column SET IsUpdateable='N', FKConstraintType='M',Updated=TO_DATE('2014-09-03 15:44:58','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=2213
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 3, 2014 3:46:37 PM COT
|
||||||
|
ALTER TABLE C_OrderLine MODIFY C_Order_ID NUMBER(10)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 3, 2014 3:46:37 PM COT
|
||||||
|
ALTER TABLE C_OrderLine DROP CONSTRAINT corder_corderline
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 3, 2014 3:46:37 PM COT
|
||||||
|
ALTER TABLE C_OrderLine ADD CONSTRAINT corder_corderline FOREIGN KEY (C_Order_ID) REFERENCES c_order(c_order_id) DEFERRABLE INITIALLY DEFERRED
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 3, 2014 4:36:39 PM COT
|
||||||
|
INSERT INTO AD_Val_Rule (Code,AD_Val_Rule_ID,EntityType,Name,Description,Type,AD_Val_Rule_UU,CreatedBy,UpdatedBy,Updated,AD_Org_ID,IsActive,AD_Client_ID,Created) VALUES ('(AD_Ref_List.Value!=''M'' OR @AD_Reference_ID@ IN (18,19,30))',200064,'D','FKConstraintType Model just for Direct Foreign Keys','Ref List by Reference','S','a56bce78-de21-4cfa-b18d-2dd367464c01',100,100,TO_DATE('2014-09-03 16:36:39','YYYY-MM-DD HH24:MI:SS'),0,'Y',0,TO_DATE('2014-09-03 16:36:39','YYYY-MM-DD HH24:MI:SS'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 3, 2014 4:36:48 PM COT
|
||||||
|
UPDATE AD_Column SET AD_Val_Rule_ID=200064,Updated=TO_DATE('2014-09-03 16:36:48','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210872
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201409031529_IDEMPIERE-2060.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
-- Sep 5, 2014 8:37:41 AM COT
|
||||||
|
-- IDEMPIERE-2188 Make hardcoded load timeout configurable
|
||||||
|
INSERT INTO AD_SysConfig (AD_SysConfig_ID,ConfigurationLevel,Value,Description,AD_SysConfig_UU,AD_Org_ID,CreatedBy,IsActive,UpdatedBy,Name,AD_Client_ID,EntityType,Created,Updated) VALUES (200059,'C','30','Load timeout for GridTable','0a5a3606-f25d-4ab2-9e50-a75e50dc931a',0,100,'Y',100,'GRIDTABLE_LOAD_TIMEOUT_IN_SECONDS',0,'D',TO_DATE('2014-09-05 08:37:41','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2014-09-05 08:37:41','YYYY-MM-DD HH24:MI:SS'))
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201409050839_IDEMPIERE-2188.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
-- Sep 5, 2014 8:46:44 AM COT
|
||||||
|
-- IDEMPIERE-2190 Virtual Column M_Product.CostStandard too heavy
|
||||||
|
UPDATE AD_Column SET IsActive='N',Updated=TO_DATE('2014-09-05 08:46:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=61998
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 8:47:19 AM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=0, IsDisplayed='N', IsActive='N', IsDisplayedGrid='N', SeqNoGrid=0,Updated=TO_DATE('2014-09-05 08:47:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62009
|
||||||
|
;
|
||||||
|
|
||||||
|
UPDATE AD_Field SET SeqNo=0, IsDisplayed='N', IsActive='N', IsDisplayedGrid='N', SeqNoGrid=0,Updated=TO_DATE('2014-09-05 08:47:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201344
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201409050848_IDEMPIERE-2190.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:42:25 PM COT
|
||||||
|
-- IDEMPIERE-1901 Deprecate parent composite primary keys - leave management via table index
|
||||||
|
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,IsEncrypted,IsSecure,AD_Element_ID,AD_Reference_ID,AD_Table_ID,AD_Client_ID,AD_Org_ID,EntityType) VALUES (0,'N',0,211762,'Y','N','N',0,'N',1,'N','N','N','Y','f1e7a14f-8ab9-4b2e-9655-95d728ecdc18','Y','IsKey','This column is the key in this table','N','The key column must also be display sequence 0 in the field definition and may be hidden.','Key column','Y',TO_DATE('2014-09-05 15:42:25','YYYY-MM-DD HH24:MI:SS'),100,'Y',TO_DATE('2014-09-05 15:42:25','YYYY-MM-DD HH24:MI:SS'),100,'N','N','N','N',389,20,200085,0,0,'D')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:42:31 PM COT
|
||||||
|
ALTER TABLE AD_TableIndex ADD IsKey CHAR(1) DEFAULT 'N' CHECK (IsKey IN ('Y','N')) NOT NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:42:57 PM COT
|
||||||
|
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,AD_Client_ID,ColumnSpan,AD_Column_ID,EntityType,AD_Org_ID,Created) VALUES ('N',200096,1,'N','N',140,'Y',203443,'N','The key column must also be display sequence 0 in the field definition and may be hidden.','This column is the key in this table','Key column','606cdea6-8002-4c89-b507-bdeffd5acb2b','Y','N',100,100,TO_DATE('2014-09-05 15:42:57','YYYY-MM-DD HH24:MI:SS'),'Y','Y',110,2,0,2,211762,'D',0,TO_DATE('2014-09-05 15:42:57','YYYY-MM-DD HH24:MI:SS'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:43:29 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=90, ColumnSpan=1,Updated=TO_DATE('2014-09-05 15:43:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202209
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:43:29 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=100, IsDisplayed='Y', XPosition=3, ColumnSpan=1,Updated=TO_DATE('2014-09-05 15:43:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203443
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:43:29 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=110,Updated=TO_DATE('2014-09-05 15:43:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202250
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:43:29 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=120,Updated=TO_DATE('2014-09-05 15:43:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202206
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:43:29 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=130,Updated=TO_DATE('2014-09-05 15:43:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202210
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:43:29 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=140,Updated=TO_DATE('2014-09-05 15:43:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202535
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:44:41 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsCreateConstraint@=''Y'' & @IsUnique@=''Y''',Updated=TO_DATE('2014-09-05 15:44:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203443
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201409051545_IDEMPIERE-1901.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
update ad_column set callout = 'org.compiere.model.CalloutOrder.organization' where ad_column_id = 2163;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201409051652_IDEMPIERE-1842.sql') FROM dual;
|
|
@ -0,0 +1,37 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
update ad_infoprocess set ad_column_id=null where ad_column_id is not null;
|
||||||
|
|
||||||
|
ALTER TABLE AD_INFOPROCESS RENAME COLUMN AD_COLUMN_ID TO AD_INFOCOLUMN_ID;
|
||||||
|
|
||||||
|
ALTER TABLE AD_INFOPROCESS DROP CONSTRAINT ADCOLUMN_ADINFOPROCESS;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 5:40:41 PM COT
|
||||||
|
-- IDEMPIERE-1970 Improve t_selection logic for info window
|
||||||
|
INSERT INTO AD_Val_Rule (Code,AD_Val_Rule_ID,EntityType,Name,Type,AD_Val_Rule_UU,CreatedBy,UpdatedBy,Updated,AD_Org_ID,IsActive,AD_Client_ID,Created) VALUES ('AD_InfoColumn.AD_InfoWindow_ID=@AD_InfoWindow_ID@',200065,'D','AD_InfoColumn from Info Window','S','010f3e1f-dd6c-48c7-8fe1-945e0a2482a2',100,100,TO_DATE('2014-09-05 17:40:37','YYYY-MM-DD HH24:MI:SS'),0,'Y',0,TO_DATE('2014-09-05 17:40:37','YYYY-MM-DD HH24:MI:SS'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 5:40:55 PM COT
|
||||||
|
UPDATE AD_Column SET FieldLength=10, IsUpdateable='N', ColumnName='AD_InfoColumn_ID', Description='Info Window Column', Help='Column in the Info Window for display and/or selection. If used for selection, the column cannot be a SQL expression. The SQL clause must be fully qualified based on the FROM clause in the Info Window definition', Name='Info Column', FKConstraintName=NULL, AD_Element_ID=3069, AD_Val_Rule_ID=200065,Updated=TO_DATE('2014-09-05 17:40:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=211377
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 5:41:00 PM COT
|
||||||
|
UPDATE AD_Column SET FKConstraintName='ADInfoColumn_ADInfoProcess', FKConstraintType='N',Updated=TO_DATE('2014-09-05 17:41:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=211377
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 5:41:00 PM COT
|
||||||
|
ALTER TABLE AD_InfoProcess MODIFY AD_InfoColumn_ID NUMBER(10) DEFAULT NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 5:41:00 PM COT
|
||||||
|
ALTER TABLE AD_InfoProcess ADD CONSTRAINT ADInfoColumn_ADInfoProcess FOREIGN KEY (AD_InfoColumn_ID) REFERENCES ad_infocolumn(ad_infocolumn_id) DEFERRABLE INITIALLY DEFERRED
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 5:44:01 PM COT
|
||||||
|
UPDATE AD_Column SET IsUpdateable='Y',Updated=TO_DATE('2014-09-05 17:44:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=211377
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201409051741_IDEMPIERE-1970.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
-- Mar 20, 2014 10:54:24 AM COT
|
||||||
|
-- IDEMPIERE-1840 Reference AD_Org Parent WhereClause bug
|
||||||
|
UPDATE AD_Ref_Table SET WhereClause='AD_Org.IsSummary=''Y''',Updated=TO_DATE('2014-03-20 10:54:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Reference_ID=113
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201409251410_IDEMPIERE-1840.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -11,6 +11,9 @@ INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMand
|
||||||
ALTER TABLE M_InOutLineMA ADD COLUMN IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
|
ALTER TABLE M_InOutLineMA ADD COLUMN IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
|
||||||
;
|
;
|
||||||
|
|
||||||
|
-- Updating historical records
|
||||||
|
Update M_InOutLineMA set IsAutoGenerated = 'Y';
|
||||||
|
|
||||||
-- May 29, 2014 10:41:24 PM IST
|
-- May 29, 2014 10:41:24 PM IST
|
||||||
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',751,1,'N','N',211211,70,'Y',202878,'Y','Record is Auto Generated by System.','Auto Generated','d94f1477-cb26-41ec-a677-4162d13f5339','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
|
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',751,1,'N','N',211211,70,'Y',202878,'Y','Record is Auto Generated by System.','Auto Generated','d94f1477-cb26-41ec-a677-4162d13f5339','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:24','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
|
||||||
;
|
;
|
||||||
|
@ -27,6 +30,10 @@ INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMand
|
||||||
ALTER TABLE M_InventoryLineMA ADD COLUMN IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
|
ALTER TABLE M_InventoryLineMA ADD COLUMN IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
|
||||||
;
|
;
|
||||||
|
|
||||||
|
-- Updating historical records
|
||||||
|
Update M_InventoryLineMA set IsAutoGenerated = 'Y';
|
||||||
|
|
||||||
|
|
||||||
-- May 29, 2014 10:41:25 PM IST
|
-- May 29, 2014 10:41:25 PM IST
|
||||||
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',749,1,'N','N',211212,70,'Y',202880,'Y','Record is Auto Generated by System.','Auto Generated','040f311d-d321-46ac-a1b8-0650df7b9b8b','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
|
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',749,1,'N','N',211212,70,'Y',202880,'Y','Record is Auto Generated by System.','Auto Generated','040f311d-d321-46ac-a1b8-0650df7b9b8b','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
|
||||||
;
|
;
|
||||||
|
@ -39,6 +46,9 @@ INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMand
|
||||||
ALTER TABLE M_MovementLineMA ADD COLUMN IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
|
ALTER TABLE M_MovementLineMA ADD COLUMN IsAutoGenerated CHAR(1) DEFAULT 'N' CHECK (IsAutoGenerated IN ('Y','N'))
|
||||||
;
|
;
|
||||||
|
|
||||||
|
-- Updating historical records
|
||||||
|
Update M_MovementLineMA set IsAutoGenerated = 'Y';
|
||||||
|
|
||||||
-- May 29, 2014 10:41:25 PM IST
|
-- May 29, 2014 10:41:25 PM IST
|
||||||
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',750,1,'N','N',211213,70,'Y',202881,'Y','Record is Auto Generated by System.','Auto Generated','9e2cc848-53dc-4ad8-916a-bf58ff5c3184','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
|
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,AD_Column_ID,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,AD_Org_ID,Created,CreatedBy,Updated,IsActive,IsDisplayedGrid,XPosition,IsQuickEntry,AD_Client_ID,ColumnSpan,NumLines,IsAdvancedField,IsDefaultFocus,EntityType) VALUES ('N',750,1,'N','N',211213,70,'Y',202881,'Y','Record is Auto Generated by System.','Auto Generated','9e2cc848-53dc-4ad8-916a-bf58ff5c3184','Y','N',100,0,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2014-05-29 22:41:25','YYYY-MM-DD HH24:MI:SS'),'Y','Y',2,'N',0,2,1,'N','N','D')
|
||||||
;
|
;
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
-- Sep 3, 2014 3:26:22 PM COT
|
||||||
|
-- IDEMPIERE-2060 Move some Delete Cascade Constraints to Model classes
|
||||||
|
INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Reference_ID,AD_Ref_List_UU,Name,Value,CreatedBy,Updated,UpdatedBy,IsActive,EntityType,AD_Client_ID,AD_Org_ID,Created) VALUES (200278,200075,'c0542a52-fe58-4b87-8bd4-9dc2fe3afa7a','Model Cascade','M',100,TO_TIMESTAMP('2014-09-03 15:26:21','YYYY-MM-DD HH24:MI:SS'),100,'Y','D',0,0,TO_TIMESTAMP('2014-09-03 15:26:21','YYYY-MM-DD HH24:MI:SS'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 3, 2014 3:44:58 PM COT
|
||||||
|
UPDATE AD_Column SET IsUpdateable='N', FKConstraintType='M',Updated=TO_TIMESTAMP('2014-09-03 15:44:58','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=2213
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 3, 2014 3:46:37 PM COT
|
||||||
|
INSERT INTO t_alter_column values('c_orderline','C_Order_ID','NUMERIC(10)',null,null)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 3, 2014 3:46:37 PM COT
|
||||||
|
ALTER TABLE C_OrderLine DROP CONSTRAINT corder_corderline
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 3, 2014 3:46:37 PM COT
|
||||||
|
ALTER TABLE C_OrderLine ADD CONSTRAINT corder_corderline FOREIGN KEY (C_Order_ID) REFERENCES c_order(c_order_id) DEFERRABLE INITIALLY DEFERRED
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 3, 2014 4:36:39 PM COT
|
||||||
|
INSERT INTO AD_Val_Rule (Code,AD_Val_Rule_ID,EntityType,Name,Description,Type,AD_Val_Rule_UU,CreatedBy,UpdatedBy,Updated,AD_Org_ID,IsActive,AD_Client_ID,Created) VALUES ('(AD_Ref_List.Value!=''M'' OR @AD_Reference_ID@ IN (18,19,30))',200064,'D','FKConstraintType Model just for Direct Foreign Keys','Ref List by Reference','S','a56bce78-de21-4cfa-b18d-2dd367464c01',100,100,TO_TIMESTAMP('2014-09-03 16:36:39','YYYY-MM-DD HH24:MI:SS'),0,'Y',0,TO_TIMESTAMP('2014-09-03 16:36:39','YYYY-MM-DD HH24:MI:SS'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 3, 2014 4:36:48 PM COT
|
||||||
|
UPDATE AD_Column SET AD_Val_Rule_ID=200064,Updated=TO_TIMESTAMP('2014-09-03 16:36:48','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=210872
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201409031529_IDEMPIERE-2060.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
-- Sep 5, 2014 8:37:41 AM COT
|
||||||
|
-- IDEMPIERE-2188 Make hardcoded load timeout configurable
|
||||||
|
INSERT INTO AD_SysConfig (AD_SysConfig_ID,ConfigurationLevel,Value,Description,AD_SysConfig_UU,AD_Org_ID,CreatedBy,IsActive,UpdatedBy,Name,AD_Client_ID,EntityType,Created,Updated) VALUES (200059,'C','30','Load timeout for GridTable','0a5a3606-f25d-4ab2-9e50-a75e50dc931a',0,100,'Y',100,'GRIDTABLE_LOAD_TIMEOUT_IN_SECONDS',0,'D',TO_TIMESTAMP('2014-09-05 08:37:41','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2014-09-05 08:37:41','YYYY-MM-DD HH24:MI:SS'))
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201409050839_IDEMPIERE-2188.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
-- Sep 5, 2014 8:46:44 AM COT
|
||||||
|
-- IDEMPIERE-2190 Virtual Column M_Product.CostStandard too heavy
|
||||||
|
UPDATE AD_Column SET IsActive='N',Updated=TO_TIMESTAMP('2014-09-05 08:46:44','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=61998
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 8:47:19 AM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=0, IsDisplayed='N', IsActive='N', IsDisplayedGrid='N', SeqNoGrid=0,Updated=TO_TIMESTAMP('2014-09-05 08:47:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=62009
|
||||||
|
;
|
||||||
|
|
||||||
|
UPDATE AD_Field SET SeqNo=0, IsDisplayed='N', IsActive='N', IsDisplayedGrid='N', SeqNoGrid=0,Updated=TO_TIMESTAMP('2014-09-05 08:47:19','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=201344
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201409050848_IDEMPIERE-2190.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
-- Sep 5, 2014 3:42:25 PM COT
|
||||||
|
-- IDEMPIERE-1901 Deprecate parent composite primary keys - leave management via table index
|
||||||
|
INSERT INTO AD_Column (SeqNoSelection,IsSyncDatabase,Version,AD_Column_ID,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsParent,FieldLength,IsSelectionColumn,IsKey,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsUpdateable,ColumnName,Description,DefaultValue,Help,Name,IsAllowCopy,Updated,CreatedBy,IsActive,Created,UpdatedBy,IsToolbarButton,IsAlwaysUpdateable,IsEncrypted,IsSecure,AD_Element_ID,AD_Reference_ID,AD_Table_ID,AD_Client_ID,AD_Org_ID,EntityType) VALUES (0,'N',0,211762,'Y','N','N',0,'N',1,'N','N','N','Y','f1e7a14f-8ab9-4b2e-9655-95d728ecdc18','Y','IsKey','This column is the key in this table','N','The key column must also be display sequence 0 in the field definition and may be hidden.','Key column','Y',TO_TIMESTAMP('2014-09-05 15:42:25','YYYY-MM-DD HH24:MI:SS'),100,'Y',TO_TIMESTAMP('2014-09-05 15:42:25','YYYY-MM-DD HH24:MI:SS'),100,'N','N','N','N',389,20,200085,0,0,'D')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:42:31 PM COT
|
||||||
|
ALTER TABLE AD_TableIndex ADD COLUMN IsKey CHAR(1) DEFAULT 'N' CHECK (IsKey IN ('Y','N')) NOT NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:42:57 PM COT
|
||||||
|
INSERT INTO AD_Field (IsEncrypted,AD_Tab_ID,DisplayLength,IsSameLine,IsHeading,SeqNo,IsCentrallyMaintained,AD_Field_ID,IsReadOnly,Help,Description,Name,AD_Field_UU,IsDisplayed,IsFieldOnly,UpdatedBy,CreatedBy,Updated,IsActive,IsDisplayedGrid,SeqNoGrid,XPosition,AD_Client_ID,ColumnSpan,AD_Column_ID,EntityType,AD_Org_ID,Created) VALUES ('N',200096,1,'N','N',140,'Y',203443,'N','The key column must also be display sequence 0 in the field definition and may be hidden.','This column is the key in this table','Key column','606cdea6-8002-4c89-b507-bdeffd5acb2b','Y','N',100,100,TO_TIMESTAMP('2014-09-05 15:42:57','YYYY-MM-DD HH24:MI:SS'),'Y','Y',110,2,0,2,211762,'D',0,TO_TIMESTAMP('2014-09-05 15:42:57','YYYY-MM-DD HH24:MI:SS'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:43:29 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=90, ColumnSpan=1,Updated=TO_TIMESTAMP('2014-09-05 15:43:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202209
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:43:29 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=100, IsDisplayed='Y', XPosition=3, ColumnSpan=1,Updated=TO_TIMESTAMP('2014-09-05 15:43:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203443
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:43:29 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=110,Updated=TO_TIMESTAMP('2014-09-05 15:43:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202250
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:43:29 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=120,Updated=TO_TIMESTAMP('2014-09-05 15:43:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202206
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:43:29 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=130,Updated=TO_TIMESTAMP('2014-09-05 15:43:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202210
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:43:29 PM COT
|
||||||
|
UPDATE AD_Field SET SeqNo=140,Updated=TO_TIMESTAMP('2014-09-05 15:43:29','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=202535
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 3:44:41 PM COT
|
||||||
|
UPDATE AD_Field SET DisplayLogic='@IsCreateConstraint@=''Y'' & @IsUnique@=''Y''',Updated=TO_TIMESTAMP('2014-09-05 15:44:41','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=203443
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201409051545_IDEMPIERE-1901.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
update ad_column set callout = 'org.compiere.model.CalloutOrder.organization' where ad_column_id = 2163;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201409051652_IDEMPIERE-1842.sql') FROM dual;
|
|
@ -0,0 +1,34 @@
|
||||||
|
update ad_infoprocess set ad_column_id=null where ad_column_id is not null;
|
||||||
|
|
||||||
|
ALTER TABLE ad_infoprocess RENAME ad_column_id TO ad_infocolumn_id;
|
||||||
|
|
||||||
|
ALTER TABLE ad_infoprocess DROP CONSTRAINT adcolumn_adinfoprocess CASCADE;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 5:40:41 PM COT
|
||||||
|
-- IDEMPIERE-1970 Improve t_selection logic for info window
|
||||||
|
INSERT INTO AD_Val_Rule (Code,AD_Val_Rule_ID,EntityType,Name,Type,AD_Val_Rule_UU,CreatedBy,UpdatedBy,Updated,AD_Org_ID,IsActive,AD_Client_ID,Created) VALUES ('AD_InfoColumn.AD_InfoWindow_ID=@AD_InfoWindow_ID@',200065,'D','AD_InfoColumn from Info Window','S','010f3e1f-dd6c-48c7-8fe1-945e0a2482a2',100,100,TO_TIMESTAMP('2014-09-05 17:40:37','YYYY-MM-DD HH24:MI:SS'),0,'Y',0,TO_TIMESTAMP('2014-09-05 17:40:37','YYYY-MM-DD HH24:MI:SS'))
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 5:40:55 PM COT
|
||||||
|
UPDATE AD_Column SET FieldLength=10, IsUpdateable='N', ColumnName='AD_InfoColumn_ID', Description='Info Window Column', Help='Column in the Info Window for display and/or selection. If used for selection, the column cannot be a SQL expression. The SQL clause must be fully qualified based on the FROM clause in the Info Window definition', Name='Info Column', FKConstraintName=NULL, AD_Element_ID=3069, AD_Val_Rule_ID=200065,Updated=TO_TIMESTAMP('2014-09-05 17:40:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=211377
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 5:41:00 PM COT
|
||||||
|
UPDATE AD_Column SET FKConstraintName='ADInfoColumn_ADInfoProcess', FKConstraintType='N',Updated=TO_TIMESTAMP('2014-09-05 17:41:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=211377
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 5:41:00 PM COT
|
||||||
|
INSERT INTO t_alter_column values('ad_infoprocess','AD_InfoColumn_ID','NUMERIC(10)',null,'NULL')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 5:41:00 PM COT
|
||||||
|
ALTER TABLE AD_InfoProcess ADD CONSTRAINT ADInfoColumn_ADInfoProcess FOREIGN KEY (AD_InfoColumn_ID) REFERENCES ad_infocolumn(ad_infocolumn_id) DEFERRABLE INITIALLY DEFERRED
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Sep 5, 2014 5:44:01 PM COT
|
||||||
|
UPDATE AD_Column SET IsUpdateable='Y',Updated=TO_TIMESTAMP('2014-09-05 17:44:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=211377
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201409051741_IDEMPIERE-1970.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
-- Mar 20, 2014 10:54:24 AM COT
|
||||||
|
-- IDEMPIERE-1840 Reference AD_Org Parent WhereClause bug
|
||||||
|
UPDATE AD_Ref_Table SET WhereClause='AD_Org.IsSummary=''Y''',Updated=TO_TIMESTAMP('2014-03-20 10:54:24','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Reference_ID=113
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201409251410_IDEMPIERE-1840.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -1374,6 +1374,27 @@ public class CalloutOrder extends CalloutEngine
|
||||||
return "";
|
return "";
|
||||||
} // SalesOrderTenderType
|
} // SalesOrderTenderType
|
||||||
|
|
||||||
|
public String organization(Properties ctx, int WindowNo, GridTab mTab, GridField mField, Object value){
|
||||||
|
|
||||||
|
//Return if Organization field is empty
|
||||||
|
if(value == null || (Integer)value == 0)
|
||||||
|
return "";
|
||||||
|
|
||||||
|
log.info("Set default Warehouse for Organization " + value + " on Window " + WindowNo);
|
||||||
|
|
||||||
|
//Get the current Warehouse
|
||||||
|
Integer m_warehouse_id = (Integer) mTab.getValue("M_Warehouse_ID");
|
||||||
|
|
||||||
|
//Only set Warehouse if the field is empty
|
||||||
|
if(m_warehouse_id == null || m_warehouse_id == 0){
|
||||||
|
Integer ad_org_id = (Integer) value;
|
||||||
|
MOrgInfo orginfo = MOrgInfo.get(ctx, ad_org_id.intValue(), null);
|
||||||
|
|
||||||
|
//only set Warehouse if there is a default Warehouse on OrgInfo
|
||||||
|
if(orginfo!=null && orginfo.getM_Warehouse_ID() != 0)
|
||||||
|
mTab.setValue("M_Warehouse_ID", orginfo.getM_Warehouse_ID());
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
} // CalloutOrder
|
} // CalloutOrder
|
||||||
|
|
||||||
|
|
|
@ -120,7 +120,7 @@ public class ExpenseAPInvoice extends SvrProcess
|
||||||
MBPartner bp = new MBPartner (getCtx(), te.getC_BPartner_ID(), get_TrxName());
|
MBPartner bp = new MBPartner (getCtx(), te.getC_BPartner_ID(), get_TrxName());
|
||||||
//
|
//
|
||||||
if (log.isLoggable(Level.INFO)) log.info("New Invoice for " + bp);
|
if (log.isLoggable(Level.INFO)) log.info("New Invoice for " + bp);
|
||||||
invoice = new MInvoice (getCtx(), 0, null);
|
invoice = new MInvoice (getCtx(), 0, get_TrxName());
|
||||||
invoice.setClientOrg(te.getAD_Client_ID(), te.getAD_Org_ID());
|
invoice.setClientOrg(te.getAD_Client_ID(), te.getAD_Org_ID());
|
||||||
invoice.setC_DocTypeTarget_ID(MDocType.DOCBASETYPE_APInvoice); // API
|
invoice.setC_DocTypeTarget_ID(MDocType.DOCBASETYPE_APInvoice); // API
|
||||||
invoice.setDocumentNo (te.getDocumentNo());
|
invoice.setDocumentNo (te.getDocumentNo());
|
||||||
|
|
|
@ -527,6 +527,7 @@ public class ImportInventory extends SvrProcess
|
||||||
costingDoc = new MInventory(getCtx(), 0, get_TrxName());
|
costingDoc = new MInventory(getCtx(), 0, get_TrxName());
|
||||||
costingDoc.setC_DocType_ID(p_C_DocType_ID);
|
costingDoc.setC_DocType_ID(p_C_DocType_ID);
|
||||||
costingDoc.setCostingMethod(cost.getM_CostElement().getCostingMethod());
|
costingDoc.setCostingMethod(cost.getM_CostElement().getCostingMethod());
|
||||||
|
costingDoc.setAD_Org_ID(imp.getAD_Org_ID());
|
||||||
costingDoc.setDocAction(DocAction.ACTION_Complete);
|
costingDoc.setDocAction(DocAction.ACTION_Complete);
|
||||||
costingDoc.saveEx();
|
costingDoc.saveEx();
|
||||||
}
|
}
|
||||||
|
@ -537,6 +538,7 @@ public class ImportInventory extends SvrProcess
|
||||||
costingLine.setCurrentCostPrice(cost.getCurrentCostPrice());
|
costingLine.setCurrentCostPrice(cost.getCurrentCostPrice());
|
||||||
costingLine.setNewCostPrice(imp.getCurrentCostPrice());
|
costingLine.setNewCostPrice(imp.getCurrentCostPrice());
|
||||||
costingLine.setM_Locator_ID(0);
|
costingLine.setM_Locator_ID(0);
|
||||||
|
costingLine.setAD_Org_ID(imp.getAD_Org_ID());
|
||||||
costingLine.saveEx();
|
costingLine.saveEx();
|
||||||
|
|
||||||
imp.setM_CostingLine_ID(costingLine.getM_InventoryLine_ID());
|
imp.setM_CostingLine_ID(costingLine.getM_InventoryLine_ID());
|
||||||
|
|
|
@ -16,7 +16,7 @@ package org.adempiere.model;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import org.compiere.model.MColumn;
|
|
||||||
import org.compiere.model.MProcess;
|
import org.compiere.model.MProcess;
|
||||||
import org.compiere.model.X_AD_InfoProcess;
|
import org.compiere.model.X_AD_InfoProcess;
|
||||||
import org.compiere.util.Env;
|
import org.compiere.util.Env;
|
||||||
|
@ -33,7 +33,7 @@ public class MInfoProcess extends X_AD_InfoProcess {
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -2167041563372362436L;
|
private static final long serialVersionUID = 2478699719088685214L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
|
@ -89,25 +89,4 @@ public class MInfoProcess extends X_AD_InfoProcess {
|
||||||
return retValue;
|
return retValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* name of column define is ViewID
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public String getViewIDName (){
|
|
||||||
// no column define
|
|
||||||
if (getAD_Column_ID() == 0)
|
|
||||||
return null;
|
|
||||||
|
|
||||||
// return cache value
|
|
||||||
if (m_viewIDName != null)
|
|
||||||
return m_viewIDName;
|
|
||||||
|
|
||||||
MColumn viewIDColumn = (MColumn)getAD_Column();
|
|
||||||
if (viewIDColumn != null){
|
|
||||||
return viewIDColumn.getColumnName();
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,6 @@ public class MTabCustomization extends X_AD_Tab_Customization {
|
||||||
*/
|
*/
|
||||||
public static MTabCustomization get(Properties ctx, int AD_User_ID, int AD_Tab_ID, String trxName) {
|
public static MTabCustomization get(Properties ctx, int AD_User_ID, int AD_Tab_ID, String trxName) {
|
||||||
Query query = new Query(ctx, Table_Name, "AD_User_ID=? AND AD_Tab_ID=?", trxName);
|
Query query = new Query(ctx, Table_Name, "AD_User_ID=? AND AD_Tab_ID=?", trxName);
|
||||||
return query.setParameters(new Object[]{AD_User_ID, AD_Tab_ID}).first();
|
return query.setClient_ID().setParameters(new Object[]{AD_User_ID, AD_Tab_ID}).first();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1004,7 +1004,7 @@ public abstract class Doc
|
||||||
m_period = MPeriod.get(getCtx(), ii.intValue());
|
m_period = MPeriod.get(getCtx(), ii.intValue());
|
||||||
}
|
}
|
||||||
if (m_period == null)
|
if (m_period == null)
|
||||||
m_period = MPeriod.get(getCtx(), getDateAcct(), getAD_Org_ID());
|
m_period = MPeriod.get(getCtx(), getDateAcct(), getAD_Org_ID(), m_trxName);
|
||||||
// Is Period Open?
|
// Is Period Open?
|
||||||
if (m_period != null
|
if (m_period != null
|
||||||
&& m_period.isOpen(getDocumentType(), getDateAcct()))
|
&& m_period.isOpen(getDocumentType(), getDateAcct()))
|
||||||
|
|
|
@ -51,6 +51,7 @@ public final class DocTax
|
||||||
m_C_Tax_ID = C_Tax_ID;
|
m_C_Tax_ID = C_Tax_ID;
|
||||||
m_name = name;
|
m_name = name;
|
||||||
m_rate = rate;
|
m_rate = rate;
|
||||||
|
m_taxBaseAmt = taxBaseAmt;//IDEMPIERE-2160 Add by Hideaki Hagiwara
|
||||||
m_amount = amount;
|
m_amount = amount;
|
||||||
m_salesTax = salesTax;
|
m_salesTax = salesTax;
|
||||||
} // DocTax
|
} // DocTax
|
||||||
|
|
|
@ -1073,13 +1073,14 @@ public class GridTable extends AbstractTableModel
|
||||||
public void waitLoadingForRow(int row) {
|
public void waitLoadingForRow(int row) {
|
||||||
// need to wait for data read into buffer
|
// need to wait for data read into buffer
|
||||||
int loops = 0;
|
int loops = 0;
|
||||||
//wait for 30 seconds
|
//wait for [timeout] seconds
|
||||||
while (row >= m_sort.size() && m_loaderFuture != null && !m_loaderFuture.isDone() && loops < 60)
|
int timeout = MSysConfig.getIntValue(MSysConfig.GRIDTABLE_LOAD_TIMEOUT_IN_SECONDS, 30, Env.getAD_Client_ID(Env.getCtx()));
|
||||||
|
while (row >= m_sort.size() && m_loaderFuture != null && !m_loaderFuture.isDone() && loops < timeout)
|
||||||
{
|
{
|
||||||
if (log.isLoggable(Level.FINE)) log.fine("Waiting for loader row=" + row + ", size=" + m_sort.size());
|
if (log.isLoggable(Level.FINE)) log.fine("Waiting for loader row=" + row + ", size=" + m_sort.size());
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
m_loaderFuture.get(500, TimeUnit.MILLISECONDS);
|
m_loaderFuture.get(1000, TimeUnit.MILLISECONDS);
|
||||||
}
|
}
|
||||||
catch (Exception ie)
|
catch (Exception ie)
|
||||||
{}
|
{}
|
||||||
|
@ -1092,6 +1093,7 @@ public class GridTable extends AbstractTableModel
|
||||||
throw new IllegalStateException(savedEx);
|
throw new IllegalStateException(savedEx);
|
||||||
}
|
}
|
||||||
if (row >= m_sort.size()) {
|
if (row >= m_sort.size()) {
|
||||||
|
log.warning("Reached " + timeout + " seconds timeout loading row " + (row+1) + " for SQL=" + m_SQL);
|
||||||
throw new IllegalStateException("Timeout loading row " + (row+1));
|
throw new IllegalStateException("Timeout loading row " + (row+1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,20 +49,20 @@ public interface I_AD_InfoProcess
|
||||||
*/
|
*/
|
||||||
public int getAD_Client_ID();
|
public int getAD_Client_ID();
|
||||||
|
|
||||||
/** Column name AD_Column_ID */
|
/** Column name AD_InfoColumn_ID */
|
||||||
public static final String COLUMNNAME_AD_Column_ID = "AD_Column_ID";
|
public static final String COLUMNNAME_AD_InfoColumn_ID = "AD_InfoColumn_ID";
|
||||||
|
|
||||||
/** Set ViewID Column.
|
/** Set Info Column.
|
||||||
* Name of unique column in a view. value of this column will save to t_selection table
|
* Info Window Column
|
||||||
*/
|
*/
|
||||||
public void setAD_Column_ID (int AD_Column_ID);
|
public void setAD_InfoColumn_ID (int AD_InfoColumn_ID);
|
||||||
|
|
||||||
/** Get ViewID Column.
|
/** Get Info Column.
|
||||||
* Name of unique column in a view. value of this column will save to t_selection table
|
* Info Window Column
|
||||||
*/
|
*/
|
||||||
public int getAD_Column_ID();
|
public int getAD_InfoColumn_ID();
|
||||||
|
|
||||||
public org.compiere.model.I_AD_Column getAD_Column() throws RuntimeException;
|
public org.compiere.model.I_AD_InfoColumn getAD_InfoColumn() throws RuntimeException;
|
||||||
|
|
||||||
/** Column name AD_InfoProcess_ID */
|
/** Column name AD_InfoProcess_ID */
|
||||||
public static final String COLUMNNAME_AD_InfoProcess_ID = "AD_InfoProcess_ID";
|
public static final String COLUMNNAME_AD_InfoProcess_ID = "AD_InfoProcess_ID";
|
||||||
|
|
|
@ -189,6 +189,19 @@ public interface I_AD_TableIndex
|
||||||
/** Get Create Constraint */
|
/** Get Create Constraint */
|
||||||
public boolean isCreateConstraint();
|
public boolean isCreateConstraint();
|
||||||
|
|
||||||
|
/** Column name IsKey */
|
||||||
|
public static final String COLUMNNAME_IsKey = "IsKey";
|
||||||
|
|
||||||
|
/** Set Key column.
|
||||||
|
* This column is the key in this table
|
||||||
|
*/
|
||||||
|
public void setIsKey (boolean IsKey);
|
||||||
|
|
||||||
|
/** Get Key column.
|
||||||
|
* This column is the key in this table
|
||||||
|
*/
|
||||||
|
public boolean isKey();
|
||||||
|
|
||||||
/** Column name IsUnique */
|
/** Column name IsUnique */
|
||||||
public static final String COLUMNNAME_IsUnique = "IsUnique";
|
public static final String COLUMNNAME_IsUnique = "IsUnique";
|
||||||
|
|
||||||
|
@ -220,6 +233,15 @@ public interface I_AD_TableIndex
|
||||||
/** Get Process Now */
|
/** Get Process Now */
|
||||||
public boolean isProcessing();
|
public boolean isProcessing();
|
||||||
|
|
||||||
|
/** Column name TableIndexDrop */
|
||||||
|
public static final String COLUMNNAME_TableIndexDrop = "TableIndexDrop";
|
||||||
|
|
||||||
|
/** Set Drop table index */
|
||||||
|
public void setTableIndexDrop (String TableIndexDrop);
|
||||||
|
|
||||||
|
/** Get Drop table index */
|
||||||
|
public String getTableIndexDrop();
|
||||||
|
|
||||||
/** Column name Updated */
|
/** Column name Updated */
|
||||||
public static final String COLUMNNAME_Updated = "Updated";
|
public static final String COLUMNNAME_Updated = "Updated";
|
||||||
|
|
||||||
|
|
|
@ -88,19 +88,6 @@ public interface I_M_Product
|
||||||
*/
|
*/
|
||||||
public String getCopyFrom();
|
public String getCopyFrom();
|
||||||
|
|
||||||
/** Column name CostStandard */
|
|
||||||
public static final String COLUMNNAME_CostStandard = "CostStandard";
|
|
||||||
|
|
||||||
/** Set Standard Cost.
|
|
||||||
* Standard Costs
|
|
||||||
*/
|
|
||||||
public void setCostStandard (BigDecimal CostStandard);
|
|
||||||
|
|
||||||
/** Get Standard Cost.
|
|
||||||
* Standard Costs
|
|
||||||
*/
|
|
||||||
public BigDecimal getCostStandard();
|
|
||||||
|
|
||||||
/** Column name Created */
|
/** Column name Created */
|
||||||
public static final String COLUMNNAME_Created = "Created";
|
public static final String COLUMNNAME_Created = "Created";
|
||||||
|
|
||||||
|
@ -229,6 +216,19 @@ public interface I_M_Product
|
||||||
*/
|
*/
|
||||||
public Timestamp getDiscontinuedAt();
|
public Timestamp getDiscontinuedAt();
|
||||||
|
|
||||||
|
/** Column name DocumentDescription */
|
||||||
|
public static final String COLUMNNAME_DocumentDescription = "DocumentDescription";
|
||||||
|
|
||||||
|
/** Set DocumentDescription.
|
||||||
|
* DocumentDescription
|
||||||
|
*/
|
||||||
|
public void setDocumentDescription (String DocumentDescription);
|
||||||
|
|
||||||
|
/** Get DocumentDescription.
|
||||||
|
* DocumentDescription
|
||||||
|
*/
|
||||||
|
public String getDocumentDescription();
|
||||||
|
|
||||||
/** Column name DocumentNote */
|
/** Column name DocumentNote */
|
||||||
public static final String COLUMNNAME_DocumentNote = "DocumentNote";
|
public static final String COLUMNNAME_DocumentNote = "DocumentNote";
|
||||||
|
|
||||||
|
@ -299,6 +299,24 @@ public interface I_M_Product
|
||||||
*/
|
*/
|
||||||
public String getHelp();
|
public String getHelp();
|
||||||
|
|
||||||
|
/** Column name ImageBig_ID */
|
||||||
|
public static final String COLUMNNAME_ImageBig_ID = "ImageBig_ID";
|
||||||
|
|
||||||
|
/** Set ImageBig_ID */
|
||||||
|
public void setImageBig_ID (int ImageBig_ID);
|
||||||
|
|
||||||
|
/** Get ImageBig_ID */
|
||||||
|
public int getImageBig_ID();
|
||||||
|
|
||||||
|
/** Column name ImageSmall_ID */
|
||||||
|
public static final String COLUMNNAME_ImageSmall_ID = "ImageSmall_ID";
|
||||||
|
|
||||||
|
/** Set ImageSmall_ID */
|
||||||
|
public void setImageSmall_ID (int ImageSmall_ID);
|
||||||
|
|
||||||
|
/** Get ImageSmall_ID */
|
||||||
|
public int getImageSmall_ID();
|
||||||
|
|
||||||
/** Column name ImageURL */
|
/** Column name ImageURL */
|
||||||
public static final String COLUMNNAME_ImageURL = "ImageURL";
|
public static final String COLUMNNAME_ImageURL = "ImageURL";
|
||||||
|
|
||||||
|
|
|
@ -325,7 +325,7 @@ implements DocAction
|
||||||
}
|
}
|
||||||
if (newRecord || is_ValueChanged(COLUMNNAME_DateAcct))
|
if (newRecord || is_ValueChanged(COLUMNNAME_DateAcct))
|
||||||
{
|
{
|
||||||
setC_Period_ID(MPeriod.get(getCtx(), getDateAcct(), getAD_Org_ID()).get_ID());
|
setC_Period_ID(MPeriod.get(getCtx(), getDateAcct(), getAD_Org_ID(), get_TrxName()).get_ID());
|
||||||
}
|
}
|
||||||
if (getA_Disposed_Date() == null)
|
if (getA_Disposed_Date() == null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -71,7 +71,7 @@ implements DocAction
|
||||||
|
|
||||||
public void setC_Period_ID()
|
public void setC_Period_ID()
|
||||||
{
|
{
|
||||||
MPeriod period = MPeriod.get(getCtx(), getDateAcct(), getAD_Org_ID());
|
MPeriod period = MPeriod.get(getCtx(), getDateAcct(), getAD_Org_ID(), get_TrxName());
|
||||||
if (period == null)
|
if (period == null)
|
||||||
{
|
{
|
||||||
throw new AdempiereException("@NotFound@ @C_Period_ID@");
|
throw new AdempiereException("@NotFound@ @C_Period_ID@");
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class MBPGroup extends X_C_BP_Group
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -5323639776872742839L;
|
private static final long serialVersionUID = 8897399796117872715L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get MBPGroup from Cache
|
* Get MBPGroup from Cache
|
||||||
|
@ -244,15 +244,5 @@ public class MBPGroup extends X_C_BP_Group
|
||||||
return insert_Accounting("C_BP_Group_Acct", "C_AcctSchema_Default", null);
|
return insert_Accounting("C_BP_Group_Acct", "C_AcctSchema_Default", null);
|
||||||
return success;
|
return success;
|
||||||
} // afterSave
|
} // afterSave
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Before Delete
|
|
||||||
* @return true
|
|
||||||
*/
|
|
||||||
protected boolean beforeDelete ()
|
|
||||||
{
|
|
||||||
return delete_Accounting("C_BP_Group_Acct");
|
|
||||||
} // beforeDelete
|
|
||||||
|
|
||||||
} // MBPGroup
|
} // MBPGroup
|
||||||
|
|
|
@ -47,7 +47,7 @@ public class MBPartner extends X_C_BPartner
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -4308267492285903865L;
|
private static final long serialVersionUID = -5503105554864289337L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Empty Template Business Partner
|
* Get Empty Template Business Partner
|
||||||
|
@ -945,17 +945,6 @@ public class MBPartner extends X_C_BPartner
|
||||||
return success;
|
return success;
|
||||||
} // afterSave
|
} // afterSave
|
||||||
|
|
||||||
/**
|
|
||||||
* Before Delete
|
|
||||||
* @return true
|
|
||||||
*/
|
|
||||||
protected boolean beforeDelete ()
|
|
||||||
{
|
|
||||||
return delete_Accounting("C_BP_Customer_Acct")
|
|
||||||
&& delete_Accounting("C_BP_Vendor_Acct")
|
|
||||||
&& delete_Accounting("C_BP_Employee_Acct");
|
|
||||||
} // beforeDelete
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* After Delete
|
* After Delete
|
||||||
* @param success
|
* @param success
|
||||||
|
|
|
@ -34,7 +34,7 @@ public class MBankAccount extends X_C_BankAccount
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -8742307130542608791L;
|
private static final long serialVersionUID = 2392818253347168347L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get BankAccount from Cache
|
* Get BankAccount from Cache
|
||||||
|
@ -133,14 +133,5 @@ public class MBankAccount extends X_C_BankAccount
|
||||||
return insert_Accounting("C_BankAccount_Acct", "C_AcctSchema_Default", null);
|
return insert_Accounting("C_BankAccount_Acct", "C_AcctSchema_Default", null);
|
||||||
return success;
|
return success;
|
||||||
} // afterSave
|
} // afterSave
|
||||||
|
|
||||||
/**
|
|
||||||
* Before Delete
|
|
||||||
* @return true
|
|
||||||
*/
|
|
||||||
protected boolean beforeDelete ()
|
|
||||||
{
|
|
||||||
return delete_Accounting("C_BankAccount_Acct");
|
|
||||||
} // beforeDelete
|
|
||||||
|
|
||||||
} // MBankAccount
|
} // MBankAccount
|
||||||
|
|
|
@ -35,7 +35,7 @@ public class MCashBook extends X_C_CashBook
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 4602423783184037174L;
|
private static final long serialVersionUID = 3991585668643587699L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get MCashBook from Cache
|
* Get MCashBook from Cache
|
||||||
|
@ -143,13 +143,4 @@ public class MCashBook extends X_C_CashBook
|
||||||
return success;
|
return success;
|
||||||
} // afterSave
|
} // afterSave
|
||||||
|
|
||||||
/**
|
|
||||||
* Before Delete
|
|
||||||
* @return true
|
|
||||||
*/
|
|
||||||
protected boolean beforeDelete ()
|
|
||||||
{
|
|
||||||
return delete_Accounting("C_Cashbook_Acct");
|
|
||||||
} // beforeDelete
|
|
||||||
|
|
||||||
} // MCashBook
|
} // MCashBook
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class MCharge extends X_C_Charge
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 8246481667219415012L;
|
private static final long serialVersionUID = -4628105180010713510L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Charge Account
|
* Get Charge Account
|
||||||
|
@ -150,13 +150,4 @@ public class MCharge extends X_C_Charge
|
||||||
return success;
|
return success;
|
||||||
} // afterSave
|
} // afterSave
|
||||||
|
|
||||||
/**
|
|
||||||
* Before Delete
|
|
||||||
* @return true
|
|
||||||
*/
|
|
||||||
protected boolean beforeDelete ()
|
|
||||||
{
|
|
||||||
return delete_Accounting("C_Charge_Acct");
|
|
||||||
} // beforeDelete
|
|
||||||
|
|
||||||
} // MCharge
|
} // MCharge
|
||||||
|
|
|
@ -93,7 +93,7 @@ implements DocAction
|
||||||
|
|
||||||
public void setC_Period_ID()
|
public void setC_Period_ID()
|
||||||
{
|
{
|
||||||
MPeriod period = MPeriod.get(getCtx(), getDateAcct(), getAD_Org_ID());
|
MPeriod period = MPeriod.get(getCtx(), getDateAcct(), getAD_Org_ID(), get_TrxName());
|
||||||
if (period == null)
|
if (period == null)
|
||||||
{
|
{
|
||||||
throw new AdempiereException("@NotFound@ @C_Period_ID@");
|
throw new AdempiereException("@NotFound@ @C_Period_ID@");
|
||||||
|
|
|
@ -1463,10 +1463,7 @@ public class MInOut extends X_M_InOut implements DocAction
|
||||||
// Correct Order Line
|
// Correct Order Line
|
||||||
if (product != null && oLine != null) // other in VMatch.createMatchRecord
|
if (product != null && oLine != null) // other in VMatch.createMatchRecord
|
||||||
{
|
{
|
||||||
if (isSOTrx())
|
oLine.setQtyReserved(oLine.getQtyReserved().subtract(sLine.getMovementQty().subtract(sLine.getQtyOverReceipt())));
|
||||||
oLine.setQtyReserved(oLine.getQtyReserved().subtract(sLine.getMovementQty()));
|
|
||||||
else
|
|
||||||
oLine.setQtyReserved(oLine.getQtyReserved().subtract(sLine.getMovementQty().subtract(sLine.getQtyOverReceipt())));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update Sales Order Line
|
// Update Sales Order Line
|
||||||
|
@ -1820,6 +1817,8 @@ public class MInOut extends X_M_InOut implements DocAction
|
||||||
for(MInOutLineMA sMA : shipmentMAS){
|
for(MInOutLineMA sMA : shipmentMAS){
|
||||||
BigDecimal lineMAQty = qtyToReturn;
|
BigDecimal lineMAQty = qtyToReturn;
|
||||||
BigDecimal qtyReturnable = (BigDecimal)sMA.get_Value(MInOutLineMA.COLUMNNAME_ReturnedQty);
|
BigDecimal qtyReturnable = (BigDecimal)sMA.get_Value(MInOutLineMA.COLUMNNAME_ReturnedQty);
|
||||||
|
if (qtyReturnable == null)
|
||||||
|
qtyReturnable = Env.ZERO;
|
||||||
if(lineMAQty.compareTo(qtyReturnable)>0){
|
if(lineMAQty.compareTo(qtyReturnable)>0){
|
||||||
lineMAQty = qtyReturnable;
|
lineMAQty = qtyReturnable;
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@ public class MInfoWindow extends X_AD_InfoWindow
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -3099366897275960300L;
|
private static final long serialVersionUID = -3627504150648422756L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Standard Constructor
|
* Standard Constructor
|
||||||
|
@ -178,6 +178,15 @@ public class MInfoWindow extends X_AD_InfoWindow
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** return true if the current role can access to the specified info window ; otherwise return null */
|
||||||
|
public static MInfoWindow get(int infoWindowID, String trxName) {
|
||||||
|
MInfoWindow iw = new MInfoWindow(Env.getCtx(), infoWindowID, null);
|
||||||
|
Boolean access = MRole.getDefault().getInfoAccess(iw.getAD_InfoWindow_ID());
|
||||||
|
if (access != null && access.booleanValue())
|
||||||
|
return iw;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public MInfoColumn[] getInfoColumns(TableInfo[] tableInfos) {
|
public MInfoColumn[] getInfoColumns(TableInfo[] tableInfos) {
|
||||||
Query query = new Query(getCtx(), MTable.get(getCtx(), I_AD_InfoColumn.Table_ID), I_AD_InfoColumn.COLUMNNAME_AD_InfoWindow_ID+"=?", get_TrxName());
|
Query query = new Query(getCtx(), MTable.get(getCtx(), I_AD_InfoColumn.Table_ID), I_AD_InfoColumn.COLUMNNAME_AD_InfoWindow_ID+"=?", get_TrxName());
|
||||||
List<MInfoColumn> list = query.setParameters(getAD_InfoWindow_ID())
|
List<MInfoColumn> list = query.setParameters(getAD_InfoWindow_ID())
|
||||||
|
|
|
@ -438,7 +438,7 @@ public class MJournal extends X_GL_Journal implements DocAction
|
||||||
MDocType dt = MDocType.get(getCtx(), getC_DocType_ID());
|
MDocType dt = MDocType.get(getCtx(), getC_DocType_ID());
|
||||||
|
|
||||||
// Get Period
|
// Get Period
|
||||||
MPeriod period = MPeriod.get (getCtx(), getDateAcct(), getAD_Org_ID());
|
MPeriod period = MPeriod.get (getCtx(), getDateAcct(), getAD_Org_ID(), get_TrxName());
|
||||||
if (period == null)
|
if (period == null)
|
||||||
{
|
{
|
||||||
log.warning("No Period for " + getDateAcct());
|
log.warning("No Period for " + getDateAcct());
|
||||||
|
@ -756,6 +756,7 @@ public class MJournal extends X_GL_Journal implements DocAction
|
||||||
// Reverse indicator
|
// Reverse indicator
|
||||||
StringBuilder msgd = new StringBuilder("(->").append(getDocumentNo()).append(")");
|
StringBuilder msgd = new StringBuilder("(->").append(getDocumentNo()).append(")");
|
||||||
reverse.addDescription(msgd.toString());
|
reverse.addDescription(msgd.toString());
|
||||||
|
reverse.setControlAmt(getControlAmt().negate());
|
||||||
//FR [ 1948157 ]
|
//FR [ 1948157 ]
|
||||||
reverse.setReversal_ID(getGL_Journal_ID());
|
reverse.setReversal_ID(getGL_Journal_ID());
|
||||||
if (!reverse.save())
|
if (!reverse.save())
|
||||||
|
|
|
@ -630,6 +630,7 @@ public class MJournalBatch extends X_GL_JournalBatch implements DocAction
|
||||||
// Reverse indicator
|
// Reverse indicator
|
||||||
StringBuilder msgd = new StringBuilder("(->").append(getDocumentNo()).append(")");
|
StringBuilder msgd = new StringBuilder("(->").append(getDocumentNo()).append(")");
|
||||||
reverse.addDescription(msgd.toString());
|
reverse.addDescription(msgd.toString());
|
||||||
|
reverse.setControlAmt(getControlAmt().negate());
|
||||||
//[ 1948157 ]
|
//[ 1948157 ]
|
||||||
reverse.setReversal_ID(getGL_JournalBatch_ID());
|
reverse.setReversal_ID(getGL_JournalBatch_ID());
|
||||||
reverse.saveEx();
|
reverse.saveEx();
|
||||||
|
|
|
@ -1193,10 +1193,7 @@ public class MOrder extends X_C_Order implements DocAction
|
||||||
{
|
{
|
||||||
if (isProcessed())
|
if (isProcessed())
|
||||||
return false;
|
return false;
|
||||||
|
// automatic deletion of lines is driven by model cascade definition in dictionary - see IDEMPIERE-2060
|
||||||
for (MOrderLine line : getLines()) {
|
|
||||||
line.deleteEx(true);
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
} // beforeDelete
|
} // beforeDelete
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ public class MPeriod extends X_C_Period
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 6498973218391994963L;
|
private static final long serialVersionUID = -1636783790829454894L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Period from Cache
|
* Get Period from Cache
|
||||||
|
@ -97,7 +97,7 @@ public class MPeriod extends X_C_Period
|
||||||
* @param AD_Org_ID Organization
|
* @param AD_Org_ID Organization
|
||||||
* @return active Period or null
|
* @return active Period or null
|
||||||
*/
|
*/
|
||||||
public static MPeriod get (Properties ctx, Timestamp DateAcct, int AD_Org_ID)
|
public static MPeriod get (Properties ctx, Timestamp DateAcct, int AD_Org_ID, String trxName)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (DateAcct == null)
|
if (DateAcct == null)
|
||||||
|
@ -105,9 +105,15 @@ public class MPeriod extends X_C_Period
|
||||||
|
|
||||||
int C_Calendar_ID = getC_Calendar_ID(ctx,AD_Org_ID);
|
int C_Calendar_ID = getC_Calendar_ID(ctx,AD_Org_ID);
|
||||||
|
|
||||||
return findByCalendar(ctx, DateAcct, C_Calendar_ID);
|
return findByCalendar(ctx, DateAcct, C_Calendar_ID, trxName);
|
||||||
} // get
|
} // get
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
public static MPeriod get (Properties ctx, Timestamp DateAcct, int AD_Org_ID)
|
||||||
|
{
|
||||||
|
return get(ctx, DateAcct, AD_Org_ID, null);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param ctx
|
* @param ctx
|
||||||
|
|
|
@ -757,7 +757,7 @@ public class MProduct extends X_M_Product
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
//
|
//
|
||||||
return delete_Accounting("M_Product_Acct");
|
return true;
|
||||||
} // beforeDelete
|
} // beforeDelete
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -41,8 +41,7 @@ public class MProductCategory extends X_M_Product_Category
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -1290361229726779892L;
|
private static final long serialVersionUID = 1239249591584452179L;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get from Cache
|
* Get from Cache
|
||||||
|
@ -178,15 +177,6 @@ public class MProductCategory extends X_M_Product_Category
|
||||||
return success;
|
return success;
|
||||||
} // afterSave
|
} // afterSave
|
||||||
|
|
||||||
/**
|
|
||||||
* Before Delete
|
|
||||||
* @return true
|
|
||||||
*/
|
|
||||||
protected boolean beforeDelete ()
|
|
||||||
{
|
|
||||||
return delete_Accounting("M_Product_Category_Acct");
|
|
||||||
} // beforeDelete
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FiFo Material Movement Policy
|
* FiFo Material Movement Policy
|
||||||
* @return true if FiFo
|
* @return true if FiFo
|
||||||
|
|
|
@ -781,7 +781,7 @@ public class MProductPricing
|
||||||
return;
|
return;
|
||||||
|
|
||||||
MDiscountSchema sd = MDiscountSchema.get(Env.getCtx(), M_DiscountSchema_ID); // not correct
|
MDiscountSchema sd = MDiscountSchema.get(Env.getCtx(), M_DiscountSchema_ID); // not correct
|
||||||
if (sd.get_ID() == 0)
|
if (sd.get_ID() == 0 || MDiscountSchema.CUMULATIVELEVEL_Line.equals(sd.getCumulativeLevel()))
|
||||||
return;
|
return;
|
||||||
//
|
//
|
||||||
m_discountSchema = true;
|
m_discountSchema = true;
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class MProject extends X_C_Project
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 2151648902207548617L;
|
private static final long serialVersionUID = -6103964836289951325L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create new Project by copying
|
* Create new Project by copying
|
||||||
|
@ -442,15 +442,6 @@ public class MProject extends X_C_Project
|
||||||
return success;
|
return success;
|
||||||
} // afterSave
|
} // afterSave
|
||||||
|
|
||||||
/**
|
|
||||||
* Before Delete
|
|
||||||
* @return true
|
|
||||||
*/
|
|
||||||
protected boolean beforeDelete ()
|
|
||||||
{
|
|
||||||
return delete_Accounting("C_Project_Acct");
|
|
||||||
} // beforeDelete
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* After Delete
|
* After Delete
|
||||||
* @param success
|
* @param success
|
||||||
|
|
|
@ -1108,9 +1108,22 @@ class Restriction implements Serializable
|
||||||
{
|
{
|
||||||
if (DirectWhereClause != null)
|
if (DirectWhereClause != null)
|
||||||
return DirectWhereClause;
|
return DirectWhereClause;
|
||||||
|
// verify if is a virtual column, do not prefix tableName if this is a virtualColumn
|
||||||
|
boolean virtualColumn = false;
|
||||||
|
if (tableName != null && tableName.length() > 0) {
|
||||||
|
MTable table = MTable.get(Env.getCtx(), tableName);
|
||||||
|
if (table != null) {
|
||||||
|
for (MColumn col : table.getColumns(false)) {
|
||||||
|
if (ColumnName.equals(col.getColumnSQL())) {
|
||||||
|
virtualColumn = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
//
|
//
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
if (tableName != null && tableName.length() > 0)
|
if (!virtualColumn && tableName != null && tableName.length() > 0)
|
||||||
{
|
{
|
||||||
// Assumes - REPLACE(INITCAP(variable),'s','X') or UPPER(variable)
|
// Assumes - REPLACE(INITCAP(variable),'s','X') or UPPER(variable)
|
||||||
int pos = ColumnName.lastIndexOf('(')+1; // including (
|
int pos = ColumnName.lastIndexOf('(')+1; // including (
|
||||||
|
|
|
@ -42,7 +42,7 @@ public class MSysConfig extends X_AD_SysConfig
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -916592278422470367L;
|
private static final long serialVersionUID = 1418216769489567455L;
|
||||||
|
|
||||||
public static final String ADDRESS_SAVE_REQUEST_RESPONSE_LOG = "ADDRESS_SAVE_REQUEST_RESPONSE_LOG";
|
public static final String ADDRESS_SAVE_REQUEST_RESPONSE_LOG = "ADDRESS_SAVE_REQUEST_RESPONSE_LOG";
|
||||||
public static final String ADDRESS_VALIDATION = "ADDRESS_VALIDATION";
|
public static final String ADDRESS_VALIDATION = "ADDRESS_VALIDATION";
|
||||||
|
@ -70,6 +70,7 @@ public class MSysConfig extends X_AD_SysConfig
|
||||||
public static final String DOCACTIONBUTTON_SHOWACTIONNAME = "DOCACTIONBUTTON_SHOWACTIONNAME";
|
public static final String DOCACTIONBUTTON_SHOWACTIONNAME = "DOCACTIONBUTTON_SHOWACTIONNAME";
|
||||||
public static final String DPVIEWS_SHOWINFOACCOUNT = "DPViews_ShowInfoAccount";
|
public static final String DPVIEWS_SHOWINFOACCOUNT = "DPViews_ShowInfoAccount";
|
||||||
public static final String DPVIEWS_SHOWINFOSCHEDULE = "DPViews_ShowInfoSchedule";
|
public static final String DPVIEWS_SHOWINFOSCHEDULE = "DPViews_ShowInfoSchedule";
|
||||||
|
public static final String GRIDTABLE_LOAD_TIMEOUT_IN_SECONDS = "GRIDTABLE_LOAD_TIMEOUT_IN_SECONDS";
|
||||||
public static final String Invoice_ReverseUseNewNumber = "Invoice_ReverseUseNewNumber";
|
public static final String Invoice_ReverseUseNewNumber = "Invoice_ReverseUseNewNumber";
|
||||||
public static final String JASPER_SWAP_MAX_PAGES = "JASPER_SWAP_MAX_PAGES";
|
public static final String JASPER_SWAP_MAX_PAGES = "JASPER_SWAP_MAX_PAGES";
|
||||||
public static final String LASTRUN_RECORD_COUNT = "LASTRUN_RECORD_COUNT";
|
public static final String LASTRUN_RECORD_COUNT = "LASTRUN_RECORD_COUNT";
|
||||||
|
|
|
@ -24,11 +24,10 @@ import org.adempiere.exceptions.AdempiereException;
|
||||||
import org.compiere.util.Msg;
|
import org.compiere.util.Msg;
|
||||||
|
|
||||||
public class MTableIndex extends X_AD_TableIndex {
|
public class MTableIndex extends X_AD_TableIndex {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 2672452678101398999L;
|
private static final long serialVersionUID = 5312095272014146977L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get active indexes from table
|
* Get active indexes from table
|
||||||
|
@ -168,7 +167,11 @@ public class MTableIndex extends X_AD_TableIndex {
|
||||||
}
|
}
|
||||||
else if (isUnique())
|
else if (isUnique())
|
||||||
{
|
{
|
||||||
sql = new StringBuilder("ALTER TABLE " + getTableName() + " ADD CONSTRAINT " + getName() + " UNIQUE (");
|
sql = new StringBuilder("ALTER TABLE ").append(getTableName()).append(" ADD CONSTRAINT ").append(getName());
|
||||||
|
if (isKey())
|
||||||
|
sql.append(" PRIMARY KEY (");
|
||||||
|
else
|
||||||
|
sql.append(" UNIQUE (");
|
||||||
getColumns(false);
|
getColumns(false);
|
||||||
for (int i = 0; i < m_columns.length; i++)
|
for (int i = 0; i < m_columns.length; i++)
|
||||||
{
|
{
|
||||||
|
@ -189,7 +192,7 @@ public class MTableIndex extends X_AD_TableIndex {
|
||||||
|
|
||||||
return sql.toString();
|
return sql.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get SQL index create DDL
|
* Get SQL index create DDL
|
||||||
* @return SQL DDL
|
* @return SQL DDL
|
||||||
|
@ -201,6 +204,20 @@ public class MTableIndex extends X_AD_TableIndex {
|
||||||
return m_ddl;
|
return m_ddl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get SQL index create DDL
|
||||||
|
* @return SQL DDL
|
||||||
|
*/
|
||||||
|
public String getDropDDL()
|
||||||
|
{
|
||||||
|
String sql = null;
|
||||||
|
if (isCreateConstraint())
|
||||||
|
sql = "ALTER TABLE " + getAD_Table().getTableName() + " DROP CONSTRAINT " + getName() + " CASCADE";
|
||||||
|
else
|
||||||
|
sql = "DROP INDEX " + getName();
|
||||||
|
return sql;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* String representation
|
* String representation
|
||||||
* @return info
|
* @return info
|
||||||
|
|
|
@ -41,8 +41,8 @@ public class MTax extends X_C_Tax
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 6423328193350641479L;
|
private static final long serialVersionUID = 5871827364071851846L;
|
||||||
|
|
||||||
/** Cache */
|
/** Cache */
|
||||||
private static CCache<Integer,MTax> s_cache = new CCache<Integer,MTax>(Table_Name, 5);
|
private static CCache<Integer,MTax> s_cache = new CCache<Integer,MTax>(Table_Name, 5);
|
||||||
/** Cache of Client */
|
/** Cache of Client */
|
||||||
|
@ -317,13 +317,4 @@ public class MTax extends X_C_Tax
|
||||||
return success;
|
return success;
|
||||||
} // afterSave
|
} // afterSave
|
||||||
|
|
||||||
/**
|
|
||||||
* Before Delete
|
|
||||||
* @return true
|
|
||||||
*/
|
|
||||||
protected boolean beforeDelete ()
|
|
||||||
{
|
|
||||||
return delete_Accounting("C_Tax_Acct");
|
|
||||||
} // beforeDelete
|
|
||||||
|
|
||||||
} // MTax
|
} // MTax
|
||||||
|
|
|
@ -106,11 +106,6 @@ public class MUserDefWin extends X_AD_UserDef_Win
|
||||||
*/
|
*/
|
||||||
public static MUserDefWin getBestMatch (Properties ctx, int window_ID)
|
public static MUserDefWin getBestMatch (Properties ctx, int window_ID)
|
||||||
{
|
{
|
||||||
// Check Cache
|
|
||||||
Integer key = new Integer(window_ID);
|
|
||||||
if (s_cache.containsKey(key))
|
|
||||||
return s_cache.get(key);
|
|
||||||
|
|
||||||
// parameters
|
// parameters
|
||||||
final int AD_Org_ID = Env.getAD_Org_ID(ctx);
|
final int AD_Org_ID = Env.getAD_Org_ID(ctx);
|
||||||
//final int anyOrg = 0;
|
//final int anyOrg = 0;
|
||||||
|
@ -119,6 +114,17 @@ public class MUserDefWin extends X_AD_UserDef_Win
|
||||||
final int AD_User_ID = Env.getAD_User_ID(ctx);
|
final int AD_User_ID = Env.getAD_User_ID(ctx);
|
||||||
//final String anyUser = "NULL";
|
//final String anyUser = "NULL";
|
||||||
|
|
||||||
|
// Check Cache
|
||||||
|
String key = new StringBuilder().append(window_ID).append("_")
|
||||||
|
.append(Env.getAD_Client_ID(ctx)).append("_")
|
||||||
|
.append(Env.getAD_Language(ctx)).append("_")
|
||||||
|
.append(AD_Org_ID).append("_")
|
||||||
|
.append(AD_Role_ID).append("_")
|
||||||
|
.append(AD_User_ID)
|
||||||
|
.toString();
|
||||||
|
if (s_cache.containsKey(key))
|
||||||
|
return s_cache.get(key);
|
||||||
|
|
||||||
// candidates
|
// candidates
|
||||||
MUserDefWin[] candidates = getAll(ctx, window_ID);
|
MUserDefWin[] candidates = getAll(ctx, window_ID);
|
||||||
if (candidates == null) {
|
if (candidates == null) {
|
||||||
|
@ -189,7 +195,7 @@ public class MUserDefWin extends X_AD_UserDef_Win
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Cache of selected MUserDefWin entries **/
|
/** Cache of selected MUserDefWin entries **/
|
||||||
private static CCache<Integer,MUserDefWin> s_cache = new CCache<Integer,MUserDefWin>(Table_Name, 3); // 3 weights
|
private static CCache<String,MUserDefWin> s_cache = new CCache<String,MUserDefWin>(Table_Name, 3); // 3 weights
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean beforeSave(boolean newRecord) {
|
protected boolean beforeSave(boolean newRecord) {
|
||||||
|
|
|
@ -41,7 +41,8 @@ public class MWarehouse extends X_M_Warehouse
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 7037547130625087045L;
|
private static final long serialVersionUID = 2696705459515717619L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get from Cache
|
* Get from Cache
|
||||||
* @param ctx context
|
* @param ctx context
|
||||||
|
@ -273,13 +274,4 @@ public class MWarehouse extends X_M_Warehouse
|
||||||
return success;
|
return success;
|
||||||
} // afterSave
|
} // afterSave
|
||||||
|
|
||||||
/**
|
|
||||||
* Before Delete
|
|
||||||
* @return true
|
|
||||||
*/
|
|
||||||
protected boolean beforeDelete ()
|
|
||||||
{
|
|
||||||
return delete_Accounting("M_Warehouse_Acct");
|
|
||||||
} // beforeDelete
|
|
||||||
|
|
||||||
} // MWarehouse
|
} // MWarehouse
|
||||||
|
|
|
@ -31,7 +31,7 @@ public class MWithholding extends X_C_Withholding
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 7734620609620104180L;
|
private static final long serialVersionUID = 6368597644089198711L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Standard Constructor
|
* Standard Constructor
|
||||||
|
@ -69,13 +69,4 @@ public class MWithholding extends X_C_Withholding
|
||||||
return success;
|
return success;
|
||||||
} // afterSave
|
} // afterSave
|
||||||
|
|
||||||
/**
|
|
||||||
* Before Delete
|
|
||||||
* @return true
|
|
||||||
*/
|
|
||||||
protected boolean beforeDelete ()
|
|
||||||
{
|
|
||||||
return delete_Accounting("C_Withholding_Acct");
|
|
||||||
} // beforeDelete
|
|
||||||
|
|
||||||
} // MWithholding
|
} // MWithholding
|
||||||
|
|
|
@ -3242,6 +3242,11 @@ public abstract class PO
|
||||||
deleteTranslations(localTrxName);
|
deleteTranslations(localTrxName);
|
||||||
// Delete Cascade AD_Table_ID/Record_ID (Attachments, ..)
|
// Delete Cascade AD_Table_ID/Record_ID (Attachments, ..)
|
||||||
PO_Record.deleteCascade(AD_Table_ID, Record_ID, localTrxName);
|
PO_Record.deleteCascade(AD_Table_ID, Record_ID, localTrxName);
|
||||||
|
|
||||||
|
//delete cascade only for single key column record
|
||||||
|
if (m_KeyColumns != null && m_KeyColumns.length == 1) {
|
||||||
|
PO_Record.deleteModelCascade(p_info.getTableName(), Record_ID, localTrxName);
|
||||||
|
}
|
||||||
|
|
||||||
// The Delete Statement
|
// The Delete Statement
|
||||||
StringBuilder sql = new StringBuilder ("DELETE FROM ") //jz why no FROM??
|
StringBuilder sql = new StringBuilder ("DELETE FROM ") //jz why no FROM??
|
||||||
|
@ -3788,6 +3793,7 @@ public abstract class PO
|
||||||
* @param acctTable accounting sub table
|
* @param acctTable accounting sub table
|
||||||
* @return true
|
* @return true
|
||||||
*/
|
*/
|
||||||
|
@Deprecated // see IDEMPIERE-2088
|
||||||
protected boolean delete_Accounting(String acctTable)
|
protected boolean delete_Accounting(String acctTable)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -18,10 +18,12 @@ package org.compiere.model;
|
||||||
|
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import org.compiere.util.CLogger;
|
import org.compiere.util.CLogger;
|
||||||
import org.compiere.util.DB;
|
import org.compiere.util.DB;
|
||||||
|
import org.compiere.util.DisplayType;
|
||||||
import org.compiere.util.Env;
|
import org.compiere.util.Env;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -147,7 +149,43 @@ public class PO_Record
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} // deleteCascase
|
} // deleteCascade
|
||||||
|
|
||||||
|
//IDEMPIERE-2060
|
||||||
|
public static void deleteModelCascade(String tableName, int Record_ID, String trxName) {
|
||||||
|
//find dependent tables to delete cascade
|
||||||
|
final String sql = ""
|
||||||
|
+ "SELECT t.TableName, "
|
||||||
|
+ " c.ColumnName "
|
||||||
|
+ "FROM AD_Column c "
|
||||||
|
+ " JOIN AD_Table t ON c.AD_Table_ID = t.AD_Table_ID "
|
||||||
|
+ " LEFT JOIN AD_Ref_Table r ON c.AD_Reference_Value_ID = r.AD_Reference_ID "
|
||||||
|
+ " LEFT JOIN AD_Table tr ON r.AD_Table_ID = tr.AD_Table_ID "
|
||||||
|
+ "WHERE t.IsView = 'N' "
|
||||||
|
+ " AND t.IsActive = 'Y' "
|
||||||
|
+ " AND c.IsActive = 'Y' "
|
||||||
|
+ " AND ( ( c.AD_Reference_ID = " + DisplayType.TableDir
|
||||||
|
+ " AND c.ColumnName = ? || '_ID' ) "
|
||||||
|
+ " OR ( c.AD_Reference_ID IN ( " + DisplayType.Table + ", " + DisplayType.Search + " ) "
|
||||||
|
+ " AND ( tr.TableName = ? OR ( tr.TableName IS NULL AND c.ColumnName = ? || '_ID' ) ) ) ) "
|
||||||
|
+ " AND c.FKConstraintType = '" + MColumn.FKCONSTRAINTTYPE_ModelCascade + "' ";
|
||||||
|
|
||||||
|
List<List<Object>> dependents = DB.getSQLArrayObjectsEx(trxName, sql, tableName, tableName, tableName);
|
||||||
|
if (dependents != null) {
|
||||||
|
for (List<Object> row : dependents) {
|
||||||
|
String dependentTableName = (String) row.get(0);
|
||||||
|
String dependentColumnName = (String) row.get(1);
|
||||||
|
String dependentWhere = dependentColumnName + "=?";
|
||||||
|
List<PO> poList = new Query(Env.getCtx(),
|
||||||
|
dependentTableName,
|
||||||
|
dependentWhere,
|
||||||
|
trxName).setParameters(Record_ID).list();
|
||||||
|
for (PO po : poList) {
|
||||||
|
po.deleteEx(true, trxName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An entry Exists for restrict table/record combination
|
* An entry Exists for restrict table/record combination
|
||||||
|
|
|
@ -508,12 +508,12 @@ public class Tax
|
||||||
* @return C_Tax_ID
|
* @return C_Tax_ID
|
||||||
* @throws TaxNoExemptFoundException if no tax exempt found
|
* @throws TaxNoExemptFoundException if no tax exempt found
|
||||||
*/
|
*/
|
||||||
private static int getExemptTax (Properties ctx, int AD_Org_ID, String trxName)
|
public static int getExemptTax (Properties ctx, int AD_Org_ID, String trxName)
|
||||||
{
|
{
|
||||||
final String sql = "SELECT t.C_Tax_ID "
|
final String sql = "SELECT t.C_Tax_ID "
|
||||||
+ "FROM C_Tax t"
|
+ "FROM C_Tax t"
|
||||||
+ " INNER JOIN AD_Org o ON (t.AD_Client_ID=o.AD_Client_ID) "
|
+ " INNER JOIN AD_Org o ON (t.AD_Client_ID=o.AD_Client_ID) "
|
||||||
+ "WHERE t.IsTaxExempt='Y' AND o.AD_Org_ID=? "
|
+ "WHERE t.IsTaxExempt='Y' AND o.AD_Org_ID=? AND t.IsActive='Y' "
|
||||||
+ "ORDER BY t.Rate DESC";
|
+ "ORDER BY t.Rate DESC";
|
||||||
int C_Tax_ID = DB.getSQLValueEx(trxName, sql, AD_Org_ID);
|
int C_Tax_ID = DB.getSQLValueEx(trxName, sql, AD_Org_ID);
|
||||||
if (log.isLoggable(Level.FINE)) log.fine("getExemptTax - TaxExempt=Y - C_Tax_ID=" + C_Tax_ID);
|
if (log.isLoggable(Level.FINE)) log.fine("getExemptTax - TaxExempt=Y - C_Tax_ID=" + C_Tax_ID);
|
||||||
|
@ -543,7 +543,7 @@ public class Tax
|
||||||
* @return C_Tax_ID
|
* @return C_Tax_ID
|
||||||
* @throws TaxNotFoundException if no tax found for given criteria
|
* @throws TaxNotFoundException if no tax found for given criteria
|
||||||
*/
|
*/
|
||||||
protected static int get (Properties ctx,
|
public static int get (Properties ctx,
|
||||||
int C_TaxCategory_ID, boolean IsSOTrx,
|
int C_TaxCategory_ID, boolean IsSOTrx,
|
||||||
Timestamp shipDate, int shipFromC_Location_ID, int shipToC_Location_ID,
|
Timestamp shipDate, int shipFromC_Location_ID, int shipToC_Location_ID,
|
||||||
Timestamp billDate, int billFromC_Location_ID, int billToC_Location_ID, String trxName)
|
Timestamp billDate, int billFromC_Location_ID, int billToC_Location_ID, String trxName)
|
||||||
|
|
|
@ -32,7 +32,7 @@ public class X_AD_Column extends PO implements I_AD_Column, I_Persistent
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 20131031L;
|
private static final long serialVersionUID = 20140903L;
|
||||||
|
|
||||||
/** Standard Constructor */
|
/** Standard Constructor */
|
||||||
public X_AD_Column (Properties ctx, int AD_Column_ID, String trxName)
|
public X_AD_Column (Properties ctx, int AD_Column_ID, String trxName)
|
||||||
|
@ -487,6 +487,8 @@ public class X_AD_Column extends PO implements I_AD_Column, I_Persistent
|
||||||
public static final String FKCONSTRAINTTYPE_Cascade = "C";
|
public static final String FKCONSTRAINTTYPE_Cascade = "C";
|
||||||
/** Set Null = S */
|
/** Set Null = S */
|
||||||
public static final String FKCONSTRAINTTYPE_SetNull = "S";
|
public static final String FKCONSTRAINTTYPE_SetNull = "S";
|
||||||
|
/** Model Cascade = M */
|
||||||
|
public static final String FKCONSTRAINTTYPE_ModelCascade = "M";
|
||||||
/** Set Constraint Type.
|
/** Set Constraint Type.
|
||||||
@param FKConstraintType Constraint Type */
|
@param FKConstraintType Constraint Type */
|
||||||
public void setFKConstraintType (String FKConstraintType)
|
public void setFKConstraintType (String FKConstraintType)
|
||||||
|
|
|
@ -30,7 +30,7 @@ public class X_AD_InfoProcess extends PO implements I_AD_InfoProcess, I_Persiste
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 20140606L;
|
private static final long serialVersionUID = 20140905L;
|
||||||
|
|
||||||
/** Standard Constructor */
|
/** Standard Constructor */
|
||||||
public X_AD_InfoProcess (Properties ctx, int AD_InfoProcess_ID, String trxName)
|
public X_AD_InfoProcess (Properties ctx, int AD_InfoProcess_ID, String trxName)
|
||||||
|
@ -76,29 +76,29 @@ public class X_AD_InfoProcess extends PO implements I_AD_InfoProcess, I_Persiste
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public org.compiere.model.I_AD_Column getAD_Column() throws RuntimeException
|
public org.compiere.model.I_AD_InfoColumn getAD_InfoColumn() throws RuntimeException
|
||||||
{
|
{
|
||||||
return (org.compiere.model.I_AD_Column)MTable.get(getCtx(), org.compiere.model.I_AD_Column.Table_Name)
|
return (org.compiere.model.I_AD_InfoColumn)MTable.get(getCtx(), org.compiere.model.I_AD_InfoColumn.Table_Name)
|
||||||
.getPO(getAD_Column_ID(), get_TrxName()); }
|
.getPO(getAD_InfoColumn_ID(), get_TrxName()); }
|
||||||
|
|
||||||
/** Set ViewID Column.
|
/** Set Info Column.
|
||||||
@param AD_Column_ID
|
@param AD_InfoColumn_ID
|
||||||
Name of unique column in a view. value of this column will save to t_selection table
|
Info Window Column
|
||||||
*/
|
*/
|
||||||
public void setAD_Column_ID (int AD_Column_ID)
|
public void setAD_InfoColumn_ID (int AD_InfoColumn_ID)
|
||||||
{
|
{
|
||||||
if (AD_Column_ID < 1)
|
if (AD_InfoColumn_ID < 1)
|
||||||
set_Value (COLUMNNAME_AD_Column_ID, null);
|
set_Value (COLUMNNAME_AD_InfoColumn_ID, null);
|
||||||
else
|
else
|
||||||
set_Value (COLUMNNAME_AD_Column_ID, Integer.valueOf(AD_Column_ID));
|
set_Value (COLUMNNAME_AD_InfoColumn_ID, Integer.valueOf(AD_InfoColumn_ID));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get ViewID Column.
|
/** Get Info Column.
|
||||||
@return Name of unique column in a view. value of this column will save to t_selection table
|
@return Info Window Column
|
||||||
*/
|
*/
|
||||||
public int getAD_Column_ID ()
|
public int getAD_InfoColumn_ID ()
|
||||||
{
|
{
|
||||||
Integer ii = (Integer)get_Value(COLUMNNAME_AD_Column_ID);
|
Integer ii = (Integer)get_Value(COLUMNNAME_AD_InfoColumn_ID);
|
||||||
if (ii == null)
|
if (ii == null)
|
||||||
return 0;
|
return 0;
|
||||||
return ii.intValue();
|
return ii.intValue();
|
||||||
|
|
|
@ -30,7 +30,7 @@ public class X_AD_TableIndex extends PO implements I_AD_TableIndex, I_Persistent
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 20131031L;
|
private static final long serialVersionUID = 20140905L;
|
||||||
|
|
||||||
/** Standard Constructor */
|
/** Standard Constructor */
|
||||||
public X_AD_TableIndex (Properties ctx, int AD_TableIndex_ID, String trxName)
|
public X_AD_TableIndex (Properties ctx, int AD_TableIndex_ID, String trxName)
|
||||||
|
@ -43,6 +43,8 @@ public class X_AD_TableIndex extends PO implements I_AD_TableIndex, I_Persistent
|
||||||
setEntityType (null);
|
setEntityType (null);
|
||||||
// U
|
// U
|
||||||
setIsCreateConstraint (false);
|
setIsCreateConstraint (false);
|
||||||
|
// N
|
||||||
|
setIsKey (false);
|
||||||
// N
|
// N
|
||||||
setIsUnique (false);
|
setIsUnique (false);
|
||||||
// N
|
// N
|
||||||
|
@ -243,6 +245,30 @@ public class X_AD_TableIndex extends PO implements I_AD_TableIndex, I_Persistent
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Set Key column.
|
||||||
|
@param IsKey
|
||||||
|
This column is the key in this table
|
||||||
|
*/
|
||||||
|
public void setIsKey (boolean IsKey)
|
||||||
|
{
|
||||||
|
set_Value (COLUMNNAME_IsKey, Boolean.valueOf(IsKey));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Key column.
|
||||||
|
@return This column is the key in this table
|
||||||
|
*/
|
||||||
|
public boolean isKey ()
|
||||||
|
{
|
||||||
|
Object oo = get_Value(COLUMNNAME_IsKey);
|
||||||
|
if (oo != null)
|
||||||
|
{
|
||||||
|
if (oo instanceof Boolean)
|
||||||
|
return ((Boolean)oo).booleanValue();
|
||||||
|
return "Y".equals(oo);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/** Set Unique.
|
/** Set Unique.
|
||||||
@param IsUnique Unique */
|
@param IsUnique Unique */
|
||||||
public void setIsUnique (boolean IsUnique)
|
public void setIsUnique (boolean IsUnique)
|
||||||
|
@ -309,4 +335,18 @@ public class X_AD_TableIndex extends PO implements I_AD_TableIndex, I_Persistent
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Set Drop table index.
|
||||||
|
@param TableIndexDrop Drop table index */
|
||||||
|
public void setTableIndexDrop (String TableIndexDrop)
|
||||||
|
{
|
||||||
|
set_Value (COLUMNNAME_TableIndexDrop, TableIndexDrop);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get Drop table index.
|
||||||
|
@return Drop table index */
|
||||||
|
public String getTableIndexDrop ()
|
||||||
|
{
|
||||||
|
return (String)get_Value(COLUMNNAME_TableIndexDrop);
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -33,7 +33,7 @@ public class X_M_Product extends PO implements I_M_Product, I_Persistent
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 20131031L;
|
private static final long serialVersionUID = 20140905L;
|
||||||
|
|
||||||
/** Standard Constructor */
|
/** Standard Constructor */
|
||||||
public X_M_Product (Properties ctx, int M_Product_ID, String trxName)
|
public X_M_Product (Properties ctx, int M_Product_ID, String trxName)
|
||||||
|
@ -144,25 +144,6 @@ public class X_M_Product extends PO implements I_M_Product, I_Persistent
|
||||||
return (String)get_Value(COLUMNNAME_CopyFrom);
|
return (String)get_Value(COLUMNNAME_CopyFrom);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Set Standard Cost.
|
|
||||||
@param CostStandard
|
|
||||||
Standard Costs
|
|
||||||
*/
|
|
||||||
public void setCostStandard (BigDecimal CostStandard)
|
|
||||||
{
|
|
||||||
throw new IllegalArgumentException ("CostStandard is virtual column"); }
|
|
||||||
|
|
||||||
/** Get Standard Cost.
|
|
||||||
@return Standard Costs
|
|
||||||
*/
|
|
||||||
public BigDecimal getCostStandard ()
|
|
||||||
{
|
|
||||||
BigDecimal bd = (BigDecimal)get_Value(COLUMNNAME_CostStandard);
|
|
||||||
if (bd == null)
|
|
||||||
return Env.ZERO;
|
|
||||||
return bd;
|
|
||||||
}
|
|
||||||
|
|
||||||
public org.compiere.model.I_C_RevenueRecognition getC_RevenueRecognition() throws RuntimeException
|
public org.compiere.model.I_C_RevenueRecognition getC_RevenueRecognition() throws RuntimeException
|
||||||
{
|
{
|
||||||
return (org.compiere.model.I_C_RevenueRecognition)MTable.get(getCtx(), org.compiere.model.I_C_RevenueRecognition.Table_Name)
|
return (org.compiere.model.I_C_RevenueRecognition)MTable.get(getCtx(), org.compiere.model.I_C_RevenueRecognition.Table_Name)
|
||||||
|
@ -350,6 +331,23 @@ public class X_M_Product extends PO implements I_M_Product, I_Persistent
|
||||||
return (Timestamp)get_Value(COLUMNNAME_DiscontinuedAt);
|
return (Timestamp)get_Value(COLUMNNAME_DiscontinuedAt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Set DocumentDescription.
|
||||||
|
@param DocumentDescription
|
||||||
|
DocumentDescription
|
||||||
|
*/
|
||||||
|
public void setDocumentDescription (String DocumentDescription)
|
||||||
|
{
|
||||||
|
set_Value (COLUMNNAME_DocumentDescription, DocumentDescription);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get DocumentDescription.
|
||||||
|
@return DocumentDescription
|
||||||
|
*/
|
||||||
|
public String getDocumentDescription ()
|
||||||
|
{
|
||||||
|
return (String)get_Value(COLUMNNAME_DocumentDescription);
|
||||||
|
}
|
||||||
|
|
||||||
/** Set Document Note.
|
/** Set Document Note.
|
||||||
@param DocumentNote
|
@param DocumentNote
|
||||||
Additional information for a Document
|
Additional information for a Document
|
||||||
|
@ -452,6 +450,46 @@ public class X_M_Product extends PO implements I_M_Product, I_Persistent
|
||||||
return (String)get_Value(COLUMNNAME_Help);
|
return (String)get_Value(COLUMNNAME_Help);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Set ImageBig_ID.
|
||||||
|
@param ImageBig_ID ImageBig_ID */
|
||||||
|
public void setImageBig_ID (int ImageBig_ID)
|
||||||
|
{
|
||||||
|
if (ImageBig_ID < 1)
|
||||||
|
set_Value (COLUMNNAME_ImageBig_ID, null);
|
||||||
|
else
|
||||||
|
set_Value (COLUMNNAME_ImageBig_ID, Integer.valueOf(ImageBig_ID));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get ImageBig_ID.
|
||||||
|
@return ImageBig_ID */
|
||||||
|
public int getImageBig_ID ()
|
||||||
|
{
|
||||||
|
Integer ii = (Integer)get_Value(COLUMNNAME_ImageBig_ID);
|
||||||
|
if (ii == null)
|
||||||
|
return 0;
|
||||||
|
return ii.intValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Set ImageSmall_ID.
|
||||||
|
@param ImageSmall_ID ImageSmall_ID */
|
||||||
|
public void setImageSmall_ID (int ImageSmall_ID)
|
||||||
|
{
|
||||||
|
if (ImageSmall_ID < 1)
|
||||||
|
set_Value (COLUMNNAME_ImageSmall_ID, null);
|
||||||
|
else
|
||||||
|
set_Value (COLUMNNAME_ImageSmall_ID, Integer.valueOf(ImageSmall_ID));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Get ImageSmall_ID.
|
||||||
|
@return ImageSmall_ID */
|
||||||
|
public int getImageSmall_ID ()
|
||||||
|
{
|
||||||
|
Integer ii = (Integer)get_Value(COLUMNNAME_ImageSmall_ID);
|
||||||
|
if (ii == null)
|
||||||
|
return 0;
|
||||||
|
return ii.intValue();
|
||||||
|
}
|
||||||
|
|
||||||
/** Set Image URL.
|
/** Set Image URL.
|
||||||
@param ImageURL
|
@param ImageURL
|
||||||
URL of image
|
URL of image
|
||||||
|
|
|
@ -171,8 +171,13 @@ public class DataEngine
|
||||||
reportName = rs.getString(3);
|
reportName = rs.getString(3);
|
||||||
// Add WhereClause restriction from AD_ReportView - teo_sarca BF [ 1761891 ]
|
// Add WhereClause restriction from AD_ReportView - teo_sarca BF [ 1761891 ]
|
||||||
String whereClause = rs.getString(4);
|
String whereClause = rs.getString(4);
|
||||||
if (!Util.isEmpty(whereClause))
|
if (!Util.isEmpty(whereClause)) {
|
||||||
queryCopy.addRestriction(whereClause);
|
if (whereClause.indexOf("@") == -1) {
|
||||||
|
queryCopy.addRestriction(whereClause);
|
||||||
|
} else { // replace context variables
|
||||||
|
queryCopy.addRestriction(Env.parseContext(ctx, 0, whereClause.toString(), false, true));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (SQLException e)
|
catch (SQLException e)
|
||||||
|
|
|
@ -1125,7 +1125,6 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount)
|
||||||
int AD_Table_ID = 0;
|
int AD_Table_ID = 0;
|
||||||
int AD_ReportView_ID = 0;
|
int AD_ReportView_ID = 0;
|
||||||
String TableName = null;
|
String TableName = null;
|
||||||
String whereClause = "";
|
|
||||||
int AD_PrintFormat_ID = 0;
|
int AD_PrintFormat_ID = 0;
|
||||||
boolean IsForm = false;
|
boolean IsForm = false;
|
||||||
int Client_ID = -1;
|
int Client_ID = -1;
|
||||||
|
@ -1152,9 +1151,6 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount)
|
||||||
if (rs.next())
|
if (rs.next())
|
||||||
{
|
{
|
||||||
AD_ReportView_ID = rs.getInt(1); // required
|
AD_ReportView_ID = rs.getInt(1); // required
|
||||||
whereClause = rs.getString(2);
|
|
||||||
if (rs.wasNull())
|
|
||||||
whereClause = "";
|
|
||||||
//
|
//
|
||||||
AD_Table_ID = rs.getInt(3);
|
AD_Table_ID = rs.getInt(3);
|
||||||
TableName = rs.getString(4); // required for query
|
TableName = rs.getString(4); // required for query
|
||||||
|
@ -1188,7 +1184,6 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount)
|
||||||
rs = pstmt.executeQuery();
|
rs = pstmt.executeQuery();
|
||||||
if (rs.next())
|
if (rs.next())
|
||||||
{
|
{
|
||||||
whereClause = "";
|
|
||||||
AD_Table_ID = rs.getInt(1);
|
AD_Table_ID = rs.getInt(1);
|
||||||
TableName = rs.getString(2); // required for query
|
TableName = rs.getString(2); // required for query
|
||||||
AD_PrintFormat_ID = rs.getInt(3); // required
|
AD_PrintFormat_ID = rs.getInt(3); // required
|
||||||
|
@ -1223,10 +1218,6 @@ queued-job-count = 0 (class javax.print.attribute.standard.QueuedJobCount)
|
||||||
{
|
{
|
||||||
query = MQuery.get (ctx, pi.getAD_PInstance_ID(), TableName);
|
query = MQuery.get (ctx, pi.getAD_PInstance_ID(), TableName);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add to static where clause from ReportView
|
|
||||||
if (whereClause.length() != 0)
|
|
||||||
query.addRestriction(whereClause);
|
|
||||||
|
|
||||||
// Get Print Format
|
// Get Print Format
|
||||||
MPrintFormat format = null;
|
MPrintFormat format = null;
|
||||||
|
|
|
@ -12,6 +12,8 @@
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
package org.compiere.process;
|
package org.compiere.process;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
import org.compiere.model.MTableIndex;
|
import org.compiere.model.MTableIndex;
|
||||||
import org.compiere.util.DB;
|
import org.compiere.util.DB;
|
||||||
|
|
||||||
|
@ -30,8 +32,9 @@ public class TableIndexDrop extends SvrProcess {
|
||||||
MTableIndex index = new MTableIndex(getCtx(), p_AD_TableIndex_ID, get_TrxName());
|
MTableIndex index = new MTableIndex(getCtx(), p_AD_TableIndex_ID, get_TrxName());
|
||||||
log.info(index.toString());
|
log.info(index.toString());
|
||||||
|
|
||||||
String sql = "DROP INDEX " + index.getName();
|
String sql = index.getDropDDL();
|
||||||
int rvalue = DB.executeUpdateEx(sql, get_TrxName());
|
int rvalue = DB.executeUpdateEx(sql, get_TrxName());
|
||||||
|
addLog(0, null, new BigDecimal(rvalue), sql);
|
||||||
|
|
||||||
return rvalue + " - " + sql;
|
return rvalue + " - " + sql;
|
||||||
}
|
}
|
||||||
|
|
|
@ -155,7 +155,7 @@ public class TableIndexValidate extends SvrProcess {
|
||||||
|
|
||||||
if (modified)
|
if (modified)
|
||||||
{
|
{
|
||||||
String sql = "DROP INDEX " + index.getName();
|
String sql = index.getDropDDL();
|
||||||
int rvalue = DB.executeUpdate(sql, (Object[]) null, true, trxName);
|
int rvalue = DB.executeUpdate(sql, (Object[]) null, true, trxName);
|
||||||
if (pi != null)
|
if (pi != null)
|
||||||
pi.addLog(0, null, new BigDecimal(rvalue), sql);
|
pi.addLog(0, null, new BigDecimal(rvalue), sql);
|
||||||
|
|
|
@ -22,8 +22,10 @@ import java.io.Serializable;
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Enumeration;
|
import java.util.Enumeration;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
@ -307,14 +309,23 @@ public final class EMail implements Serializable
|
||||||
rec = getBccs();
|
rec = getBccs();
|
||||||
if (rec != null && rec.length > 0)
|
if (rec != null && rec.length > 0)
|
||||||
m_msg.setRecipients (Message.RecipientType.BCC, rec);
|
m_msg.setRecipients (Message.RecipientType.BCC, rec);
|
||||||
|
if (m_replyTo != null)
|
||||||
|
m_msg.setReplyTo(new Address[] {m_replyTo});
|
||||||
} else {
|
} else {
|
||||||
String bccAddressForAllMails = MSysConfig.getValue(MSysConfig.MAIL_SEND_BCC_TO_ADDRESS, Env.getAD_Client_ID(Env.getCtx()));
|
String bccAddressForAllMails = MSysConfig.getValue(MSysConfig.MAIL_SEND_BCC_TO_ADDRESS, Env.getAD_Client_ID(Env.getCtx()));
|
||||||
if (! Util.isEmpty(bccAddressForAllMails, true)) {
|
if (! Util.isEmpty(bccAddressForAllMails, true)) {
|
||||||
m_msg.setRecipient (Message.RecipientType.TO, new InternetAddress(bccAddressForAllMails, true));
|
m_msg.setRecipients (Message.RecipientType.TO, bccAddressForAllMails);
|
||||||
}
|
}
|
||||||
|
List<InternetAddress> replyToList=new ArrayList<InternetAddress>();
|
||||||
|
if(m_replyTo!=null)
|
||||||
|
replyToList.add(m_replyTo);
|
||||||
InternetAddress[] rec = getTos();
|
InternetAddress[] rec = getTos();
|
||||||
if (rec != null && rec.length > 0)
|
if (rec != null && rec.length > 0){
|
||||||
m_msg.setHeader("OriginalTo", getCommaSeparatedString(rec));
|
m_msg.setHeader("OriginalTo", getCommaSeparatedString(rec));
|
||||||
|
replyToList.addAll(Arrays.asList(rec));
|
||||||
|
}
|
||||||
|
if(replyToList.size()>0)
|
||||||
|
m_msg.setReplyTo(replyToList.toArray(new InternetAddress[]{}));
|
||||||
rec = getCcs();
|
rec = getCcs();
|
||||||
if (rec != null && rec.length > 0)
|
if (rec != null && rec.length > 0)
|
||||||
m_msg.setHeader("OriginalCC", getCommaSeparatedString(rec));
|
m_msg.setHeader("OriginalCC", getCommaSeparatedString(rec));
|
||||||
|
@ -322,8 +333,6 @@ public final class EMail implements Serializable
|
||||||
if (rec != null && rec.length > 0)
|
if (rec != null && rec.length > 0)
|
||||||
m_msg.setHeader("OriginalBCC", getCommaSeparatedString(rec));
|
m_msg.setHeader("OriginalBCC", getCommaSeparatedString(rec));
|
||||||
}
|
}
|
||||||
if (m_replyTo != null)
|
|
||||||
m_msg.setReplyTo(new Address[] {m_replyTo});
|
|
||||||
//
|
//
|
||||||
m_msg.setSentDate(new java.util.Date());
|
m_msg.setSentDate(new java.util.Date());
|
||||||
m_msg.setHeader("Comments", "iDempiereMail");
|
m_msg.setHeader("Comments", "iDempiereMail");
|
||||||
|
@ -688,19 +697,22 @@ public final class EMail implements Serializable
|
||||||
{
|
{
|
||||||
if (newBcc == null || newBcc.length() == 0)
|
if (newBcc == null || newBcc.length() == 0)
|
||||||
return false;
|
return false;
|
||||||
InternetAddress ia = null;
|
String[] addresses = newBcc.split(", *");
|
||||||
try
|
for (String bccAddress : addresses) {
|
||||||
{
|
InternetAddress ia = null;
|
||||||
ia = new InternetAddress (newBcc, true);
|
try
|
||||||
|
{
|
||||||
|
ia = new InternetAddress (bccAddress, true);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
log.log(Level.WARNING, bccAddress + ": " + e.getMessage());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (m_bcc == null)
|
||||||
|
m_bcc = new ArrayList<InternetAddress>();
|
||||||
|
m_bcc.add (ia);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
log.log(Level.WARNING, newBcc + ": " + e.getMessage());
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (m_bcc == null)
|
|
||||||
m_bcc = new ArrayList<InternetAddress>();
|
|
||||||
m_bcc.add (ia);
|
|
||||||
return true;
|
return true;
|
||||||
} // addBcc
|
} // addBcc
|
||||||
|
|
||||||
|
|
|
@ -230,6 +230,7 @@ public class ExportFormatGenerator extends SvrProcess
|
||||||
referenceFormat.setAD_Table_ID(MTable.getTable_ID(m_parent_table));
|
referenceFormat.setAD_Table_ID(MTable.getTable_ID(m_parent_table));
|
||||||
referenceFormat.setDescription(table.getDescription());
|
referenceFormat.setDescription(table.getDescription());
|
||||||
referenceFormat.setHelp(table.getHelp());
|
referenceFormat.setHelp(table.getHelp());
|
||||||
|
referenceFormat.setVersion(version);
|
||||||
referenceFormat.saveEx();
|
referenceFormat.saveEx();
|
||||||
|
|
||||||
int AD_Column_ID=DB.getSQLValue(get_TrxName(), "SELECT AD_Column_ID FROM AD_Column WHERE AD_Table_ID=(SELECT AD_Table_ID FROM AD_Table WHERE TableName=?) AND UPPER(ColumnName)='DOCUMENTNO'",m_parent_table);
|
int AD_Column_ID=DB.getSQLValue(get_TrxName(), "SELECT AD_Column_ID FROM AD_Column WHERE AD_Table_ID=(SELECT AD_Table_ID FROM AD_Table WHERE TableName=?) AND UPPER(ColumnName)='DOCUMENTNO'",m_parent_table);
|
||||||
|
@ -322,8 +323,9 @@ public class ExportFormatGenerator extends SvrProcess
|
||||||
&& DisplayType.Image
|
&& DisplayType.Image
|
||||||
!= col.getAD_Reference_ID())
|
!= col.getAD_Reference_ID())
|
||||||
{
|
{
|
||||||
|
//String tableName = col.getColumnName().substring(0, col.getColumnName().lastIndexOf("_ID"));
|
||||||
String tableName = col.getColumnName().substring(0, col.getColumnName().lastIndexOf("_ID"));
|
String tableName = col.getColumnName().lastIndexOf("_ID") == -1 ? null
|
||||||
|
: col.getColumnName().substring(0, col.getColumnName().lastIndexOf("_ID"));
|
||||||
if (log.isLoggable(Level.INFO)) log.info("Table Name:"+tableName);
|
if (log.isLoggable(Level.INFO)) log.info("Table Name:"+tableName);
|
||||||
|
|
||||||
if(tableName==null)
|
if(tableName==null)
|
||||||
|
|
|
@ -39,7 +39,6 @@ import org.compiere.model.X_AD_Package_Imp_Detail;
|
||||||
import org.compiere.model.X_AD_Process;
|
import org.compiere.model.X_AD_Process;
|
||||||
import org.compiere.model.X_AD_Role;
|
import org.compiere.model.X_AD_Role;
|
||||||
import org.compiere.model.X_AD_Task;
|
import org.compiere.model.X_AD_Task;
|
||||||
import org.compiere.model.X_AD_User;
|
|
||||||
import org.compiere.model.X_AD_Window;
|
import org.compiere.model.X_AD_Window;
|
||||||
import org.compiere.model.X_AD_Workflow;
|
import org.compiere.model.X_AD_Workflow;
|
||||||
import org.compiere.util.DB;
|
import org.compiere.util.DB;
|
||||||
|
@ -51,7 +50,7 @@ public class RoleElementHandler extends AbstractElementHandler {
|
||||||
|
|
||||||
private OrgRoleElementHandler orgHandler = new OrgRoleElementHandler();
|
private OrgRoleElementHandler orgHandler = new OrgRoleElementHandler();
|
||||||
private ProcessAccessElementHandler processHandler = new ProcessAccessElementHandler();
|
private ProcessAccessElementHandler processHandler = new ProcessAccessElementHandler();
|
||||||
private UserRoleElementHandler userHandler = new UserRoleElementHandler();
|
// private UserRoleElementHandler userHandler = new UserRoleElementHandler();
|
||||||
private WindowAccessElementHandler windowHandler = new WindowAccessElementHandler();
|
private WindowAccessElementHandler windowHandler = new WindowAccessElementHandler();
|
||||||
private FormAccessElementHandler formHandler = new FormAccessElementHandler();
|
private FormAccessElementHandler formHandler = new FormAccessElementHandler();
|
||||||
private TaskAccessElementHandler taskHandler = new TaskAccessElementHandler();
|
private TaskAccessElementHandler taskHandler = new TaskAccessElementHandler();
|
||||||
|
@ -136,7 +135,8 @@ public class RoleElementHandler extends AbstractElementHandler {
|
||||||
DB.close(rs, pstmt);
|
DB.close(rs, pstmt);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Process user assignment access
|
// Process user assignment access - processing of AD_User_Roles dropped with IDEMPIERE-2137
|
||||||
|
/*
|
||||||
sql = "SELECT AD_User_ID, AD_Role_ID, AD_Org_ID FROM AD_User_Roles WHERE AD_Role_ID= " + Role_id
|
sql = "SELECT AD_User_ID, AD_Role_ID, AD_Org_ID FROM AD_User_Roles WHERE AD_Role_ID= " + Role_id
|
||||||
+ " AND AD_User_ID > 0 ";
|
+ " AND AD_User_ID > 0 ";
|
||||||
pstmt = null;
|
pstmt = null;
|
||||||
|
@ -153,6 +153,7 @@ public class RoleElementHandler extends AbstractElementHandler {
|
||||||
} finally {
|
} finally {
|
||||||
DB.close(rs, pstmt);
|
DB.close(rs, pstmt);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
// Process AD_Window_Access Values
|
// Process AD_Window_Access Values
|
||||||
sql = "SELECT AD_Window_ID, AD_Role_ID FROM AD_Window_Access WHERE AD_Role_ID= " + Role_id;
|
sql = "SELECT AD_Window_ID, AD_Role_ID FROM AD_Window_Access WHERE AD_Role_ID= " + Role_id;
|
||||||
|
@ -289,6 +290,7 @@ public class RoleElementHandler extends AbstractElementHandler {
|
||||||
ctx.ctx.remove(X_AD_Role.COLUMNNAME_AD_Role_ID);
|
ctx.ctx.remove(X_AD_Role.COLUMNNAME_AD_Role_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
private void createUserRole(PIPOContext ctx, TransformerHandler document,
|
private void createUserRole(PIPOContext ctx, TransformerHandler document,
|
||||||
int AD_User_ID, int AD_Role_ID, int AD_Org_ID) throws SAXException {
|
int AD_User_ID, int AD_Role_ID, int AD_Org_ID) throws SAXException {
|
||||||
Env.setContext(ctx.ctx, X_AD_User.COLUMNNAME_AD_User_ID, AD_User_ID);
|
Env.setContext(ctx.ctx, X_AD_User.COLUMNNAME_AD_User_ID, AD_User_ID);
|
||||||
|
@ -299,6 +301,7 @@ public class RoleElementHandler extends AbstractElementHandler {
|
||||||
ctx.ctx.remove(X_AD_Role.COLUMNNAME_AD_Role_ID);
|
ctx.ctx.remove(X_AD_Role.COLUMNNAME_AD_Role_ID);
|
||||||
ctx.ctx.remove("AD_Org_ID");
|
ctx.ctx.remove("AD_Org_ID");
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
private void createOrgAccess(PIPOContext ctx, TransformerHandler document,
|
private void createOrgAccess(PIPOContext ctx, TransformerHandler document,
|
||||||
int AD_Org_ID, int AD_Role_ID) throws SAXException {
|
int AD_Org_ID, int AD_Role_ID) throws SAXException {
|
||||||
|
|
|
@ -9,10 +9,14 @@ else
|
||||||
echo Set JAVA_HOME to the directory of your local JDK.
|
echo Set JAVA_HOME to the directory of your local JDK.
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "debug" ]; then
|
||||||
|
DEBUG="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4554,server=y,suspend=n"
|
||||||
|
fi
|
||||||
|
|
||||||
echo ===================================
|
echo ===================================
|
||||||
echo Starting iDempiere Server
|
echo Starting iDempiere Server
|
||||||
echo ===================================
|
echo ===================================
|
||||||
|
|
||||||
unset DISPLAY
|
unset DISPLAY
|
||||||
BASE=`dirname $( readlink -f idempiere-server.sh )`
|
BASE=`dirname $( readlink -f idempiere-server.sh )`
|
||||||
$JAVA -Dosgi.console=localhost:12612 -Djetty.home=$BASE/jettyhome -Djetty.etc.config.urls=etc/jetty.xml,etc/jetty-selector.xml,etc/jetty-ssl.xml,etc/jetty-https.xml,etc/jetty-deployer.xml -XX:MaxPermSize=192m -jar $BASE/plugins/org.eclipse.equinox.launcher_1.*.jar -application org.adempiere.server.application
|
$JAVA ${DEBUG} -Dosgi.console=localhost:12612 -Djetty.home=$BASE/jettyhome -Djetty.etc.config.urls=etc/jetty.xml,etc/jetty-selector.xml,etc/jetty-ssl.xml,etc/jetty-https.xml,etc/jetty-deployer.xml -XX:MaxPermSize=192m -jar $BASE/plugins/org.eclipse.equinox.launcher_1.*.jar -application org.adempiere.server.application
|
||||||
|
|
|
@ -16,7 +16,6 @@ export DIRECTORY=$IDEMPIERE_HOME/data/$AD_LANGUAGE
|
||||||
|
|
||||||
echo This Procedure exports language $AD_LANGUAGE to directory $DIRECTORY
|
echo This Procedure exports language $AD_LANGUAGE to directory $DIRECTORY
|
||||||
|
|
||||||
$JAVA_HOME/bin/java -cp $CLASSPATH org.compiere.install.Translation $DIRECTORY $AD_LANGUAGE export
|
$JAVA -Dosgi.compatibility.bootdelegation=true -Dosgi.noShutdown=true -Dosgi.framework.activeThreadType=normal -XX:MaxPermSize=192m -jar plugins/org.eclipse.equinox.launcher_1.*.jar -console 12612 -application org.adempiere.ui.translation export $DIRECTORY $AD_LANGUAGE
|
||||||
|
|
||||||
|
|
||||||
echo Done
|
echo Done
|
||||||
|
|
|
@ -16,7 +16,6 @@ export DIRECTORY=$IDEMPIERE_HOME/data/$AD_LANGUAGE
|
||||||
|
|
||||||
echo This Procedure imports language $AD_LANGUAGE from directory $DIRECTORY
|
echo This Procedure imports language $AD_LANGUAGE from directory $DIRECTORY
|
||||||
|
|
||||||
$JAVA_HOME/bin/java -cp $CLASSPATH org.compiere.install.Translation $DIRECTORY $AD_LANGUAGE import
|
$JAVA -Dosgi.compatibility.bootdelegation=true -Dosgi.noShutdown=true -Dosgi.framework.activeThreadType=normal -XX:MaxPermSize=192m -jar plugins/org.eclipse.equinox.launcher_1.*.jar -console 12612 -application org.adempiere.ui.translation import $DIRECTORY $AD_LANGUAGE
|
||||||
|
|
||||||
|
|
||||||
echo Done
|
echo Done
|
||||||
|
|
|
@ -40,6 +40,7 @@ start () {
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
echo -n "Starting ADempiere ERP: "
|
echo -n "Starting ADempiere ERP: "
|
||||||
|
cd $IDEMPIERE_HOME/utils
|
||||||
source $ENVFILE
|
source $ENVFILE
|
||||||
export LOGFILE=$IDEMPIERE_HOME/log/idempiere_`date +%Y%m%d%H%M%S`.log
|
export LOGFILE=$IDEMPIERE_HOME/log/idempiere_`date +%Y%m%d%H%M%S`.log
|
||||||
su $IDEMPIEREUSER -c "mkdir -p $IDEMPIERE_HOME/log"
|
su $IDEMPIEREUSER -c "mkdir -p $IDEMPIERE_HOME/log"
|
||||||
|
@ -81,6 +82,7 @@ stop () {
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
echo -n "Stopping iDempiere ERP: "
|
echo -n "Stopping iDempiere ERP: "
|
||||||
|
cd $IDEMPIERE_HOME/utils
|
||||||
source $ENVFILE
|
source $ENVFILE
|
||||||
echo "Trying direct kill with signal -15"
|
echo "Trying direct kill with signal -15"
|
||||||
# Adempiere didn't finish - try direct kill with signal 15, then signal 9
|
# Adempiere didn't finish - try direct kill with signal 15, then signal 9
|
||||||
|
|
|
@ -28,6 +28,7 @@ import java.lang.management.RuntimeMXBean;
|
||||||
import java.lang.management.ThreadMXBean;
|
import java.lang.management.ThreadMXBean;
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
@ -62,8 +63,10 @@ import org.compiere.db.AdempiereDatabase;
|
||||||
import org.compiere.db.CConnection;
|
import org.compiere.db.CConnection;
|
||||||
import org.compiere.model.AdempiereProcessorLog;
|
import org.compiere.model.AdempiereProcessorLog;
|
||||||
import org.compiere.model.MClient;
|
import org.compiere.model.MClient;
|
||||||
|
import org.compiere.model.MSession;
|
||||||
import org.compiere.model.MStore;
|
import org.compiere.model.MStore;
|
||||||
import org.compiere.model.MSystem;
|
import org.compiere.model.MSystem;
|
||||||
|
import org.compiere.model.Query;
|
||||||
import org.compiere.server.AdempiereServerGroup;
|
import org.compiere.server.AdempiereServerGroup;
|
||||||
import org.compiere.server.AdempiereServerMgr;
|
import org.compiere.server.AdempiereServerMgr;
|
||||||
import org.compiere.server.AdempiereServerMgr.ServerWrapper;
|
import org.compiere.server.AdempiereServerMgr.ServerWrapper;
|
||||||
|
@ -72,6 +75,8 @@ import org.compiere.util.CLogMgt;
|
||||||
import org.compiere.util.CLogger;
|
import org.compiere.util.CLogger;
|
||||||
import org.compiere.util.CMemoryUsage;
|
import org.compiere.util.CMemoryUsage;
|
||||||
import org.compiere.util.CacheMgt;
|
import org.compiere.util.CacheMgt;
|
||||||
|
import org.compiere.util.DB;
|
||||||
|
import org.compiere.util.Env;
|
||||||
import org.compiere.util.Ini;
|
import org.compiere.util.Ini;
|
||||||
import org.compiere.util.TimeUtil;
|
import org.compiere.util.TimeUtil;
|
||||||
import org.compiere.util.Trx;
|
import org.compiere.util.Trx;
|
||||||
|
@ -1032,6 +1037,50 @@ public class AdempiereMonitor extends HttpServlet
|
||||||
p.addElement(" ");
|
p.addElement(" ");
|
||||||
line.addElement(new td().addElement(p));
|
line.addElement(new td().addElement(p));
|
||||||
table.addElement(line);
|
table.addElement(line);
|
||||||
|
//
|
||||||
|
line = new tr();
|
||||||
|
List<MSession> sessions = new Query(Env.getCtx(), MSession.Table_Name, "Processed = 'N'", null).list();
|
||||||
|
line.addElement(new th().addElement("Active sessions #" + sessions.size()));
|
||||||
|
p = new p();
|
||||||
|
for (int i = 0; i < clients.length; i++) {
|
||||||
|
MClient client = clients[i];
|
||||||
|
if (i > 0)
|
||||||
|
p.addElement(" - ");
|
||||||
|
int count = 0;
|
||||||
|
for (MSession session : sessions) {
|
||||||
|
if (session.getAD_Client_ID()==client.getAD_Client_ID())
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
p.addElement(client.getName() + " : " + count);
|
||||||
|
}
|
||||||
|
if (clients.length == 0)
|
||||||
|
p.addElement(" ");
|
||||||
|
line.addElement(new td().addElement(p));
|
||||||
|
table.addElement(line);
|
||||||
|
//
|
||||||
|
line = new tr();
|
||||||
|
int inMaintenanceClients[] = DB.getIDsEx(null, "SELECT AD_Client_ID FROM AD_SysConfig WHERE Name = 'SYSTEM_IN_MAINTENANCE_MODE' AND Value = 'Y'");
|
||||||
|
line.addElement(new th().addElement("Maintenance Mode #"+inMaintenanceClients.length));
|
||||||
|
p = new p();
|
||||||
|
if (inMaintenanceClients.length > 0) {
|
||||||
|
for (int i = 0; i < clients.length; i++) {
|
||||||
|
MClient client = clients[i];
|
||||||
|
if (i > 0)
|
||||||
|
p.addElement(" - ");
|
||||||
|
for (int clientID : inMaintenanceClients) {
|
||||||
|
if (client.getAD_Client_ID() == clientID)
|
||||||
|
p.addElement(client.getName() + " : Yes");
|
||||||
|
else
|
||||||
|
p.addElement(client.getName() + " : No");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
p.addElement("All clients are in normal operation mode");
|
||||||
|
if (clients.length == 0)
|
||||||
|
p.addElement(" ");
|
||||||
|
line.addElement(new td().addElement(p));
|
||||||
|
table.addElement(line);
|
||||||
//
|
//
|
||||||
bb.addElement(table);
|
bb.addElement(table);
|
||||||
} // createLogMgtPage
|
} // createLogMgtPage
|
||||||
|
|
|
@ -25,6 +25,7 @@ import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
import org.adempiere.webui.AdempiereIdGenerator;
|
||||||
import org.adempiere.webui.LayoutUtils;
|
import org.adempiere.webui.LayoutUtils;
|
||||||
import org.adempiere.webui.component.Button;
|
import org.adempiere.webui.component.Button;
|
||||||
import org.adempiere.webui.component.Label;
|
import org.adempiere.webui.component.Label;
|
||||||
|
@ -267,7 +268,9 @@ public class ADSortTab extends Panel implements IADTabpanel
|
||||||
yesList.setVflex(true);
|
yesList.setVflex(true);
|
||||||
noList.setVflex(true);
|
noList.setVflex(true);
|
||||||
|
|
||||||
EventListener<Event> mouseListener = new EventListener<Event>()
|
setId(AdempiereIdGenerator.escapeId(gridTab.getName()));
|
||||||
|
|
||||||
|
EventListener<Event> mouseListener = new EventListener<Event>()
|
||||||
{
|
{
|
||||||
|
|
||||||
public void onEvent(Event event) throws Exception
|
public void onEvent(Event event) throws Exception
|
||||||
|
@ -866,8 +869,10 @@ public class ADSortTab extends Panel implements IADTabpanel
|
||||||
|
|
||||||
setAttribute(ATTR_ON_ACTIVATE_POSTED, Boolean.TRUE);
|
setAttribute(ATTR_ON_ACTIVATE_POSTED, Boolean.TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
Event event = new Event(ON_ACTIVATE_EVENT, this, b);
|
active = b;
|
||||||
|
|
||||||
|
Event event = new Event(ON_ACTIVATE_EVENT, this, b);
|
||||||
Events.postEvent(event);
|
Events.postEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -104,7 +104,7 @@ public class GlobalSearch extends Div implements EventListener<Event> {
|
||||||
menuController.create(tabPanel);
|
menuController.create(tabPanel);
|
||||||
|
|
||||||
tab = new Tab();
|
tab = new Tab();
|
||||||
tab.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(),"Document")));
|
tab.setLabel(Util.cleanAmp(Msg.getMsg(Env.getCtx(),"search")));
|
||||||
tabs.appendChild(tab);
|
tabs.appendChild(tab);
|
||||||
tabPanel = new Tabpanel();
|
tabPanel = new Tabpanel();
|
||||||
tabPanel.setSclass("global-search-tabpanel");
|
tabPanel.setSclass("global-search-tabpanel");
|
||||||
|
|
|
@ -279,6 +279,9 @@ public class ListModelTable extends ListModelList<Object> implements Sortable<Ob
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
//hot fix for:IDEMPIERE-2154 wait complete solution from zk update
|
||||||
|
if (rowCount == 0)
|
||||||
|
clearSelection();
|
||||||
removeRange(rowCount, currentSize);
|
removeRange(rowCount, currentSize);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,6 @@ import org.adempiere.webui.window.InfoSchedule;
|
||||||
import org.compiere.model.MInfoWindow;
|
import org.compiere.model.MInfoWindow;
|
||||||
import org.compiere.model.MRole;
|
import org.compiere.model.MRole;
|
||||||
import org.compiere.model.MSysConfig;
|
import org.compiere.model.MSysConfig;
|
||||||
import org.compiere.model.MTable;
|
|
||||||
import org.compiere.model.Query;
|
import org.compiere.model.Query;
|
||||||
import org.compiere.util.Env;
|
import org.compiere.util.Env;
|
||||||
import org.compiere.util.Msg;
|
import org.compiere.util.Msg;
|
||||||
|
@ -90,7 +89,7 @@ public class DPViews extends DashboardPanel implements EventListener<Event> {
|
||||||
for (int i = 0; i < infos.length; i++)
|
for (int i = 0; i < infos.length; i++)
|
||||||
{
|
{
|
||||||
MInfoWindow info = infos[i];
|
MInfoWindow info = infos[i];
|
||||||
if (MInfoWindow.get(MTable.getTableName(Env.getCtx(), info.getAD_Table_ID()), null) != null)
|
if (MInfoWindow.get(info.getAD_InfoWindow_ID(), null) != null)
|
||||||
{
|
{
|
||||||
ToolBarButton btnViewItem = new ToolBarButton(info.getName());
|
ToolBarButton btnViewItem = new ToolBarButton(info.getName());
|
||||||
btnViewItem.setSclass("link");
|
btnViewItem.setSclass("link");
|
||||||
|
|
|
@ -176,10 +176,10 @@ ContextMenuListener, IZoomableEditor
|
||||||
|
|
||||||
if (gridField != null)
|
if (gridField != null)
|
||||||
{
|
{
|
||||||
String columnName = getColumnName();
|
String tableName_temp = lookup.getColumnName(); // Returns AD_Org.AD_Org_ID
|
||||||
if ((columnName.toUpperCase().equals("C_BPARTNER_LOCATION_ID"))
|
int posPoint = tableName_temp.indexOf(".");
|
||||||
|| (columnName.toUpperCase().equals("BILL_LOCATION_ID"))
|
String tableName = tableName_temp.substring(0, posPoint);
|
||||||
|| (columnName.toUpperCase().equals("DROPSHIP_LOCATION_ID")))
|
if (tableName.toUpperCase().equals("C_BPARTNER_LOCATION"))
|
||||||
{
|
{
|
||||||
popupMenu = new WEditorPopupMenu(true, true, isShowPreference(), false, false, true, lookup);
|
popupMenu = new WEditorPopupMenu(true, true, isShowPreference(), false, false, true, lookup);
|
||||||
} else {
|
} else {
|
||||||
|
@ -191,9 +191,6 @@ ContextMenuListener, IZoomableEditor
|
||||||
boolean isShortListAvailable = false; // Short List available for this lookup
|
boolean isShortListAvailable = false; // Short List available for this lookup
|
||||||
if (lookup != null && (lookup.getDisplayType() == DisplayType.TableDir || lookup.getDisplayType() == DisplayType.Table)) // only for Table & TableDir
|
if (lookup != null && (lookup.getDisplayType() == DisplayType.TableDir || lookup.getDisplayType() == DisplayType.Table)) // only for Table & TableDir
|
||||||
{
|
{
|
||||||
String tableName_temp = lookup.getColumnName(); // Returns AD_Org.AD_Org_ID
|
|
||||||
int posPoint = tableName_temp.indexOf(".");
|
|
||||||
String tableName = tableName_temp.substring(0, posPoint);
|
|
||||||
MTable table = MTable.get(Env.getCtx(), tableName);
|
MTable table = MTable.get(Env.getCtx(), tableName);
|
||||||
isShortListAvailable = (table.getColumnIndex("IsShortList") >= 0);
|
isShortListAvailable = (table.getColumnIndex("IsShortList") >= 0);
|
||||||
if (isShortListAvailable)
|
if (isShortListAvailable)
|
||||||
|
|
|
@ -400,6 +400,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processQueryValue() {
|
private void processQueryValue() {
|
||||||
|
isQueryByUser = true;
|
||||||
for (int i = 0; i < identifiers.size(); i++) {
|
for (int i = 0; i < identifiers.size(); i++) {
|
||||||
WEditor editor = identifiers.get(i);
|
WEditor editor = identifiers.get(i);
|
||||||
editor.setValue(queryValue);
|
editor.setValue(queryValue);
|
||||||
|
@ -430,6 +431,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
} else if (!splitValue) {
|
} else if (!splitValue) {
|
||||||
editors.get(0).setValue(queryValue);
|
editors.get(0).setValue(queryValue);
|
||||||
}
|
}
|
||||||
|
isQueryByUser = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean loadInfoDefinition() {
|
private boolean loadInfoDefinition() {
|
||||||
|
@ -610,12 +612,15 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
if (infoColumn.isDisplayed(infoContext, p_WindowNo))
|
if (infoColumn.isDisplayed(infoContext, p_WindowNo))
|
||||||
{
|
{
|
||||||
ColumnInfo columnInfo = null;
|
ColumnInfo columnInfo = null;
|
||||||
|
String colSQL = infoColumn.getSelectClause();
|
||||||
|
if (! colSQL.toUpperCase().contains(" AS "))
|
||||||
|
colSQL += " AS " + infoColumn.getColumnName();
|
||||||
if (infoColumn.getAD_Reference_ID() == DisplayType.ID)
|
if (infoColumn.getAD_Reference_ID() == DisplayType.ID)
|
||||||
{
|
{
|
||||||
if (infoColumn.getSelectClause().equalsIgnoreCase(keySelectClause))
|
if (infoColumn.getSelectClause().equalsIgnoreCase(keySelectClause))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
columnInfo = new ColumnInfo(infoColumn.get_Translation("Name"), infoColumn.getSelectClause(), DisplayType.getClass(infoColumn.getAD_Reference_ID(), true));
|
columnInfo = new ColumnInfo(infoColumn.get_Translation("Name"), colSQL, DisplayType.getClass(infoColumn.getAD_Reference_ID(), true));
|
||||||
}
|
}
|
||||||
else if (DisplayType.isLookup(infoColumn.getAD_Reference_ID()))
|
else if (DisplayType.isLookup(infoColumn.getAD_Reference_ID()))
|
||||||
{
|
{
|
||||||
|
@ -625,8 +630,8 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
editor = WebEditorFactory.getEditor(gridFields.get(i), true);
|
editor = WebEditorFactory.getEditor(gridFields.get(i), true);
|
||||||
editor.setMandatory(false);
|
editor.setMandatory(false);
|
||||||
editor.setReadWrite(false);
|
editor.setReadWrite(false);
|
||||||
editorMap.put(infoColumn.getSelectClause(), editor);
|
editorMap.put(colSQL, editor);
|
||||||
columnInfo = new ColumnInfo(infoColumn.get_Translation("Name"), infoColumn.getSelectClause(), ValueNamePair.class, (String)null);
|
columnInfo = new ColumnInfo(infoColumn.get_Translation("Name"), colSQL, ValueNamePair.class, (String)null);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -635,7 +640,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
columnInfo = new ColumnInfo(infoColumn.get_Translation("Name"), infoColumn.getSelectClause(), DisplayType.getClass(infoColumn.getAD_Reference_ID(), true));
|
columnInfo = new ColumnInfo(infoColumn.get_Translation("Name"), colSQL, DisplayType.getClass(infoColumn.getAD_Reference_ID(), true));
|
||||||
}
|
}
|
||||||
columnInfo.setColDescription(infoColumn.get_Translation("Description"));
|
columnInfo.setColDescription(infoColumn.get_Translation("Description"));
|
||||||
columnInfo.setGridField(gridFields.get(i));
|
columnInfo.setGridField(gridFields.get(i));
|
||||||
|
@ -679,9 +684,12 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
editor = WebEditorFactory.getEditor(gridField, true);
|
editor = WebEditorFactory.getEditor(gridField, true);
|
||||||
editor.setMandatory(false);
|
editor.setMandatory(false);
|
||||||
editor.setReadWrite(false);
|
editor.setReadWrite(false);
|
||||||
editorMap.put(infoColumn.getSelectClause(), editor);
|
|
||||||
|
String colSQL = infoColumn.getSelectClause();
|
||||||
ColumnInfo columnInfo = new ColumnInfo(infoColumn.get_Translation("Name"), infoColumn.getSelectClause(), KeyNamePair.class, (String)null);
|
if (! colSQL.toUpperCase().contains(" AS "))
|
||||||
|
colSQL += " AS " + infoColumn.getColumnName();
|
||||||
|
editorMap.put(colSQL, editor);
|
||||||
|
ColumnInfo columnInfo = new ColumnInfo(infoColumn.get_Translation("Name"), colSQL, KeyNamePair.class, (String)null);
|
||||||
return columnInfo;
|
return columnInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -914,7 +922,6 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
String fromClause = m_sqlMain.substring(fromIndex);
|
String fromClause = m_sqlMain.substring(fromIndex);
|
||||||
|
|
||||||
// get alias of main table
|
// get alias of main table
|
||||||
String alias = getTableName();
|
|
||||||
StringBuilder sqlBuilder = new StringBuilder(selectClause);
|
StringBuilder sqlBuilder = new StringBuilder(selectClause);
|
||||||
|
|
||||||
// reset flag relate viewID to recount
|
// reset flag relate viewID to recount
|
||||||
|
@ -922,29 +929,25 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
isHasViewID = false;
|
isHasViewID = false;
|
||||||
|
|
||||||
// add View_ID column to select clause
|
// add View_ID column to select clause
|
||||||
for (MInfoProcess infoProcess : infoProcessList){
|
for (MInfoProcess infoProcess : infoProcessList) {
|
||||||
String columnInQuery = infoProcess.getViewIDName();
|
|
||||||
// this process hasn't viewID column, next other infoProcess
|
// this process hasn't viewID column, next other infoProcess
|
||||||
if (columnInQuery == null)
|
if (infoProcess.getAD_InfoColumn_ID() <= 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// add alias of main table to column
|
MInfoColumn infocol = (MInfoColumn) infoProcess.getAD_InfoColumn();
|
||||||
columnInQuery = alias + "." + columnInQuery;
|
|
||||||
|
|
||||||
// maintain varial relate to ViewID, it can init just one time when load infoWindow define
|
// maintain varial relate to ViewID, it can init just one time when load infoWindow define
|
||||||
// but let it here for simple logic control
|
// but let it here for simple logic control
|
||||||
numOfViewID++;
|
numOfViewID++;
|
||||||
isHasViewID = true;
|
isHasViewID = true;
|
||||||
|
|
||||||
// if query is include this viewID column, not need add
|
if (! infocol.isDisplayed()) {
|
||||||
if (sqlBuilder.toString().toLowerCase().contains(columnInQuery.toLowerCase())){
|
// add column to SELECT clause of main sql
|
||||||
continue;
|
sqlBuilder.append(", ");
|
||||||
|
sqlBuilder.append (infocol.getSelectClause());
|
||||||
|
sqlBuilder.append(" AS ");
|
||||||
|
sqlBuilder.append (infocol.getColumnName());
|
||||||
|
sqlBuilder.append(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
// add column to SELECT clause of main sql
|
|
||||||
sqlBuilder.append(", ");
|
|
||||||
sqlBuilder.append (columnInQuery);
|
|
||||||
sqlBuilder.append(" ");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sqlBuilder.append(fromClause);
|
sqlBuilder.append(fromClause);
|
||||||
|
@ -1592,12 +1595,15 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
if (infoColumn.isDisplayed(infoContext, p_WindowNo))
|
if (infoColumn.isDisplayed(infoContext, p_WindowNo))
|
||||||
{
|
{
|
||||||
ColumnInfo columnInfo = null;
|
ColumnInfo columnInfo = null;
|
||||||
|
String colSQL = infoColumn.getSelectClause();
|
||||||
|
if (! colSQL.toUpperCase().contains(" AS "))
|
||||||
|
colSQL += " AS " + infoColumn.getColumnName();
|
||||||
if (infoColumn.getAD_Reference_ID() == DisplayType.ID)
|
if (infoColumn.getAD_Reference_ID() == DisplayType.ID)
|
||||||
{
|
{
|
||||||
if (infoColumn.getSelectClause().equalsIgnoreCase(keySelectClause))
|
if (infoColumn.getSelectClause().equalsIgnoreCase(keySelectClause))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
columnInfo = new ColumnInfo(infoColumn.get_Translation("Name"), infoColumn.getSelectClause(), DisplayType.getClass(infoColumn.getAD_Reference_ID(), true));
|
columnInfo = new ColumnInfo(infoColumn.get_Translation("Name"), colSQL, DisplayType.getClass(infoColumn.getAD_Reference_ID(), true));
|
||||||
}
|
}
|
||||||
else if (DisplayType.isLookup(infoColumn.getAD_Reference_ID()))
|
else if (DisplayType.isLookup(infoColumn.getAD_Reference_ID()))
|
||||||
{
|
{
|
||||||
|
@ -1607,8 +1613,8 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
editor = WebEditorFactory.getEditor(getGridField(infoColumn), true);
|
editor = WebEditorFactory.getEditor(getGridField(infoColumn), true);
|
||||||
editor.setMandatory(false);
|
editor.setMandatory(false);
|
||||||
editor.setReadWrite(false);
|
editor.setReadWrite(false);
|
||||||
editorMap.put(infoColumn.getSelectClause(), editor);
|
editorMap.put(colSQL, editor);
|
||||||
columnInfo = new ColumnInfo(infoColumn.get_Translation("Name"), infoColumn.getSelectClause(), ValueNamePair.class, (String)null);
|
columnInfo = new ColumnInfo(infoColumn.get_Translation("Name"), colSQL, ValueNamePair.class, (String)null);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1618,7 +1624,7 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
columnInfo = new ColumnInfo(infoColumn.get_Translation("Name"), infoColumn.getSelectClause(), DisplayType.getClass(infoColumn.getAD_Reference_ID(), true));
|
columnInfo = new ColumnInfo(infoColumn.get_Translation("Name"), colSQL, DisplayType.getClass(infoColumn.getAD_Reference_ID(), true));
|
||||||
}
|
}
|
||||||
columnInfo.setColDescription(infoColumn.get_Translation("Description"));
|
columnInfo.setColDescription(infoColumn.get_Translation("Description"));
|
||||||
columnInfo.setGridField(getGridField(infoColumn));
|
columnInfo.setGridField(getGridField(infoColumn));
|
||||||
|
|
|
@ -32,7 +32,6 @@ import org.adempiere.webui.component.Label;
|
||||||
import org.adempiere.webui.component.Row;
|
import org.adempiere.webui.component.Row;
|
||||||
import org.adempiere.webui.component.Rows;
|
import org.adempiere.webui.component.Rows;
|
||||||
import org.adempiere.webui.component.Textbox;
|
import org.adempiere.webui.component.Textbox;
|
||||||
import org.adempiere.webui.event.WTableModelEvent;
|
|
||||||
import org.adempiere.webui.window.FDialog;
|
import org.adempiere.webui.window.FDialog;
|
||||||
import org.compiere.minigrid.ColumnInfo;
|
import org.compiere.minigrid.ColumnInfo;
|
||||||
import org.compiere.minigrid.IDColumn;
|
import org.compiere.minigrid.IDColumn;
|
||||||
|
@ -47,10 +46,10 @@ import org.zkoss.zk.ui.event.Event;
|
||||||
import org.zkoss.zk.ui.event.EventListener;
|
import org.zkoss.zk.ui.event.EventListener;
|
||||||
import org.zkoss.zul.Borderlayout;
|
import org.zkoss.zul.Borderlayout;
|
||||||
import org.zkoss.zul.Center;
|
import org.zkoss.zul.Center;
|
||||||
import org.zkoss.zul.North;
|
|
||||||
import org.zkoss.zul.South;
|
|
||||||
import org.zkoss.zul.Div;
|
import org.zkoss.zul.Div;
|
||||||
|
import org.zkoss.zul.North;
|
||||||
import org.zkoss.zul.Separator;
|
import org.zkoss.zul.Separator;
|
||||||
|
import org.zkoss.zul.South;
|
||||||
import org.zkoss.zul.Vbox;
|
import org.zkoss.zul.Vbox;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -61,9 +60,10 @@ import org.zkoss.zul.Vbox;
|
||||||
public class InfoGeneralPanel extends InfoPanel implements EventListener<Event>
|
public class InfoGeneralPanel extends InfoPanel implements EventListener<Event>
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -665127800885078238L;
|
private static final long serialVersionUID = 3328089102224160413L;
|
||||||
|
|
||||||
private Textbox txt1;
|
private Textbox txt1;
|
||||||
private Textbox txt2;
|
private Textbox txt2;
|
||||||
private Textbox txt3;
|
private Textbox txt3;
|
||||||
|
@ -508,10 +508,6 @@ public class InfoGeneralPanel extends InfoPanel implements EventListener<Event>
|
||||||
pstmt.setString(index++, getSQLText(txt4));
|
pstmt.setString(index++, getSQLText(txt4));
|
||||||
} // setParameters
|
} // setParameters
|
||||||
|
|
||||||
public void tableChanged(WTableModelEvent event)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void insertPagingComponent()
|
protected void insertPagingComponent()
|
||||||
{
|
{
|
||||||
|
|
|
@ -60,6 +60,7 @@ import org.adempiere.webui.session.SessionManager;
|
||||||
import org.adempiere.webui.window.FDialog;
|
import org.adempiere.webui.window.FDialog;
|
||||||
import org.compiere.minigrid.ColumnInfo;
|
import org.compiere.minigrid.ColumnInfo;
|
||||||
import org.compiere.minigrid.IDColumn;
|
import org.compiere.minigrid.IDColumn;
|
||||||
|
import org.compiere.model.MInfoColumn;
|
||||||
import org.compiere.model.MInfoWindow;
|
import org.compiere.model.MInfoWindow;
|
||||||
import org.compiere.model.MPInstance;
|
import org.compiere.model.MPInstance;
|
||||||
import org.compiere.model.MProcess;
|
import org.compiere.model.MProcess;
|
||||||
|
@ -518,21 +519,20 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
|
||||||
* IDEMPIERE-1970
|
* IDEMPIERE-1970
|
||||||
*/
|
*/
|
||||||
protected void readViewID(ResultSet rs, List<Object> data) throws SQLException {
|
protected void readViewID(ResultSet rs, List<Object> data) throws SQLException {
|
||||||
if (infoProcessList == null || infoProcessList.length == 0){
|
if (infoProcessList == null || infoProcessList.length == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// with each process have viewID, read it form resultSet by name
|
// with each process have viewID, read it form resultSet by name
|
||||||
for (MInfoProcess infoProcess : infoProcessList){
|
for (MInfoProcess infoProcess : infoProcessList){
|
||||||
if (infoProcess.getAD_Column_ID() == 0){
|
if (infoProcess.getAD_InfoColumn_ID() <= 0)
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
|
|
||||||
String viewIDSql = infoProcess.getViewIDName();
|
MInfoColumn infocol = (MInfoColumn) infoProcess.getAD_InfoColumn();
|
||||||
String viewIDValue = rs.getString(viewIDSql);
|
String viewIDValue = rs.getString(infocol.getColumnName());
|
||||||
if (rs.wasNull()){
|
if (rs.wasNull()) {
|
||||||
data.add(null);
|
data.add(null);
|
||||||
}else{
|
} else {
|
||||||
data.add(viewIDValue);
|
data.add(viewIDValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1511,7 +1511,7 @@ public abstract class InfoPanel extends Window implements EventListener<Event>,
|
||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
// just increase index when process is have ViewID column
|
// just increase index when process is have ViewID column
|
||||||
if (infoProcessList[i].getAD_Column_ID() > 0)
|
if (infoProcessList[i].getAD_InfoColumn_ID() > 0)
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -492,10 +492,6 @@ public class LoginPanel extends Window implements EventListener<Event>
|
||||||
private void languageChanged(String langName)
|
private void languageChanged(String langName)
|
||||||
{
|
{
|
||||||
Language language = findLanguage(langName);
|
Language language = findLanguage(langName);
|
||||||
|
|
||||||
// Locales
|
|
||||||
Locale loc = language.getLocale();
|
|
||||||
Locale.setDefault(loc);
|
|
||||||
|
|
||||||
if (email_login)
|
if (email_login)
|
||||||
lblUserId.setValue(Msg.getMsg(language, "EMail"));
|
lblUserId.setValue(Msg.getMsg(language, "EMail"));
|
||||||
|
|
|
@ -321,7 +321,7 @@ public class WDocActionPanel extends Window implements EventListener<Event>, Dia
|
||||||
String docAction = lstDocAction.getSelectedItem().getLabel();
|
String docAction = lstDocAction.getSelectedItem().getLabel();
|
||||||
MessageFormat mf = new MessageFormat(Msg.getMsg(Env.getAD_Language(Env.getCtx()), "ConfirmOnDocAction"));
|
MessageFormat mf = new MessageFormat(Msg.getMsg(Env.getAD_Language(Env.getCtx()), "ConfirmOnDocAction"));
|
||||||
Object[] arguments = new Object[]{docAction};
|
Object[] arguments = new Object[]{docAction};
|
||||||
FDialog.ask(0, this, mf.format(arguments), new Callback<Boolean>() {
|
FDialog.ask(0, this, "", mf.format(arguments), new Callback<Boolean>() {
|
||||||
@Override
|
@Override
|
||||||
public void onCallback(Boolean result) {
|
public void onCallback(Boolean result) {
|
||||||
if(result)
|
if(result)
|
||||||
|
|
|
@ -299,7 +299,7 @@ public class FDialog
|
||||||
*
|
*
|
||||||
* @return true, if OK
|
* @return true, if OK
|
||||||
*/
|
*/
|
||||||
public static boolean ask(int windowNo, Component comp, String adMessage, String msg, Callback<Boolean> callback)
|
public static boolean ask(int windowNo, Component comp, String adMessage, String msg, final Callback<Boolean> callback)
|
||||||
{
|
{
|
||||||
StringBuilder out = new StringBuilder();
|
StringBuilder out = new StringBuilder();
|
||||||
if (adMessage != null && !adMessage.equals(""))
|
if (adMessage != null && !adMessage.equals(""))
|
||||||
|
@ -307,7 +307,23 @@ public class FDialog
|
||||||
if (msg != null && msg.length() > 0)
|
if (msg != null && msg.length() > 0)
|
||||||
out.append("\n").append(msg);
|
out.append("\n").append(msg);
|
||||||
String s = out.toString().replace("\n", "<br>");
|
String s = out.toString().replace("\n", "<br>");
|
||||||
return ask(windowNo, comp, s, callback);
|
|
||||||
|
Callback<Integer> msgCallback = null;
|
||||||
|
if (callback != null)
|
||||||
|
{
|
||||||
|
msgCallback = new Callback<Integer>() {
|
||||||
|
@Override
|
||||||
|
public void onCallback(Integer result) {
|
||||||
|
boolean b = result != null && result.intValue() == Messagebox.OK;
|
||||||
|
callback.onCallback(b);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
String title = AEnv.getDialogHeader(Env.getCtx(), windowNo);
|
||||||
|
int response = Messagebox.showDialog(s, title,
|
||||||
|
Messagebox.OK | Messagebox.CANCEL, Messagebox.QUESTION, msgCallback, (msgCallback == null));
|
||||||
|
|
||||||
|
return (response == Messagebox.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
|
|
|
@ -4,7 +4,9 @@ Bundle-Name: iDempiere UI base
|
||||||
Bundle-SymbolicName: org.adempiere.ui;singleton:=true
|
Bundle-SymbolicName: org.adempiere.ui;singleton:=true
|
||||||
Bundle-Version: 3.0.0.qualifier
|
Bundle-Version: 3.0.0.qualifier
|
||||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||||
Require-Bundle: org.adempiere.base;bundle-version="3.0.0"
|
Require-Bundle: org.adempiere.base;bundle-version="3.0.0",
|
||||||
|
org.apache.xerces;bundle-version="2.9.0",
|
||||||
|
org.eclipse.equinox.app;bundle-version="1.3.0"
|
||||||
Export-Package: org.compiere.apps,
|
Export-Package: org.compiere.apps,
|
||||||
org.compiere.apps.form,
|
org.compiere.apps.form,
|
||||||
org.compiere.apps.wf,
|
org.compiere.apps.wf,
|
||||||
|
|
|
@ -287,7 +287,7 @@ public abstract class AbstractProcessCtl implements Runnable
|
||||||
m_pi.setReportingProcess(true);
|
m_pi.setReportingProcess(true);
|
||||||
// Start Report -----------------------------------------------
|
// Start Report -----------------------------------------------
|
||||||
boolean ok = ReportCtl.start(m_processUI, windowno, m_pi, IsDirectPrint);
|
boolean ok = ReportCtl.start(m_processUI, windowno, m_pi, IsDirectPrint);
|
||||||
m_pi.setSummary("Report", !ok);
|
m_pi.setSummary(Msg.getCleanMsg(Env.getCtx(), "Report"), !ok);
|
||||||
MPInstance pinstance = new MPInstance(Env.getCtx(), m_pi.getAD_PInstance_ID(), null);
|
MPInstance pinstance = new MPInstance(Env.getCtx(), m_pi.getAD_PInstance_ID(), null);
|
||||||
String errmsg = pinstance.getErrorMsg();
|
String errmsg = pinstance.getErrorMsg();
|
||||||
if (Util.isEmpty(errmsg, true))
|
if (Util.isEmpty(errmsg, true))
|
||||||
|
|
|
@ -408,7 +408,7 @@ public class Allocation
|
||||||
// selection of payment row
|
// selection of payment row
|
||||||
if (((Boolean)payment.getValueAt(row, 0)).booleanValue())
|
if (((Boolean)payment.getValueAt(row, 0)).booleanValue())
|
||||||
{
|
{
|
||||||
applied = open.signum() > 0 ? open : BigDecimal.ZERO; // Open Amount
|
applied = open; // Open Amount
|
||||||
if (totalDiff.abs().compareTo(applied.abs()) < 0 // where less is available to allocate than open
|
if (totalDiff.abs().compareTo(applied.abs()) < 0 // where less is available to allocate than open
|
||||||
&& totalDiff.signum() == -applied.signum() ) // and the available amount has the opposite sign
|
&& totalDiff.signum() == -applied.signum() ) // and the available amount has the opposite sign
|
||||||
applied = totalDiff.negate(); // reduce the amount applied to what's available
|
applied = totalDiff.negate(); // reduce the amount applied to what's available
|
||||||
|
|
|
@ -16,6 +16,7 @@ package org.compiere.apps.form;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.util.Properties;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
@ -51,8 +52,6 @@ public class Charge
|
||||||
private int m_C_TaxCategory_ID = 0;
|
private int m_C_TaxCategory_ID = 0;
|
||||||
private int m_AD_Client_ID = 0;
|
private int m_AD_Client_ID = 0;
|
||||||
private int m_AD_Org_ID = 0;
|
private int m_AD_Org_ID = 0;
|
||||||
@SuppressWarnings("unused")
|
|
||||||
private int m_CreatedBy = 0;
|
|
||||||
private MAcctSchema m_acctSchema = null;
|
private MAcctSchema m_acctSchema = null;
|
||||||
/** Logger */
|
/** Logger */
|
||||||
public static CLogger log = CLogger.getCLogger(Charge.class);
|
public static CLogger log = CLogger.getCLogger(Charge.class);
|
||||||
|
@ -170,7 +169,6 @@ public class Charge
|
||||||
// Other Defaults
|
// Other Defaults
|
||||||
m_AD_Client_ID = Env.getAD_Client_ID(Env.getCtx());
|
m_AD_Client_ID = Env.getAD_Client_ID(Env.getCtx());
|
||||||
m_AD_Org_ID = Env.getAD_Org_ID(Env.getCtx());
|
m_AD_Org_ID = Env.getAD_Org_ID(Env.getCtx());
|
||||||
m_CreatedBy = Env.getAD_User_ID(Env.getCtx());
|
|
||||||
|
|
||||||
// TaxCategory
|
// TaxCategory
|
||||||
String sql = "SELECT C_TaxCategory_ID FROM C_TaxCategory "
|
String sql = "SELECT C_TaxCategory_ID FROM C_TaxCategory "
|
||||||
|
@ -232,29 +230,30 @@ public class Charge
|
||||||
MCharge charge;
|
MCharge charge;
|
||||||
MAccount account;
|
MAccount account;
|
||||||
|
|
||||||
if (log.isLoggable(Level.CONFIG)) log.config(name + " - ");
|
|
||||||
// Charge
|
|
||||||
charge = new MCharge(Env.getCtx(), 0, null);
|
|
||||||
charge.setName(name);
|
|
||||||
charge.setC_TaxCategory_ID(m_C_TaxCategory_ID);
|
|
||||||
if (!charge.save())
|
|
||||||
{
|
|
||||||
log.log(Level.SEVERE, name + " not created");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
refreshAccountSchema();
|
refreshAccountSchema();
|
||||||
if (!isAccountSchemaValid())
|
if (!isAccountSchemaValid())
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Target Account
|
// Target Account
|
||||||
account = getAccount(elementValueId, charge);
|
account = getAccount(elementValueId);
|
||||||
if (account == null)
|
if (account == null)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (log.isLoggable(Level.CONFIG)) log.config(name + " - ");
|
||||||
|
// Charge
|
||||||
|
charge = new MCharge(Env.getCtx(), 0, null);
|
||||||
|
// IDEMPIERE-1099 - Key must be included in name to avoid name crashes in account schema.
|
||||||
|
charge.setName(account.getAccount().getValue() + " " + name);
|
||||||
|
charge.setC_TaxCategory_ID(m_C_TaxCategory_ID);
|
||||||
|
if (!charge.save())
|
||||||
|
{
|
||||||
|
log.log(Level.SEVERE, name + " not created");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
updateAccount(charge, account);
|
updateAccount(charge, account);
|
||||||
|
|
||||||
|
@ -338,15 +337,15 @@ public class Charge
|
||||||
* Gets the account for the specified charge and element value.
|
* Gets the account for the specified charge and element value.
|
||||||
* The account is created if it doesn't already exist.
|
* The account is created if it doesn't already exist.
|
||||||
* @param elementValueId identifier for the element value
|
* @param elementValueId identifier for the element value
|
||||||
* @param charge charge
|
|
||||||
* @return the account
|
* @return the account
|
||||||
*/
|
*/
|
||||||
private MAccount getAccount(int elementValueId, MCharge charge)
|
private MAccount getAccount(int elementValueId)
|
||||||
{
|
{
|
||||||
|
Properties ctx = Env.getCtx();
|
||||||
MAccount defaultAccount = MAccount.getDefault(m_acctSchema, true); // optional null
|
MAccount defaultAccount = MAccount.getDefault(m_acctSchema, true); // optional null
|
||||||
MAccount account = MAccount.get(Env.getCtx(),
|
MAccount account = MAccount.get(ctx,
|
||||||
charge.getAD_Client_ID(),
|
Env.getAD_Client_ID(ctx),
|
||||||
charge.getAD_Org_ID(),
|
Env.getAD_Org_ID(ctx),
|
||||||
m_acctSchema.getC_AcctSchema_ID(),
|
m_acctSchema.getC_AcctSchema_ID(),
|
||||||
elementValueId,
|
elementValueId,
|
||||||
defaultAccount.getC_SubAcct_ID(),
|
defaultAccount.getC_SubAcct_ID(),
|
||||||
|
|
|
@ -206,12 +206,19 @@ public class Match
|
||||||
// Create it
|
// Create it
|
||||||
String innerTrxName = Trx.createTrxName("Match");
|
String innerTrxName = Trx.createTrxName("Match");
|
||||||
Trx innerTrx = Trx.get(innerTrxName, true);
|
Trx innerTrx = Trx.get(innerTrxName, true);
|
||||||
if (createMatchRecord(invoice, M_InOutLine_ID, Line_ID, BigDecimal.valueOf(qty), innerTrxName))
|
|
||||||
innerTrx.commit();
|
try{
|
||||||
else
|
if (createMatchRecord(invoice, M_InOutLine_ID, Line_ID, BigDecimal.valueOf(qty), innerTrxName))
|
||||||
|
innerTrx.commit();
|
||||||
|
else
|
||||||
|
innerTrx.rollback();
|
||||||
|
}catch(Exception ex){
|
||||||
innerTrx.rollback();
|
innerTrx.rollback();
|
||||||
innerTrx.close();
|
throw new AdempiereException(ex);
|
||||||
innerTrx = null;
|
}finally{
|
||||||
|
innerTrx.close();
|
||||||
|
innerTrx = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// requery
|
// requery
|
||||||
|
|
|
@ -24,6 +24,7 @@ import java.sql.PreparedStatement;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
|
@ -37,10 +38,13 @@ import javax.xml.transform.TransformerFactory;
|
||||||
import javax.xml.transform.dom.DOMSource;
|
import javax.xml.transform.dom.DOMSource;
|
||||||
import javax.xml.transform.stream.StreamResult;
|
import javax.xml.transform.stream.StreamResult;
|
||||||
|
|
||||||
|
import org.adempiere.base.Core;
|
||||||
import org.compiere.Adempiere;
|
import org.compiere.Adempiere;
|
||||||
import org.compiere.model.MLanguage;
|
import org.compiere.model.MLanguage;
|
||||||
import org.compiere.model.MTable;
|
import org.compiere.model.MTable;
|
||||||
import org.compiere.model.PO;
|
import org.compiere.model.PO;
|
||||||
|
import org.compiere.process.ProcessCall;
|
||||||
|
import org.compiere.process.ProcessInfo;
|
||||||
import org.compiere.util.CLogger;
|
import org.compiere.util.CLogger;
|
||||||
import org.compiere.util.DB;
|
import org.compiere.util.DB;
|
||||||
import org.compiere.util.Env;
|
import org.compiere.util.Env;
|
||||||
|
@ -48,6 +52,8 @@ import org.compiere.util.Language;
|
||||||
import org.compiere.util.Login;
|
import org.compiere.util.Login;
|
||||||
import org.compiere.util.Msg;
|
import org.compiere.util.Msg;
|
||||||
import org.compiere.util.Util;
|
import org.compiere.util.Util;
|
||||||
|
import org.eclipse.equinox.app.IApplication;
|
||||||
|
import org.eclipse.equinox.app.IApplicationContext;
|
||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
import org.w3c.dom.Element;
|
import org.w3c.dom.Element;
|
||||||
|
|
||||||
|
@ -58,7 +64,7 @@ import org.w3c.dom.Element;
|
||||||
* @author Jorg Janke
|
* @author Jorg Janke
|
||||||
* @version $Id: Translation.java,v 1.3 2006/07/30 00:51:28 jjanke Exp $
|
* @version $Id: Translation.java,v 1.3 2006/07/30 00:51:28 jjanke Exp $
|
||||||
*/
|
*/
|
||||||
public class Translation
|
public class Translation implements IApplication
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Translation
|
* Translation
|
||||||
|
@ -68,6 +74,16 @@ public class Translation
|
||||||
{
|
{
|
||||||
m_ctx = ctx;
|
m_ctx = ctx;
|
||||||
} // Translation
|
} // Translation
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Do not use this Constructor in normal calls. It is used e.g. by the
|
||||||
|
* headless call for an only-translation batch script call.
|
||||||
|
*
|
||||||
|
* @author tbayen - IDEMPIERE-1554
|
||||||
|
*/
|
||||||
|
public Translation(){
|
||||||
|
m_ctx=Env.getCtx();
|
||||||
|
}
|
||||||
|
|
||||||
/** DTD */
|
/** DTD */
|
||||||
public static final String DTD = "<!DOCTYPE idempiereTrl PUBLIC \"-//ComPiere, Inc.//DTD iDempiere Translation 1.0//EN\" \"http://www.idempiere.com/dtd/idempiereTrl.dtd\">";
|
public static final String DTD = "<!DOCTYPE idempiereTrl PUBLIC \"-//ComPiere, Inc.//DTD iDempiere Translation 1.0//EN\" \"http://www.idempiere.com/dtd/idempiereTrl.dtd\">";
|
||||||
|
@ -435,7 +451,7 @@ public class Translation
|
||||||
* @param AD_Language language
|
* @param AD_Language language
|
||||||
* @param mode mode
|
* @param mode mode
|
||||||
*/
|
*/
|
||||||
private void process (String directory, String AD_Language, String mode)
|
public void process (String directory, String AD_Language, String mode)
|
||||||
{
|
{
|
||||||
String sql = "SELECT Name, TableName "
|
String sql = "SELECT Name, TableName "
|
||||||
+ "FROM AD_Table "
|
+ "FROM AD_Table "
|
||||||
|
@ -489,7 +505,66 @@ public class Translation
|
||||||
}
|
}
|
||||||
} // process
|
} // process
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
* OSGi Batch Interface
|
||||||
|
*
|
||||||
|
* @author tbayen - IDEMPIERE-1554
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Launch method of the OSGi application.
|
||||||
|
*
|
||||||
|
* In pre-OSGi times commandline launching was done by a run of the main()
|
||||||
|
* method of {@link Translation}. This is the OSGized launch method. This
|
||||||
|
* class has to be mentioned in META-INF/MANIFEST.MF as an
|
||||||
|
* "org.eclipse.core.runtime.applications" extension. Because of that it can
|
||||||
|
* be called from the commandline.
|
||||||
|
*
|
||||||
|
* You should take care that the org.eclipse.equinox.event bundle is active
|
||||||
|
* if you run this to send events in the case something goes wrong (like a
|
||||||
|
* missing file etc.)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Object start(IApplicationContext context) throws Exception {
|
||||||
|
Adempiere.startup(false);
|
||||||
|
Map<?, ?> args = context.getArguments();
|
||||||
|
String commandlineArgs[] = (String[]) args.get("application.args");
|
||||||
|
if (commandlineArgs.length == 3
|
||||||
|
&& ("import".equals(commandlineArgs[0]) || "export".equals(commandlineArgs[0]))) {
|
||||||
|
String command = commandlineArgs[0];
|
||||||
|
String directory = commandlineArgs[1];
|
||||||
|
String countrycode = commandlineArgs[2];
|
||||||
|
Properties ctx = Env.getCtx();
|
||||||
|
Translation translation = new Translation(ctx);
|
||||||
|
translation.process(directory, countrycode, command);
|
||||||
|
} else if (commandlineArgs.length == 1 && "sync".equals(commandlineArgs[0])) {
|
||||||
|
ProcessInfo pi = new ProcessInfo("Synchronize Terminology", 172);
|
||||||
|
pi.setAD_Client_ID(0);
|
||||||
|
pi.setAD_User_ID(100);
|
||||||
|
/*
|
||||||
|
* I do not call this direct because I did not want the
|
||||||
|
* org.adempiere.process plugin become a dependency of
|
||||||
|
* org.adempier.ui only for this commandline sync command.
|
||||||
|
*/
|
||||||
|
ProcessCall process = Core.getProcess("org.compiere.process.SynchronizeTerminology");
|
||||||
|
process.startProcess(Env.getCtx(), pi, null);
|
||||||
|
StringBuilder msgout = new StringBuilder("Process=").append(pi.getTitle())
|
||||||
|
.append(" Error=").append(pi.isError()).append(" Summary=")
|
||||||
|
.append(pi.getSummary());
|
||||||
|
System.out.println(msgout.toString());
|
||||||
|
} else {
|
||||||
|
System.out.println("translation OSGi plugin commandline usage:");
|
||||||
|
System.out.println("Translation.sh import translation/data de_DE");
|
||||||
|
System.out.println("Translation.sh export translation/data de_DE");
|
||||||
|
}
|
||||||
|
return IApplication.EXIT_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void stop() {
|
||||||
|
// IApplication implementation method - (only start method used)
|
||||||
|
}
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* Batch Interface
|
* Batch Interface
|
||||||
* @param args directory AD_Language import/export
|
* @param args directory AD_Language import/export
|
||||||
|
|
Loading…
Reference in New Issue