hg merge release-2.1 (merge release2.1 into development)
This commit is contained in:
commit
58254de9a4
|
@ -0,0 +1,11 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
-- IDEMPIERE-2535 Date material policy BUG on receipt
|
||||||
|
-- Apr 9, 2015 12:04:34 PM COT
|
||||||
|
UPDATE AD_Column SET IsParent='Y', IsUpdateable='N',Updated=TO_DATE('2015-04-09 12:04:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=208342
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201504091207_IDEMPIERE-2535.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
update ad_process_para set seqno=seqno+1000 where ad_process_id=53161 and seqno>=80;
|
||||||
|
|
||||||
|
update ad_process_para set seqno=seqno-990 where ad_process_id=53161 and seqno>=1080;
|
||||||
|
|
||||||
|
-- IDEMPIERE-2549 Password rule break Initial Client Setup
|
||||||
|
-- Apr 15, 2015 12:17:41 PM COT
|
||||||
|
INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,PrintName,EntityType,AD_Element_UU) VALUES (202876,0,0,'Y',TO_DATE('2015-04-15 12:17:40','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2015-04-15 12:17:40','YYYY-MM-DD HH24:MI:SS'),100,'IsSetInitialPassword','IsSetInitialPassword','IsSetInitialPassword','D','0e03fdbc-cb25-4705-bbd8-4442b02563af')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:17:58 PM COT
|
||||||
|
UPDATE AD_Element SET Name='Set Initial Password', PrintName='Set Initial Password',Updated=TO_DATE('2015-04-15 12:17:58','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=202876
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:17:58 PM COT
|
||||||
|
UPDATE AD_Column SET ColumnName='IsSetInitialPassword', Name='Set Initial Password', Description=NULL, Help=NULL WHERE AD_Element_ID=202876
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:17:58 PM COT
|
||||||
|
UPDATE AD_Process_Para SET ColumnName='IsSetInitialPassword', Name='Set Initial Password', Description=NULL, Help=NULL, AD_Element_ID=202876 WHERE UPPER(ColumnName)='ISSETINITIALPASSWORD' AND IsCentrallyMaintained='Y' AND AD_Element_ID IS NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:17:58 PM COT
|
||||||
|
UPDATE AD_Process_Para SET ColumnName='IsSetInitialPassword', Name='Set Initial Password', Description=NULL, Help=NULL WHERE AD_Element_ID=202876 AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:17:58 PM COT
|
||||||
|
UPDATE AD_InfoColumn SET ColumnName='IsSetInitialPassword', Name='Set Initial Password', Description=NULL, Help=NULL WHERE AD_Element_ID=202876 AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:17:58 PM COT
|
||||||
|
UPDATE AD_Field SET Name='Set Initial Password', Description=NULL, Help=NULL WHERE AD_Column_ID IN (SELECT AD_Column_ID FROM AD_Column WHERE AD_Element_ID=202876) AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:17:58 PM COT
|
||||||
|
UPDATE AD_PrintFormatItem SET PrintName='Set Initial Password', Name='Set Initial Password' WHERE IsCentrallyMaintained='Y' AND EXISTS (SELECT * FROM AD_Column c WHERE c.AD_Column_ID=AD_PrintFormatItem.AD_Column_ID AND c.AD_Element_ID=202876)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:18:34 PM COT
|
||||||
|
INSERT INTO AD_Process_Para (AD_Process_Para_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,AD_Process_ID,SeqNo,AD_Reference_ID,IsRange,FieldLength,IsMandatory,DefaultValue,ColumnName,IsCentrallyMaintained,EntityType,AD_Element_ID,AD_Process_Para_UU,IsEncrypted) VALUES (200132,0,0,'Y',TO_DATE('2015-04-15 12:18:34','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2015-04-15 12:18:34','YYYY-MM-DD HH24:MI:SS'),100,'Set Initial Password',53161,80,20,'N',1,'Y','Y','IsSetInitialPassword','Y','D',202876,'54bfb648-044e-47d3-b232-bb61a4632772','N')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:19:10 PM COT
|
||||||
|
UPDATE AD_Process SET IsActive='N',Updated=TO_DATE('2015-04-15 12:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_ID=288
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:36:59 PM COT
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','Force change on next login',0,0,'Y',TO_DATE('2015-04-15 12:36:59','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2015-04-15 12:36:59','YYYY-MM-DD HH24:MI:SS'),100,200349,'ForceChangeOnNextLogin','D','ef609a89-2d65-44f8-8aaf-4a29854510c9')
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201504151220_IDEMPIERE-2549.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
SET SQLBLANKLINES ON
|
||||||
|
SET DEFINE OFF
|
||||||
|
|
||||||
|
-- IDEMPIERE-476 Report Engine related bugs
|
||||||
|
-- 15/04/2015 05:50:45 PM COT
|
||||||
|
UPDATE AD_Element SET Name='Calculate Maximum (↑)',Updated=TO_DATE('2015-04-15 17:50:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=2207
|
||||||
|
;
|
||||||
|
|
||||||
|
-- 15/04/2015 05:50:45 PM COT
|
||||||
|
UPDATE AD_Column SET ColumnName='IsMaxCalc', Name='Calculate Maximum (↑)', Description='Calculate the maximum amount', Help='Calculate the Maximum (↑) of the data if the field is numeric, otherwise maximum length of the field.' WHERE AD_Element_ID=2207
|
||||||
|
;
|
||||||
|
|
||||||
|
-- 15/04/2015 05:50:46 PM COT
|
||||||
|
UPDATE AD_Process_Para SET ColumnName='IsMaxCalc', Name='Calculate Maximum (↑)', Description='Calculate the maximum amount', Help='Calculate the Maximum (↑) of the data if the field is numeric, otherwise maximum length of the field.', AD_Element_ID=2207 WHERE UPPER(ColumnName)='ISMAXCALC' AND IsCentrallyMaintained='Y' AND AD_Element_ID IS NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- 15/04/2015 05:50:46 PM COT
|
||||||
|
UPDATE AD_Process_Para SET ColumnName='IsMaxCalc', Name='Calculate Maximum (↑)', Description='Calculate the maximum amount', Help='Calculate the Maximum (↑) of the data if the field is numeric, otherwise maximum length of the field.' WHERE AD_Element_ID=2207 AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- 15/04/2015 05:50:46 PM COT
|
||||||
|
UPDATE AD_InfoColumn SET ColumnName='IsMaxCalc', Name='Calculate Maximum (↑)', Description='Calculate the maximum amount', Help='Calculate the Maximum (↑) of the data if the field is numeric, otherwise maximum length of the field.' WHERE AD_Element_ID=2207 AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- 15/04/2015 05:50:46 PM COT
|
||||||
|
UPDATE AD_Field SET Name='Calculate Maximum (↑)', Description='Calculate the maximum amount', Help='Calculate the Maximum (↑) of the data if the field is numeric, otherwise maximum length of the field.' WHERE AD_Column_ID IN (SELECT AD_Column_ID FROM AD_Column WHERE AD_Element_ID=2207) AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- 15/04/2015 05:50:46 PM COT
|
||||||
|
UPDATE AD_PrintFormatItem SET PrintName='Calc Max', Name='Calculate Maximum (↑)' WHERE IsCentrallyMaintained='Y' AND EXISTS (SELECT * FROM AD_Column c WHERE c.AD_Column_ID=AD_PrintFormatItem.AD_Column_ID AND c.AD_Element_ID=2207)
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201504151752_IDEMPIERE-476.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
-- IDEMPIERE-2535 Date material policy BUG on receipt
|
||||||
|
-- Apr 9, 2015 12:04:34 PM COT
|
||||||
|
UPDATE AD_Column SET IsParent='Y', IsUpdateable='N',Updated=TO_TIMESTAMP('2015-04-09 12:04:34','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=208342
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201504091207_IDEMPIERE-2535.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
update ad_process_para set seqno=seqno+1000 where ad_process_id=53161 and seqno>=80;
|
||||||
|
|
||||||
|
update ad_process_para set seqno=seqno-990 where ad_process_id=53161 and seqno>=1080;
|
||||||
|
|
||||||
|
-- IDEMPIERE-2549 Password rule break Initial Client Setup
|
||||||
|
-- Apr 15, 2015 12:17:41 PM COT
|
||||||
|
INSERT INTO AD_Element (AD_Element_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,ColumnName,Name,PrintName,EntityType,AD_Element_UU) VALUES (202876,0,0,'Y',TO_TIMESTAMP('2015-04-15 12:17:40','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2015-04-15 12:17:40','YYYY-MM-DD HH24:MI:SS'),100,'IsSetInitialPassword','IsSetInitialPassword','IsSetInitialPassword','D','0e03fdbc-cb25-4705-bbd8-4442b02563af')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:17:58 PM COT
|
||||||
|
UPDATE AD_Element SET Name='Set Initial Password', PrintName='Set Initial Password',Updated=TO_TIMESTAMP('2015-04-15 12:17:58','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=202876
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:17:58 PM COT
|
||||||
|
UPDATE AD_Column SET ColumnName='IsSetInitialPassword', Name='Set Initial Password', Description=NULL, Help=NULL WHERE AD_Element_ID=202876
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:17:58 PM COT
|
||||||
|
UPDATE AD_Process_Para SET ColumnName='IsSetInitialPassword', Name='Set Initial Password', Description=NULL, Help=NULL, AD_Element_ID=202876 WHERE UPPER(ColumnName)='ISSETINITIALPASSWORD' AND IsCentrallyMaintained='Y' AND AD_Element_ID IS NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:17:58 PM COT
|
||||||
|
UPDATE AD_Process_Para SET ColumnName='IsSetInitialPassword', Name='Set Initial Password', Description=NULL, Help=NULL WHERE AD_Element_ID=202876 AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:17:58 PM COT
|
||||||
|
UPDATE AD_InfoColumn SET ColumnName='IsSetInitialPassword', Name='Set Initial Password', Description=NULL, Help=NULL WHERE AD_Element_ID=202876 AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:17:58 PM COT
|
||||||
|
UPDATE AD_Field SET Name='Set Initial Password', Description=NULL, Help=NULL WHERE AD_Column_ID IN (SELECT AD_Column_ID FROM AD_Column WHERE AD_Element_ID=202876) AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:17:58 PM COT
|
||||||
|
UPDATE AD_PrintFormatItem SET PrintName='Set Initial Password', Name='Set Initial Password' WHERE IsCentrallyMaintained='Y' AND EXISTS (SELECT * FROM AD_Column c WHERE c.AD_Column_ID=AD_PrintFormatItem.AD_Column_ID AND c.AD_Element_ID=202876)
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:18:34 PM COT
|
||||||
|
INSERT INTO AD_Process_Para (AD_Process_Para_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,Name,AD_Process_ID,SeqNo,AD_Reference_ID,IsRange,FieldLength,IsMandatory,DefaultValue,ColumnName,IsCentrallyMaintained,EntityType,AD_Element_ID,AD_Process_Para_UU,IsEncrypted) VALUES (200132,0,0,'Y',TO_TIMESTAMP('2015-04-15 12:18:34','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2015-04-15 12:18:34','YYYY-MM-DD HH24:MI:SS'),100,'Set Initial Password',53161,80,20,'N',1,'Y','Y','IsSetInitialPassword','Y','D',202876,'54bfb648-044e-47d3-b232-bb61a4632772','N')
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:19:10 PM COT
|
||||||
|
UPDATE AD_Process SET IsActive='N',Updated=TO_TIMESTAMP('2015-04-15 12:19:10','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Process_ID=288
|
||||||
|
;
|
||||||
|
|
||||||
|
-- Apr 15, 2015 12:36:59 PM COT
|
||||||
|
INSERT INTO AD_Message (MsgType,MsgText,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Message_ID,Value,EntityType,AD_Message_UU) VALUES ('I','Force change on next login',0,0,'Y',TO_TIMESTAMP('2015-04-15 12:36:59','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2015-04-15 12:36:59','YYYY-MM-DD HH24:MI:SS'),100,200349,'ForceChangeOnNextLogin','D','ef609a89-2d65-44f8-8aaf-4a29854510c9')
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201504151220_IDEMPIERE-2549.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
SET CLIENT_ENCODING TO 'UTF8';
|
||||||
|
|
||||||
|
-- IDEMPIERE-476 Report Engine related bugs
|
||||||
|
-- 15/04/2015 05:50:45 PM COT
|
||||||
|
UPDATE AD_Element SET Name='Calculate Maximum (↑)',Updated=TO_TIMESTAMP('2015-04-15 17:50:45','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Element_ID=2207
|
||||||
|
;
|
||||||
|
|
||||||
|
-- 15/04/2015 05:50:45 PM COT
|
||||||
|
UPDATE AD_Column SET ColumnName='IsMaxCalc', Name='Calculate Maximum (↑)', Description='Calculate the maximum amount', Help='Calculate the Maximum (↑) of the data if the field is numeric, otherwise maximum length of the field.' WHERE AD_Element_ID=2207
|
||||||
|
;
|
||||||
|
|
||||||
|
-- 15/04/2015 05:50:46 PM COT
|
||||||
|
UPDATE AD_Process_Para SET ColumnName='IsMaxCalc', Name='Calculate Maximum (↑)', Description='Calculate the maximum amount', Help='Calculate the Maximum (↑) of the data if the field is numeric, otherwise maximum length of the field.', AD_Element_ID=2207 WHERE UPPER(ColumnName)='ISMAXCALC' AND IsCentrallyMaintained='Y' AND AD_Element_ID IS NULL
|
||||||
|
;
|
||||||
|
|
||||||
|
-- 15/04/2015 05:50:46 PM COT
|
||||||
|
UPDATE AD_Process_Para SET ColumnName='IsMaxCalc', Name='Calculate Maximum (↑)', Description='Calculate the maximum amount', Help='Calculate the Maximum (↑) of the data if the field is numeric, otherwise maximum length of the field.' WHERE AD_Element_ID=2207 AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- 15/04/2015 05:50:46 PM COT
|
||||||
|
UPDATE AD_InfoColumn SET ColumnName='IsMaxCalc', Name='Calculate Maximum (↑)', Description='Calculate the maximum amount', Help='Calculate the Maximum (↑) of the data if the field is numeric, otherwise maximum length of the field.' WHERE AD_Element_ID=2207 AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- 15/04/2015 05:50:46 PM COT
|
||||||
|
UPDATE AD_Field SET Name='Calculate Maximum (↑)', Description='Calculate the maximum amount', Help='Calculate the Maximum (↑) of the data if the field is numeric, otherwise maximum length of the field.' WHERE AD_Column_ID IN (SELECT AD_Column_ID FROM AD_Column WHERE AD_Element_ID=2207) AND IsCentrallyMaintained='Y'
|
||||||
|
;
|
||||||
|
|
||||||
|
-- 15/04/2015 05:50:46 PM COT
|
||||||
|
UPDATE AD_PrintFormatItem SET PrintName='Calc Max', Name='Calculate Maximum (↑)' WHERE IsCentrallyMaintained='Y' AND EXISTS (SELECT * FROM AD_Column c WHERE c.AD_Column_ID=AD_PrintFormatItem.AD_Column_ID AND c.AD_Element_ID=2207)
|
||||||
|
;
|
||||||
|
|
||||||
|
SELECT register_migration_script('201504151752_IDEMPIERE-476.sql') FROM dual
|
||||||
|
;
|
||||||
|
|
|
@ -62,6 +62,7 @@ public class InitialClientSetup extends SvrProcess
|
||||||
private String p_OrgName = null;
|
private String p_OrgName = null;
|
||||||
private String p_AdminUserName = null;
|
private String p_AdminUserName = null;
|
||||||
private String p_NormalUserName = null;
|
private String p_NormalUserName = null;
|
||||||
|
private boolean p_IsSetInitialPassword = true;
|
||||||
private int p_C_Currency_ID = 0;
|
private int p_C_Currency_ID = 0;
|
||||||
private int p_C_Country_ID = 0;
|
private int p_C_Country_ID = 0;
|
||||||
private int p_C_Region_ID = 0;
|
private int p_C_Region_ID = 0;
|
||||||
|
@ -110,6 +111,8 @@ public class InitialClientSetup extends SvrProcess
|
||||||
p_AdminUserName = (String) para[i].getParameter();
|
p_AdminUserName = (String) para[i].getParameter();
|
||||||
else if (name.equals("NormalUserName"))
|
else if (name.equals("NormalUserName"))
|
||||||
p_NormalUserName = (String) para[i].getParameter();
|
p_NormalUserName = (String) para[i].getParameter();
|
||||||
|
else if (name.equals("IsSetInitialPassword"))
|
||||||
|
p_IsSetInitialPassword = para[i].getParameterAsBoolean();
|
||||||
else if (name.equals("C_Currency_ID"))
|
else if (name.equals("C_Currency_ID"))
|
||||||
p_C_Currency_ID = para[i].getParameterAsInt();
|
p_C_Currency_ID = para[i].getParameterAsInt();
|
||||||
else if (name.equals("C_Country_ID"))
|
else if (name.equals("C_Country_ID"))
|
||||||
|
@ -175,6 +178,7 @@ public class InitialClientSetup extends SvrProcess
|
||||||
.append(", OrgName=").append(p_OrgName)
|
.append(", OrgName=").append(p_OrgName)
|
||||||
.append(", AdminUserName=").append(p_AdminUserName)
|
.append(", AdminUserName=").append(p_AdminUserName)
|
||||||
.append(", NormalUserName=").append(p_NormalUserName)
|
.append(", NormalUserName=").append(p_NormalUserName)
|
||||||
|
.append(", IsSetInitialPassword=").append(p_IsSetInitialPassword)
|
||||||
.append(", C_Currency_ID=").append(p_C_Currency_ID)
|
.append(", C_Currency_ID=").append(p_C_Currency_ID)
|
||||||
.append(", C_Country_ID=").append(p_C_Country_ID)
|
.append(", C_Country_ID=").append(p_C_Country_ID)
|
||||||
.append(", C_Region_ID=").append(p_C_Region_ID)
|
.append(", C_Region_ID=").append(p_C_Region_ID)
|
||||||
|
@ -259,7 +263,7 @@ public class InitialClientSetup extends SvrProcess
|
||||||
MSetup ms = new MSetup(Env.getCtx(), WINDOW_THIS_PROCESS);
|
MSetup ms = new MSetup(Env.getCtx(), WINDOW_THIS_PROCESS);
|
||||||
try {
|
try {
|
||||||
if (! ms.createClient(p_ClientName, p_OrgValue, p_OrgName, p_AdminUserName, p_NormalUserName
|
if (! ms.createClient(p_ClientName, p_OrgValue, p_OrgName, p_AdminUserName, p_NormalUserName
|
||||||
, p_Phone, p_Phone2, p_Fax, p_EMail, p_TaxID, p_AdminUserEmail, p_NormalUserEmail)) {
|
, p_Phone, p_Phone2, p_Fax, p_EMail, p_TaxID, p_AdminUserEmail, p_NormalUserEmail, p_IsSetInitialPassword)) {
|
||||||
ms.rollback();
|
ms.rollback();
|
||||||
throw new AdempiereException("Create client failed");
|
throw new AdempiereException("Create client failed");
|
||||||
}
|
}
|
||||||
|
|
|
@ -376,7 +376,6 @@ public class CommissionCalc extends SvrProcess
|
||||||
if (!cd.save())
|
if (!cd.save())
|
||||||
throw new IllegalArgumentException ("CommissionCalc - Detail Not saved");
|
throw new IllegalArgumentException ("CommissionCalc - Detail Not saved");
|
||||||
}
|
}
|
||||||
pstmt = null;
|
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -336,7 +336,7 @@ public class GridTabCSVImporter implements IGridTabImporter
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isMasterok && isDetail){
|
if (!isMasterok && isDetail){
|
||||||
rawLine = rawLine + delimiter + quoteChar + Msg.getMsg(Env.getCtx(),"NotProccesed") + quoteChar + "\n";
|
rawLine = rawLine + delimiter + quoteChar + Msg.getMsg(Env.getCtx(),"NotProcessed") + quoteChar + "\n";
|
||||||
rowsTmpResult.add(rawLine);
|
rowsTmpResult.add(rawLine);
|
||||||
continue;
|
continue;
|
||||||
}else if(isMasterok && isDetail && !isDetailok){
|
}else if(isMasterok && isDetail && !isDetailok){
|
||||||
|
|
|
@ -45,8 +45,6 @@ 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;
|
||||||
import org.compiere.util.Msg;
|
import org.compiere.util.Msg;
|
||||||
import org.eevolution.model.MPPProductBOM;
|
|
||||||
import org.eevolution.model.MPPProductBOMLine;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1538,7 +1536,7 @@ public class MInvoice extends X_C_Invoice implements DocAction
|
||||||
int lineNo = line.getLine ();
|
int lineNo = line.getLine ();
|
||||||
|
|
||||||
//find default BOM with valid dates and to this product
|
//find default BOM with valid dates and to this product
|
||||||
MPPProductBOM bom = MPPProductBOM.get(product, getAD_Org_ID(),getDateInvoiced(), get_TrxName());
|
/*MPPProductBOM bom = MPPProductBOM.get(product, getAD_Org_ID(),getDateInvoiced(), get_TrxName());
|
||||||
if(bom != null)
|
if(bom != null)
|
||||||
{
|
{
|
||||||
MPPProductBOMLine[] bomlines = bom.getLines(getDateInvoiced());
|
MPPProductBOMLine[] bomlines = bom.getLines(getDateInvoiced());
|
||||||
|
@ -1557,25 +1555,20 @@ public class MInvoice extends X_C_Invoice implements DocAction
|
||||||
newLine.setPrice ();
|
newLine.setPrice ();
|
||||||
newLine.saveEx (get_TrxName());
|
newLine.saveEx (get_TrxName());
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/*MProductBOM[] boms = MProductBOM.getBOMLines (product);
|
|
||||||
for (int j = 0; j < boms.length; j++)
|
|
||||||
{
|
|
||||||
MProductBOM bom = boms[j];
|
|
||||||
MInvoiceLine newLine = new MInvoiceLine (this);
|
|
||||||
newLine.setLine (++lineNo);
|
|
||||||
newLine.setM_Product_ID (bom.getProduct().getM_Product_ID(),
|
|
||||||
bom.getProduct().getC_UOM_ID());
|
|
||||||
newLine.setQty (line.getQtyInvoiced().multiply(
|
|
||||||
bom.getBOMQty ())); // Invoiced/Entered
|
|
||||||
if (bom.getDescription () != null)
|
|
||||||
newLine.setDescription (bom.getDescription ());
|
|
||||||
//
|
|
||||||
newLine.setPrice ();
|
|
||||||
newLine.save (get_TrxName());
|
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
for (MProductBOM bom : MProductBOM.getBOMLines(product))
|
||||||
|
{
|
||||||
|
MInvoiceLine newLine = new MInvoiceLine(this);
|
||||||
|
newLine.setLine(++lineNo);
|
||||||
|
newLine.setM_Product_ID(bom.getM_ProductBOM_ID(), true);
|
||||||
|
newLine.setQty(line.getQtyInvoiced().multiply(bom.getBOMQty()));
|
||||||
|
if (bom.getDescription() != null)
|
||||||
|
newLine.setDescription(bom.getDescription());
|
||||||
|
newLine.setPrice();
|
||||||
|
newLine.save(get_TrxName());
|
||||||
|
}
|
||||||
|
|
||||||
// Convert into Comment Line
|
// Convert into Comment Line
|
||||||
line.setM_Product_ID (0);
|
line.setM_Product_ID (0);
|
||||||
line.setM_AttributeSetInstance_ID (0);
|
line.setM_AttributeSetInstance_ID (0);
|
||||||
|
|
|
@ -435,7 +435,8 @@ public class MMovement extends X_M_Movement implements DocAction
|
||||||
M_AttributeSetInstanceTo_ID = ma.getM_AttributeSetInstance_ID();
|
M_AttributeSetInstanceTo_ID = ma.getM_AttributeSetInstance_ID();
|
||||||
}
|
}
|
||||||
//Update Storage
|
//Update Storage
|
||||||
if (!MStorageOnHand.add(getCtx(),locator.getM_Warehouse_ID(),
|
MLocator locatorTo = new MLocator (getCtx(), line.getM_LocatorTo_ID(), get_TrxName());
|
||||||
|
if (!MStorageOnHand.add(getCtx(),locatorTo.getM_Warehouse_ID(),
|
||||||
line.getM_LocatorTo_ID(),
|
line.getM_LocatorTo_ID(),
|
||||||
line.getM_Product_ID(),
|
line.getM_Product_ID(),
|
||||||
M_AttributeSetInstanceTo_ID,
|
M_AttributeSetInstanceTo_ID,
|
||||||
|
@ -473,17 +474,13 @@ public class MMovement extends X_M_Movement implements DocAction
|
||||||
// Fallback - We have ASI
|
// Fallback - We have ASI
|
||||||
if (trxFrom == null)
|
if (trxFrom == null)
|
||||||
{
|
{
|
||||||
I_M_AttributeSetInstance asi = line.getM_AttributeSetInstance();
|
|
||||||
Timestamp dateMPolicy= getMovementDate();
|
|
||||||
dateMPolicy = asi.getCreated();
|
|
||||||
|
|
||||||
MLocator locator = new MLocator (getCtx(), line.getM_Locator_ID(), get_TrxName());
|
MLocator locator = new MLocator (getCtx(), line.getM_Locator_ID(), get_TrxName());
|
||||||
//Update Storage
|
//Update Storage
|
||||||
if (!MStorageOnHand.add(getCtx(),locator.getM_Warehouse_ID(),
|
if (!MStorageOnHand.add(getCtx(),locator.getM_Warehouse_ID(),
|
||||||
line.getM_Locator_ID(),
|
line.getM_Locator_ID(),
|
||||||
line.getM_Product_ID(),
|
line.getM_Product_ID(),
|
||||||
line.getM_AttributeSetInstance_ID(),
|
line.getM_AttributeSetInstance_ID(),
|
||||||
line.getMovementQty().negate(),dateMPolicy, get_TrxName()))
|
line.getMovementQty().negate(), null, get_TrxName()))
|
||||||
{
|
{
|
||||||
String lastError = CLogger.retrieveErrorString("");
|
String lastError = CLogger.retrieveErrorString("");
|
||||||
m_processMsg = "Cannot correct Inventory OnHand (MA) - " + lastError;
|
m_processMsg = "Cannot correct Inventory OnHand (MA) - " + lastError;
|
||||||
|
@ -491,11 +488,12 @@ public class MMovement extends X_M_Movement implements DocAction
|
||||||
}
|
}
|
||||||
|
|
||||||
//Update Storage
|
//Update Storage
|
||||||
if (!MStorageOnHand.add(getCtx(),locator.getM_Warehouse_ID(),
|
MLocator locatorTo = new MLocator (getCtx(), line.getM_LocatorTo_ID(), get_TrxName());
|
||||||
|
if (!MStorageOnHand.add(getCtx(),locatorTo.getM_Warehouse_ID(),
|
||||||
line.getM_LocatorTo_ID(),
|
line.getM_LocatorTo_ID(),
|
||||||
line.getM_Product_ID(),
|
line.getM_Product_ID(),
|
||||||
line.getM_AttributeSetInstanceTo_ID(),
|
line.getM_AttributeSetInstanceTo_ID(),
|
||||||
line.getMovementQty(),dateMPolicy, get_TrxName()))
|
line.getMovementQty(), null, get_TrxName()))
|
||||||
{
|
{
|
||||||
String lastError = CLogger.retrieveErrorString("");
|
String lastError = CLogger.retrieveErrorString("");
|
||||||
m_processMsg = "Cannot correct Inventory OnHand (MA) - " + lastError;
|
m_processMsg = "Cannot correct Inventory OnHand (MA) - " + lastError;
|
||||||
|
|
|
@ -47,8 +47,6 @@ import org.compiere.util.DB;
|
||||||
import org.compiere.util.Env;
|
import org.compiere.util.Env;
|
||||||
import org.compiere.util.Msg;
|
import org.compiere.util.Msg;
|
||||||
import org.compiere.util.Util;
|
import org.compiere.util.Util;
|
||||||
import org.eevolution.model.MPPProductBOM;
|
|
||||||
import org.eevolution.model.MPPProductBOMLine;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1605,7 +1603,7 @@ public class MOrder extends X_C_Order implements DocAction
|
||||||
// New Lines
|
// New Lines
|
||||||
int lineNo = line.getLine ();
|
int lineNo = line.getLine ();
|
||||||
//find default BOM with valid dates and to this product
|
//find default BOM with valid dates and to this product
|
||||||
MPPProductBOM bom = MPPProductBOM.get(product, getAD_Org_ID(),getDatePromised(), get_TrxName());
|
/*/MPPProductBOM bom = MPPProductBOM.get(product, getAD_Org_ID(),getDatePromised(), get_TrxName());
|
||||||
if(bom != null)
|
if(bom != null)
|
||||||
{
|
{
|
||||||
MPPProductBOMLine[] bomlines = bom.getLines(getDatePromised());
|
MPPProductBOMLine[] bomlines = bom.getLines(getDatePromised());
|
||||||
|
@ -1624,30 +1622,19 @@ public class MOrder extends X_C_Order implements DocAction
|
||||||
newLine.setPrice ();
|
newLine.setPrice ();
|
||||||
newLine.save (get_TrxName());
|
newLine.save (get_TrxName());
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
|
|
||||||
/*MProductBOM[] boms = MProductBOM.getBOMLines (product);
|
for (MProductBOM bom : MProductBOM.getBOMLines(product))
|
||||||
for (int j = 0; j < boms.length; j++)
|
|
||||||
{
|
{
|
||||||
//MProductBOM bom = boms[j];
|
MOrderLine newLine = new MOrderLine(this);
|
||||||
MPPProductBOMLine bom = boms[j];
|
newLine.setLine(++lineNo);
|
||||||
MOrderLine newLine = new MOrderLine (this);
|
newLine.setM_Product_ID(bom.getM_ProductBOM_ID(), true);
|
||||||
newLine.setLine (++lineNo);
|
newLine.setQty(line.getQtyOrdered().multiply(bom.getBOMQty()));
|
||||||
//newLine.setM_Product_ID (bom.getProduct ()
|
if (bom.getDescription() != null)
|
||||||
// .getM_Product_ID ());
|
newLine.setDescription(bom.getDescription());
|
||||||
newLine.setM_Product_ID (bom.getM_Product_ID ());
|
newLine.setPrice();
|
||||||
//newLine.setC_UOM_ID (bom.getProduct ().getC_UOM_ID ());
|
newLine.save(get_TrxName());
|
||||||
newLine.setC_UOM_ID (bom.getC_UOM_ID ());
|
}
|
||||||
//newLine.setQty (line.getQtyOrdered ().multiply (
|
|
||||||
// bom.getBOMQty ()));
|
|
||||||
newLine.setQty (line.getQtyOrdered ().multiply (
|
|
||||||
bom.getQtyBOM()));
|
|
||||||
if (bom.getDescription () != null)
|
|
||||||
newLine.setDescription (bom.getDescription ());
|
|
||||||
//
|
|
||||||
newLine.setPrice ();
|
|
||||||
newLine.save (get_TrxName());
|
|
||||||
}*/
|
|
||||||
|
|
||||||
// Convert into Comment Line
|
// Convert into Comment Line
|
||||||
line.setM_Product_ID (0);
|
line.setM_Product_ID (0);
|
||||||
|
|
|
@ -96,6 +96,10 @@ public class MProduction extends X_M_Production implements DocAction {
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_processMsg = ModelValidationEngine.get().fireDocValidate(this, ModelValidator.TIMING_BEFORE_COMPLETE);
|
||||||
|
if (m_processMsg != null)
|
||||||
|
return DocAction.STATUS_Invalid;
|
||||||
|
|
||||||
StringBuilder errors = new StringBuilder();
|
StringBuilder errors = new StringBuilder();
|
||||||
int processed = 0;
|
int processed = 0;
|
||||||
|
|
||||||
|
@ -125,7 +129,15 @@ public class MProduction extends X_M_Production implements DocAction {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setProcessed(true);
|
// User Validation
|
||||||
|
String valid = ModelValidationEngine.get().fireDocValidate(this, ModelValidator.TIMING_AFTER_COMPLETE);
|
||||||
|
if (valid != null)
|
||||||
|
{
|
||||||
|
m_processMsg = valid;
|
||||||
|
return DocAction.STATUS_Invalid;
|
||||||
|
}
|
||||||
|
|
||||||
|
setProcessed(true);
|
||||||
setDocAction(DOCACTION_Close);
|
setDocAction(DOCACTION_Close);
|
||||||
return DocAction.STATUS_Completed;
|
return DocAction.STATUS_Completed;
|
||||||
}
|
}
|
||||||
|
@ -562,6 +574,12 @@ public class MProduction extends X_M_Production implements DocAction {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean voidIt() {
|
public boolean voidIt() {
|
||||||
|
if (log.isLoggable(Level.INFO)) log.info(toString());
|
||||||
|
// Before Void
|
||||||
|
m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_BEFORE_VOID);
|
||||||
|
if (m_processMsg != null)
|
||||||
|
return false;
|
||||||
|
|
||||||
if (DOCSTATUS_Closed.equals(getDocStatus())
|
if (DOCSTATUS_Closed.equals(getDocStatus())
|
||||||
|| DOCSTATUS_Reversed.equals(getDocStatus())
|
|| DOCSTATUS_Reversed.equals(getDocStatus())
|
||||||
|| DOCSTATUS_Voided.equals(getDocStatus()))
|
|| DOCSTATUS_Voided.equals(getDocStatus()))
|
||||||
|
@ -612,6 +630,11 @@ public class MProduction extends X_M_Production implements DocAction {
|
||||||
return reverseCorrectIt();
|
return reverseCorrectIt();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// After Void
|
||||||
|
m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_AFTER_VOID);
|
||||||
|
if (m_processMsg != null)
|
||||||
|
return false;
|
||||||
|
|
||||||
setProcessed(true);
|
setProcessed(true);
|
||||||
setDocAction(DOCACTION_None);
|
setDocAction(DOCACTION_None);
|
||||||
return true;
|
return true;
|
||||||
|
@ -769,8 +792,8 @@ public class MProduction extends X_M_Production implements DocAction {
|
||||||
@Override
|
@Override
|
||||||
public boolean reverseAccrualIt() {
|
public boolean reverseAccrualIt() {
|
||||||
if (log.isLoggable(Level.INFO)) log.info(toString());
|
if (log.isLoggable(Level.INFO)) log.info(toString());
|
||||||
// Before reverseCorrect
|
// Before reverseAccrual
|
||||||
m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_BEFORE_REVERSECORRECT);
|
m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_BEFORE_REVERSEACCRUAL);
|
||||||
if (m_processMsg != null)
|
if (m_processMsg != null)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -778,8 +801,8 @@ public class MProduction extends X_M_Production implements DocAction {
|
||||||
if (reversal == null)
|
if (reversal == null)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// After reverseCorrect
|
// After reverseAccrual
|
||||||
m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_AFTER_REVERSECORRECT);
|
m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_AFTER_REVERSEACCRUAL);
|
||||||
if (m_processMsg != null)
|
if (m_processMsg != null)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -790,7 +813,17 @@ public class MProduction extends X_M_Production implements DocAction {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean reActivateIt() {
|
public boolean reActivateIt() {
|
||||||
throw new UnsupportedOperationException();
|
if (log.isLoggable(Level.INFO)) log.info("reActivateIt - " + toString());
|
||||||
|
// Before reActivate
|
||||||
|
m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_BEFORE_REACTIVATE);
|
||||||
|
if (m_processMsg != null)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// After reActivate
|
||||||
|
m_processMsg = ModelValidationEngine.get().fireDocValidate(this,ModelValidator.TIMING_AFTER_REACTIVATE);
|
||||||
|
if (m_processMsg != null)
|
||||||
|
return false;
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -108,11 +108,12 @@ public final class MSetup
|
||||||
* @param orgName org name
|
* @param orgName org name
|
||||||
* @param userClient user id client
|
* @param userClient user id client
|
||||||
* @param userOrg user id org
|
* @param userOrg user id org
|
||||||
|
* @param isSetInitialPassword
|
||||||
* @return true if created
|
* @return true if created
|
||||||
*/
|
*/
|
||||||
public boolean createClient (String clientName, String orgValue, String orgName,
|
public boolean createClient (String clientName, String orgValue, String orgName,
|
||||||
String userClient, String userOrg, String phone, String phone2, String fax, String eMail, String taxID,
|
String userClient, String userOrg, String phone, String phone2, String fax, String eMail, String taxID,
|
||||||
String adminEmail, String userEmail)
|
String adminEmail, String userEmail, boolean isSetInitialPassword)
|
||||||
{
|
{
|
||||||
log.info(clientName);
|
log.info(clientName);
|
||||||
m_trx.start();
|
m_trx.start();
|
||||||
|
@ -286,7 +287,8 @@ public final class MSetup
|
||||||
if (name == null || name.length() == 0)
|
if (name == null || name.length() == 0)
|
||||||
name = m_clientName + "Client";
|
name = m_clientName + "Client";
|
||||||
|
|
||||||
clientAdminUser.setPassword(name);
|
if (isSetInitialPassword)
|
||||||
|
clientAdminUser.setPassword(name);
|
||||||
clientAdminUser.setDescription(name);
|
clientAdminUser.setDescription(name);
|
||||||
clientAdminUser.setName(name);
|
clientAdminUser.setName(name);
|
||||||
clientAdminUser.setAD_Client_ID(AD_Client_ID);
|
clientAdminUser.setAD_Client_ID(AD_Client_ID);
|
||||||
|
@ -320,7 +322,8 @@ public final class MSetup
|
||||||
if (name == null || name.length() == 0)
|
if (name == null || name.length() == 0)
|
||||||
name = m_clientName + "Org";
|
name = m_clientName + "Org";
|
||||||
|
|
||||||
clientUser.setPassword(name);
|
if (isSetInitialPassword)
|
||||||
|
clientUser.setPassword(name);
|
||||||
clientUser.setDescription(name);
|
clientUser.setDescription(name);
|
||||||
clientUser.setName(name);
|
clientUser.setName(name);
|
||||||
clientUser.setAD_Client_ID(AD_Client_ID);
|
clientUser.setAD_Client_ID(AD_Client_ID);
|
||||||
|
|
|
@ -713,7 +713,7 @@ public class MStorageOnHand extends X_M_StorageOnHand
|
||||||
if (M_AttributeSetInstance_ID > 0)
|
if (M_AttributeSetInstance_ID > 0)
|
||||||
{
|
{
|
||||||
MAttributeSetInstance asi = new MAttributeSetInstance(ctx, M_AttributeSetInstance_ID, trxName);
|
MAttributeSetInstance asi = new MAttributeSetInstance(ctx, M_AttributeSetInstance_ID, trxName);
|
||||||
dateMPolicy = asi.getCreated();
|
dateMPolicy = asi.getCreated();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -137,10 +137,10 @@ public class PrintDataFunction
|
||||||
mean = mean.setScale(4, BigDecimal.ROUND_HALF_UP);
|
mean = mean.setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||||
return mean;
|
return mean;
|
||||||
}
|
}
|
||||||
// Variance = sum of squares - (square of sum / count)
|
// Variance = ( sum of squares - (square of sum / count) ) / count
|
||||||
BigDecimal ss = m_sum.multiply(m_sum);
|
BigDecimal ss = m_sum.multiply(m_sum);
|
||||||
ss = ss.divide(count, 4, BigDecimal.ROUND_HALF_UP);
|
ss = ss.divide(count, 10, BigDecimal.ROUND_HALF_UP);
|
||||||
BigDecimal variance = m_sumSquare.subtract(ss);
|
BigDecimal variance = m_sumSquare.subtract(ss).divide(count, 10, BigDecimal.ROUND_HALF_UP);
|
||||||
if (function == F_VARIANCE)
|
if (function == F_VARIANCE)
|
||||||
{
|
{
|
||||||
if (variance.scale() > 4)
|
if (variance.scale() > 4)
|
||||||
|
|
|
@ -474,7 +474,7 @@ public class VSetup extends CPanel
|
||||||
m_frame.setBusyTimer(45);
|
m_frame.setBusyTimer(45);
|
||||||
// Step 1
|
// Step 1
|
||||||
boolean ok = ms.createClient(fClientName.getText(), fOrgValue.getText(), fOrgName.getText(),
|
boolean ok = ms.createClient(fClientName.getText(), fOrgValue.getText(), fOrgName.getText(),
|
||||||
fUserClient.getText(), fUserOrg.getText(), null, null, null, null, null, null, null); // this form is not used
|
fUserClient.getText(), fUserOrg.getText(), null, null, null, null, null, null, null, true); // this form is not used
|
||||||
String info = ms.getInfo();
|
String info = ms.getInfo();
|
||||||
|
|
||||||
if (ok)
|
if (ok)
|
||||||
|
|
|
@ -413,6 +413,7 @@ public class WBOMDrop extends ADForm implements EventListener<Event>
|
||||||
this.appendChild(confirmPanel);
|
this.appendChild(confirmPanel);
|
||||||
this.appendChild(new Separator());
|
this.appendChild(new Separator());
|
||||||
this.setBorder("normal");
|
this.setBorder("normal");
|
||||||
|
this.setContentStyle("overflow: auto");
|
||||||
|
|
||||||
Caption title = new Caption(Msg.getMsg(Env.getCtx(), "SelectProduct"));
|
Caption title = new Caption(Msg.getMsg(Env.getCtx(), "SelectProduct"));
|
||||||
|
|
||||||
|
@ -467,6 +468,17 @@ public class WBOMDrop extends ADForm implements EventListener<Event>
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 2nd sort by Line Number in order to correspond with BOM Structure, patch 2015-03-31
|
||||||
|
Arrays.sort(bomLines, new Comparator<MProductBOM>() {
|
||||||
|
@Override
|
||||||
|
public int compare(MProductBOM arg0, MProductBOM arg1) {
|
||||||
|
String t1 = String.valueOf(arg0.getLine()+100000);
|
||||||
|
String t2 = String.valueOf(arg1.getLine()+100000);
|
||||||
|
return t1.compareTo(t2);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < bomLines.length; i++)
|
for (int i = 0; i < bomLines.length; i++)
|
||||||
{
|
{
|
||||||
addBOMLine (bomLines[i], qty, parentPanel, bomLevel);
|
addBOMLine (bomLines[i], qty, parentPanel, bomLevel);
|
||||||
|
@ -592,7 +604,8 @@ public class WBOMDrop extends ADForm implements EventListener<Event>
|
||||||
if (MProductBOM.BOMTYPE_StandardPart.equals(bomType) || MProductBOM.BOMTYPE_OptionalPart.equals(bomType)) {
|
if (MProductBOM.BOMTYPE_StandardPart.equals(bomType) || MProductBOM.BOMTYPE_OptionalPart.equals(bomType)) {
|
||||||
outerContainer.appendChild(outerProductPanel);
|
outerContainer.appendChild(outerProductPanel);
|
||||||
} else {
|
} else {
|
||||||
String groupName = String.valueOf(parentM_Product_ID) + "_" + bomType;
|
// String groupName = String.valueOf(parentM_Product_ID) + "_" + bomType;
|
||||||
|
String groupName = String.valueOf(parentM_Product_ID) + "_" + bomType + "_" + parentPanel.toString();
|
||||||
Radiogroup group = m_buttonGroups.get(groupName);
|
Radiogroup group = m_buttonGroups.get(groupName);
|
||||||
|
|
||||||
if (group == null) {
|
if (group == null) {
|
||||||
|
|
|
@ -17,6 +17,7 @@ package org.adempiere.webui.apps.form;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import org.adempiere.exceptions.AdempiereException;
|
import org.adempiere.exceptions.AdempiereException;
|
||||||
|
import org.adempiere.webui.component.Checkbox;
|
||||||
import org.adempiere.webui.component.Column;
|
import org.adempiere.webui.component.Column;
|
||||||
import org.adempiere.webui.component.ConfirmPanel;
|
import org.adempiere.webui.component.ConfirmPanel;
|
||||||
import org.adempiere.webui.component.Grid;
|
import org.adempiere.webui.component.Grid;
|
||||||
|
@ -75,6 +76,7 @@ public class WResetPassword implements IFormController, EventListener<Event>, Va
|
||||||
private Textbox txtOldPassword;
|
private Textbox txtOldPassword;
|
||||||
private Textbox txtNewPassword;
|
private Textbox txtNewPassword;
|
||||||
private Textbox txtRetypeNewPassword;
|
private Textbox txtRetypeNewPassword;
|
||||||
|
private Checkbox cbForceChangeNextLogin;
|
||||||
private Textbox txtNewEMail;
|
private Textbox txtNewEMail;
|
||||||
private Textbox txtNewEMailUser;
|
private Textbox txtNewEMailUser;
|
||||||
private Textbox txtNewEMailUserPW;
|
private Textbox txtNewEMailUserPW;
|
||||||
|
@ -144,7 +146,11 @@ public class WResetPassword implements IFormController, EventListener<Event>, Va
|
||||||
txtRetypeNewPassword.setType("password");
|
txtRetypeNewPassword.setType("password");
|
||||||
txtRetypeNewPassword.setCols(25);
|
txtRetypeNewPassword.setCols(25);
|
||||||
txtRetypeNewPassword.setWidth("220px");
|
txtRetypeNewPassword.setWidth("220px");
|
||||||
|
|
||||||
|
cbForceChangeNextLogin = new Checkbox();
|
||||||
|
cbForceChangeNextLogin.setLabel(Msg.getMsg(Env.getCtx(), "ForceChangeOnNextLogin"));
|
||||||
|
cbForceChangeNextLogin.setChecked(false);
|
||||||
|
|
||||||
txtNewEMail = new Textbox();
|
txtNewEMail = new Textbox();
|
||||||
txtNewEMail.setId("txtNewEMail");
|
txtNewEMail.setId("txtNewEMail");
|
||||||
txtNewEMail.setCols(25);
|
txtNewEMail.setCols(25);
|
||||||
|
@ -209,6 +215,11 @@ public class WResetPassword implements IFormController, EventListener<Event>, Va
|
||||||
row.appendChild(lblRetypeNewPassword.rightAlign());
|
row.appendChild(lblRetypeNewPassword.rightAlign());
|
||||||
row.appendChild(txtRetypeNewPassword);
|
row.appendChild(txtRetypeNewPassword);
|
||||||
|
|
||||||
|
row = new Row();
|
||||||
|
rows.appendChild(row);
|
||||||
|
row.appendChild(new Label());
|
||||||
|
row.appendChild(cbForceChangeNextLogin);
|
||||||
|
|
||||||
row = new Row();
|
row = new Row();
|
||||||
rows.appendChild(row);
|
rows.appendChild(row);
|
||||||
row.appendChild(lblNewEMail.rightAlign());
|
row.appendChild(lblNewEMail.rightAlign());
|
||||||
|
@ -327,6 +338,8 @@ public class WResetPassword implements IFormController, EventListener<Event>, Va
|
||||||
user.setEMailUser(p_NewEMailUser);
|
user.setEMailUser(p_NewEMailUser);
|
||||||
if (!Util.isEmpty(p_NewEMailUserPW))
|
if (!Util.isEmpty(p_NewEMailUserPW))
|
||||||
user.setEMailUserPW(p_NewEMailUserPW);
|
user.setEMailUserPW(p_NewEMailUserPW);
|
||||||
|
if (cbForceChangeNextLogin.isChecked())
|
||||||
|
user.setIsExpired(true);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
user.saveEx();
|
user.saveEx();
|
||||||
|
|
Loading…
Reference in New Issue