hg merge release-3.1 (merge release3.1 into development)

This commit is contained in:
Carlos Ruiz 2016-05-30 23:39:12 -05:00
commit 9f716046f3
15 changed files with 169 additions and 89 deletions

View File

@ -157,9 +157,9 @@ value := strings or numbers<br>
logic operators := AND or OR with the previous result from left to right <br>
operand := eq{=}, gt{&gt;}, le{&lt;}, not{~^!} <br>
Examples: <br>
@AD_Table_ID@=14 | @Language@!GERGER <br>
@PriceLimit@>10 | @PriceList@>@PriceActual@<br>
@Name@>J<br>
'||chr(64)||'AD_Table_ID@=14 | @Language@!GERGER <br>
'||chr(64)||'PriceLimit@>10 | @PriceList@>@PriceActual@<br>
'||chr(64)||'Name@>J<br>
Strings may be in single quotes (optional)','Display Logic','Y','Y',100,100,'N','N',0,0,TO_DATE('2016-05-05 17:22:49','YYYY-MM-DD HH24:MI:SS'),'D','N','N',283,14,200208)
;
@ -303,9 +303,9 @@ value := strings or numbers<br>
logic operators := AND or OR with the previous result from left to right <br>
operand := eq{=}, gt{&gt;}, le{&lt;}, not{~^!} <br>
Examples: <br>
@AD_Table_ID@=14 | @Language@!GERGER <br>
@PriceLimit@>10 | @PriceList@>@PriceActual@<br>
@Name@>J<br>
'||chr(64)||'AD_Table_ID@=14 | @Language@!GERGER <br>
'||chr(64)||'PriceLimit@>10 | @PriceList@>@PriceActual@<br>
'||chr(64)||'Name@>J<br>
Strings may be in single quotes (optional)',0,TO_DATE('2016-05-05 17:50:50','YYYY-MM-DD HH24:MI:SS'),'If the Field is displayed, the result determines if the field is actually displayed','Display Logic','7deca1bb-f53f-4585-ad4c-92ed64a9f73e','Y','N',100,100,'Y',0,TO_DATE('2016-05-05 17:50:50','YYYY-MM-DD HH24:MI:SS'),5,3,212749,'D',200214)
;

View File

@ -0,0 +1,11 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- IDEMPIERE-3073 improve set of max text lenght on grid panel
-- May 23, 2016 5:02:39 PM CEST
INSERT INTO AD_SysConfig (AD_SysConfig_ID,AD_Client_ID,AD_Org_ID,Created,Updated,CreatedBy,UpdatedBy,IsActive,Name,Value,Description,EntityType,ConfigurationLevel,AD_SysConfig_UU) VALUES (200077,0,0,TO_DATE('2016-05-23 17:02:39','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2016-05-23 17:02:39','YYYY-MM-DD HH24:MI:SS'),100,100,'Y','MAX_TEXT_LENGTH_ON_GRID_VIEW','60','Max length of a text in grid view after wihich it is cut off (IDEMPIERE-3073)','D','C','092aeedc-22d9-4a70-9c90-d27aa68d47e7')
;
SELECT register_migration_script('20160523170239_IDEMPIERE-3073.sql') FROM dual
;

View File

@ -0,0 +1,8 @@
-- IDEMPIERE-3073 improve set of max text lenght on grid panel
-- May 23, 2016 5:02:39 PM CEST
INSERT INTO AD_SysConfig (AD_SysConfig_ID,AD_Client_ID,AD_Org_ID,Created,Updated,CreatedBy,UpdatedBy,IsActive,Name,Value,Description,EntityType,ConfigurationLevel,AD_SysConfig_UU) VALUES (200077,0,0,TO_TIMESTAMP('2016-05-23 17:02:39','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2016-05-23 17:02:39','YYYY-MM-DD HH24:MI:SS'),100,100,'Y','MAX_TEXT_LENGTH_ON_GRID_VIEW','60','Max length of a text in grid view after wihich it is cut off (IDEMPIERE-3073)','D','C','092aeedc-22d9-4a70-9c90-d27aa68d47e7')
;
SELECT register_migration_script('20160523170239_IDEMPIERE-3073.sql') FROM dual
;

View File

@ -143,6 +143,8 @@ public class RequestEMailProcessor extends SvrProcess implements ProcessEmailHan
*/
protected String doIt() throws Exception
{
parseParameter();
EmailSrv emailSrv = new EmailSrv(p_IMAPHost, p_IMAPUser, p_IMAPPwd, p_IMAPPort);
checkInputParameter (emailSrv);
@ -155,7 +157,7 @@ public class RequestEMailProcessor extends SvrProcess implements ProcessEmailHan
return msgreturn.toString();
} // doIt
protected void checkInputParameter (EmailSrv emailSrv) throws MessagingException, Exception {
protected void parseParameter() {
// === check input parameter ===
int portStartIndex = p_IMAPHost.lastIndexOf(":");
if (portStartIndex > 0){
@ -169,6 +171,9 @@ public class RequestEMailProcessor extends SvrProcess implements ProcessEmailHan
}else if (p_IMAPHost.startsWith("imap.gmail.com")){
p_IMAPPort = 993;
}
}
protected void checkInputParameter (EmailSrv emailSrv) throws MessagingException, Exception {
if (log.isLoggable(Level.INFO)) log.info("doIt - IMAPHost=" + p_IMAPHost +
" IMAPPort=" + p_IMAPPort +
" IMAPUser=" + p_IMAPUser +

View File

@ -1851,11 +1851,8 @@ public class MInOut extends X_M_InOut implements DocAction
for(MInOutLineMA sMA : shipmentMAS){
BigDecimal lineMAQty = qtyToReturn;
BigDecimal qtyReturnable = (BigDecimal)sMA.get_Value(MInOutLineMA.COLUMNNAME_ReturnedQty);
if (qtyReturnable == null)
qtyReturnable = Env.ZERO;
if(lineMAQty.compareTo(qtyReturnable)>0){
lineMAQty = qtyReturnable;
if(lineMAQty.compareTo(Env.ZERO)>0){
lineMAQty = Env.ZERO;
}
MInOutLineMA ma = MInOutLineMA.addOrCreate(line, sMA.getM_AttributeSetInstance_ID(), lineMAQty, sMA.getDateMaterialPolicy(),true);

View File

@ -43,12 +43,11 @@ public class MInOutLineMA extends X_M_InOutLineMA
/**
*
*/
private static final long serialVersionUID = -4131812777103744727L;
private static final long serialVersionUID = -2610075295914545809L;
/** Log */
private static CLogger s_log = CLogger.getCLogger (MInOutLineMA.class);
public static String COLUMNNAME_ReturnedQty ="returnedQty";
/**
* Get Material Allocations for Line
* @param ctx context
@ -237,7 +236,6 @@ public class MInOutLineMA extends X_M_InOutLineMA
while (rs.next())
{
MInOutLineMA lineMA = new MInOutLineMA(ctx, rs, trxName);
lineMA.set_Value(COLUMNNAME_ReturnedQty, rs.getBigDecimal(COLUMNNAME_ReturnedQty));
list.add(lineMA);
}

View File

@ -629,7 +629,7 @@ public class MLookupFactory
String BaseColumn, String BaseTable, int AD_Reference_Value_ID)
{
String sql = "SELECT t.TableName,ck.ColumnName AS KeyColumn,"
+ "cd.ColumnName AS DisplayColumn,rt.isValueDisplayed,cd.IsTranslated "
+ "cd.ColumnName AS DisplayColumn,rt.isValueDisplayed,cd.IsTranslated, cd.AD_Column_ID AS columnDisplay_ID "
+ "FROM AD_Ref_Table rt"
+ " INNER JOIN AD_Table t ON (rt.AD_Table_ID=t.AD_Table_ID)"
+ " INNER JOIN AD_Column ck ON (rt.AD_Key=ck.AD_Column_ID)"
@ -639,6 +639,7 @@ public class MLookupFactory
//
String KeyColumn, DisplayColumn, TableName, TableNameAlias;
boolean IsTranslated, isValueDisplayed;
Integer columnDisplay_ID = 0;
PreparedStatement pstmt = null;
ResultSet rs = null;
@ -659,6 +660,7 @@ public class MLookupFactory
DisplayColumn = rs.getString(3);
isValueDisplayed = rs.getString(4).equals("Y");
IsTranslated = rs.getString(5).equals("Y");
columnDisplay_ID = rs.getInt(6);
}
catch (SQLException e)
@ -682,15 +684,26 @@ public class MLookupFactory
}
StringBuilder embedSQL = new StringBuilder("SELECT ");
if (isValueDisplayed)
embedSQL.append(TableNameAlias).append(".Value||'-'||");
MColumn columnDisplay = new MColumn(Env.getCtx(), columnDisplay_ID, null);
boolean translated = false;
// Translated
if (IsTranslated && !Env.isBaseLanguage(language, TableName))
{
translated = true;
if (isValueDisplayed)
embedSQL.append(TableNameAlias).append(".Value||'-'||");
if (columnDisplay.isVirtualColumn())
{
s_log.warning("Column SQL should not be Translated");
return null;
}
else
embedSQL.append(TableName).append("_Trl.").append(DisplayColumn);
//
embedSQL.append(" FROM ").append(TableName).append(" ").append(TableNameAlias)
.append(" INNER JOIN ").append(TableName).append("_TRL ON (")
.append(TableNameAlias).append(".").append(KeyColumn)
@ -701,10 +714,11 @@ public class MLookupFactory
// Not Translated
else
{
if (isValueDisplayed)
embedSQL.append(TableNameAlias).append(".Value||'-'||");
if (columnDisplay.isVirtualColumn())
embedSQL.append(columnDisplay.getColumnSQL()).append(" AS ").append(KeyColumn);
else
embedSQL.append(TableNameAlias).append(".").append(DisplayColumn);
//
embedSQL.append(" FROM ").append(TableName).append(" ").append(TableNameAlias);
}

View File

@ -102,7 +102,13 @@ public class MProduction extends X_M_Production implements DocAction {
StringBuilder errors = new StringBuilder();
int processed = 0;
//IDEMPIERE-3107 Check if End Product in Production Lines exist
if(!isHaveEndProduct(getLines())) {
m_processMsg = "Production does not contain End Product";
return DocAction.STATUS_Invalid;
}
if (!isUseProductionPlan()) {
MProductionLine[] lines = getLines();
errors.append(processLines(lines));
@ -142,6 +148,15 @@ public class MProduction extends X_M_Production implements DocAction {
return DocAction.STATUS_Completed;
}
private boolean isHaveEndProduct(MProductionLine[] lines) {
for(MProductionLine line : lines) {
if(line.isEndProduct())
return true;
}
return false;
}
private Object processLines(MProductionLine[] lines) {
StringBuilder errors = new StringBuilder();
for ( int i = 0; i<lines.length; i++) {

View File

@ -39,11 +39,12 @@ import org.compiere.util.DisplayType;
*/
public class MSysConfig extends X_AD_SysConfig
{
/**
*
*/
private static final long serialVersionUID = 5139119853639605887L;
private static final long serialVersionUID = -2568590773996678544L;
public static final String ADDRESS_VALIDATION = "ADDRESS_VALIDATION";
public static final String ALERT_SEND_ATTACHMENT_AS_XLS = "ALERT_SEND_ATTACHMENT_AS_XLS";
public static final String ALLOCATION_DESCRIPTION = "ALLOCATION_DESCRIPTION";
@ -100,6 +101,7 @@ public class MSysConfig extends X_AD_SysConfig
public static final String MAIL_SEND_CREDENTIALS = "MAIL_SEND_CREDENTIALS";
public static final String MAX_ACTIVITIES_IN_LIST = "MAX_ACTIVITIES_IN_LIST";
public static final String MAX_RESULTS_PER_SEARCH_IN_DOCUMENT_CONTROLLER = "MAX_RESULTS_PER_SEARCH_IN_DOCUMENT_CONTROLLER";
public static final String MAX_TEXT_LENGTH_ON_GRID_VIEW = "MAX_TEXT_LENGTH_ON_GRID_VIEW";
public static final String MENU_INFOUPDATER_SLEEP_MS = "MENU_INFOUPDATER_SLEEP_MS";
public static final String MFG_ValidateCostsDifferenceOnCreate = "MFG_ValidateCostsDifferenceOnCreate";
public static final String MFG_ValidateCostsOnCreate = "MFG_ValidateCostsOnCreate";

View File

@ -24,7 +24,7 @@
<Set name="host"><Property name="jetty.host" default="@ADEMPIERE_APPS_SERVER@" /></Set>
<Set name="port"><Property name="ssl.port" default="@ADEMPIERE_SSL_PORT@" /></Set>
<Set name="idleTimeout"><Property name="ssl.timeout" default="30000"/></Set>
<Set name="idleTimeout"><Property name="ssl.timeout" default="300000"/></Set>
<Set name="soLingerTime"><Property name="ssl.soLingerTime" default="-1"/></Set>
<Set name="acceptorPriorityDelta"><Property name="ssl.acceptorPriorityDelta" default="0"/></Set>
<Set name="selectorPriorityDelta"><Property name="ssl.selectorPriorityDelta" default="0"/></Set>

View File

@ -618,23 +618,30 @@ stop () {
fi
echo -n "Stopping iDempiere ERP: "
cd $IDEMPIERE_HOME/utils
log_warning_msg "Trying direct kill with signal -15"
# try direct kill with signal 15, then signal 9
kill -15 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
# try shutdown from OSGi console, then direct kill with signal 15, then signal 9
log_warning_msg "Trying shutdown from OSGi console"
( echo exit; echo y; sleep 5 ) | telnet localhost 12612 > /dev/null 2>&1
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
log_success_msg "Service stopped with kill -15"
log_success_msg "Service stopped with OSGi shutdown"
else
echo "Trying direct kill with signal -9"
kill -9 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
log_success_msg "Service stopped with kill -9"
else
log_warning_msg "Service hasn't stopped"
fi
log_warning_msg "Trying direct kill with signal -15"
kill -15 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
log_success_msg "Service stopped with kill -15"
else
echo "Trying direct kill with signal -9"
kill -9 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
log_success_msg "Service stopped with kill -9"
else
log_warning_msg "Service hasn't stopped"
fi
fi
fi
return $RETVAL
}

View File

@ -87,24 +87,31 @@ stop () {
fi
echo -n "Stopping iDempiere ERP: "
cd $IDEMPIERE_HOME/utils
. $ENVFILE
log_warning_msg "Trying direct kill with signal -15"
# try direct kill with signal 15, then signal 9
kill -15 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
. $ENVFILE
# try shutdown from OSGi console, then direct kill with signal 15, then signal 9
log_warning_msg "Trying shutdown from OSGi console"
( echo exit; echo y; sleep 5 ) | telnet localhost 12612 > /dev/null 2>&1
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
log_success_msg "Service stopped with kill -15"
log_success_msg "Service stopped with OSGi shutdown"
else
echo "Trying direct kill with signal -9"
kill -9 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
log_success_msg "Service stopped with kill -9"
else
log_warning_msg "Service hasn't stopped"
fi
log_warning_msg "Trying direct kill with signal -15"
kill -15 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
log_success_msg "Service stopped with kill -15"
else
echo "Trying direct kill with signal -9"
kill -9 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
log_success_msg "Service stopped with kill -9"
else
log_warning_msg "Service hasn't stopped"
fi
fi
fi
return $RETVAL
}

View File

@ -83,24 +83,31 @@ stop () {
fi
echo -n "Stopping iDempiere ERP: "
cd $IDEMPIERE_HOME/utils
source $ENVFILE
echo "Trying direct kill with signal -15"
# iDempiere didn't finish - try direct kill with signal 15, then signal 9
kill -15 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
source $ENVFILE
# try shutdown from OSGi console, then direct kill with signal 15, then signal 9
log_warning_msg "Trying shutdown from OSGi console"
( echo exit; echo y; sleep 5 ) | telnet localhost 12612 > /dev/null 2>&1
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
echo_success
echo_success
else
echo "Trying direct kill with signal -9"
kill -9 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
echo_success
else
echo_warning
fi
log_warning_msg "Trying direct kill with signal -15"
kill -15 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
echo_success
else
echo "Trying direct kill with signal -9"
kill -9 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
echo_success
else
echo_warning
fi
fi
fi
RETVAL=$?
return $RETVAL

View File

@ -114,25 +114,32 @@ stop () {
fi
echo -n "Stopping iDempiere ERP: "
cd $IDEMPIERE_HOME/utils
. $ENVFILE
echo "Trying direct kill with signal -15"
# try direct kill with signal 15, then signal 9
kill -15 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
. $ENVFILE
# try shutdown from OSGi console, then direct kill with signal 15, then signal 9
log_warning_msg "Trying shutdown from OSGi console"
( echo exit; echo y; sleep 5 ) | telnet localhost 12612 > /dev/null 2>&1
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
echo "Service stopped with kill -15"
echo "Service stopped with OSGi shutdown"
else
echo "Trying direct kill with signal -9"
kill -9 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
echo "Service stopped with kill -9"
else
echo "Service hasn't stopped"
rc_failed 1
fi
echo "Trying direct kill with signal -15"
kill -15 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
echo "Service stopped with kill -15"
else
echo "Trying direct kill with signal -9"
kill -9 -`ps ax o pgid,command | grep -v grep | grep $IDEMPIERE_HOME | sed -e 's/^ *//g' | cut -f 1 -d " " | sort -u`
sleep 5
getidempierestatus
if [ $IDEMPIERESTATUS -ne 0 ] ; then
echo "Service stopped with kill -9"
else
echo "Service hasn't stopped"
rc_failed 1
fi
fi
fi
rc_status -v
}

View File

@ -43,6 +43,7 @@ import org.adempiere.webui.util.ZKUpdateUtil;
import org.compiere.model.GridField;
import org.compiere.model.GridTab;
import org.compiere.model.MStyle;
import org.compiere.model.MSysConfig;
import org.compiere.model.X_AD_StyleLine;
import org.compiere.util.DisplayType;
import org.compiere.util.Env;
@ -83,7 +84,7 @@ public class GridTabRowRenderer implements RowRenderer<Object[]>, RowRendererExt
private static final String CELL_DIV_STYLE_ALIGN_CENTER = CELL_DIV_STYLE + "text-align:center; ";
private static final String CELL_DIV_STYLE_ALIGN_RIGHT = CELL_DIV_STYLE + "text-align:right; ";
private static final int MAX_TEXT_LENGTH = 60;
private static final int MAX_TEXT_LENGTH_DEFAULT = 60;
private GridTab gridTab;
private int windowNo;
private GridTabDataBinder dataBinder;
@ -307,6 +308,7 @@ public class GridTabRowRenderer implements RowRenderer<Object[]>, RowRendererExt
*/
private void setLabelText(String text, Label label) {
String display = text;
final int MAX_TEXT_LENGTH = MSysConfig.getIntValue(MSysConfig.MAX_TEXT_LENGTH_ON_GRID_VIEW,MAX_TEXT_LENGTH_DEFAULT,Env.getAD_Client_ID(Env.getCtx()));
if (text != null && text.length() > MAX_TEXT_LENGTH)
display = text.substring(0, MAX_TEXT_LENGTH - 3) + "...";
// since 5.0.8, the org.zkoss.zhtml.Text is encoded by default