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> logic operators := AND or OR with the previous result from left to right <br>
operand := eq{=}, gt{&gt;}, le{&lt;}, not{~^!} <br> operand := eq{=}, gt{&gt;}, le{&lt;}, not{~^!} <br>
Examples: <br> Examples: <br>
@AD_Table_ID@=14 | @Language@!GERGER <br> '||chr(64)||'AD_Table_ID@=14 | @Language@!GERGER <br>
@PriceLimit@>10 | @PriceList@>@PriceActual@<br> '||chr(64)||'PriceLimit@>10 | @PriceList@>@PriceActual@<br>
@Name@>J<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) 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> logic operators := AND or OR with the previous result from left to right <br>
operand := eq{=}, gt{&gt;}, le{&lt;}, not{~^!} <br> operand := eq{=}, gt{&gt;}, le{&lt;}, not{~^!} <br>
Examples: <br> Examples: <br>
@AD_Table_ID@=14 | @Language@!GERGER <br> '||chr(64)||'AD_Table_ID@=14 | @Language@!GERGER <br>
@PriceLimit@>10 | @PriceList@>@PriceActual@<br> '||chr(64)||'PriceLimit@>10 | @PriceList@>@PriceActual@<br>
@Name@>J<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) 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 protected String doIt() throws Exception
{ {
parseParameter();
EmailSrv emailSrv = new EmailSrv(p_IMAPHost, p_IMAPUser, p_IMAPPwd, p_IMAPPort); EmailSrv emailSrv = new EmailSrv(p_IMAPHost, p_IMAPUser, p_IMAPPwd, p_IMAPPort);
checkInputParameter (emailSrv); checkInputParameter (emailSrv);
@ -155,7 +157,7 @@ public class RequestEMailProcessor extends SvrProcess implements ProcessEmailHan
return msgreturn.toString(); return msgreturn.toString();
} // doIt } // doIt
protected void checkInputParameter (EmailSrv emailSrv) throws MessagingException, Exception { protected void parseParameter() {
// === check input parameter === // === check input parameter ===
int portStartIndex = p_IMAPHost.lastIndexOf(":"); int portStartIndex = p_IMAPHost.lastIndexOf(":");
if (portStartIndex > 0){ if (portStartIndex > 0){
@ -169,6 +171,9 @@ public class RequestEMailProcessor extends SvrProcess implements ProcessEmailHan
}else if (p_IMAPHost.startsWith("imap.gmail.com")){ }else if (p_IMAPHost.startsWith("imap.gmail.com")){
p_IMAPPort = 993; p_IMAPPort = 993;
} }
}
protected void checkInputParameter (EmailSrv emailSrv) throws MessagingException, Exception {
if (log.isLoggable(Level.INFO)) log.info("doIt - IMAPHost=" + p_IMAPHost + if (log.isLoggable(Level.INFO)) log.info("doIt - IMAPHost=" + p_IMAPHost +
" IMAPPort=" + p_IMAPPort + " IMAPPort=" + p_IMAPPort +
" IMAPUser=" + p_IMAPUser + " IMAPUser=" + p_IMAPUser +

View File

@ -1851,11 +1851,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); if(lineMAQty.compareTo(Env.ZERO)>0){
if (qtyReturnable == null) lineMAQty = Env.ZERO;
qtyReturnable = Env.ZERO;
if(lineMAQty.compareTo(qtyReturnable)>0){
lineMAQty = qtyReturnable;
} }
MInOutLineMA ma = MInOutLineMA.addOrCreate(line, sMA.getM_AttributeSetInstance_ID(), lineMAQty, sMA.getDateMaterialPolicy(),true); 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 */ /** Log */
private static CLogger s_log = CLogger.getCLogger (MInOutLineMA.class); private static CLogger s_log = CLogger.getCLogger (MInOutLineMA.class);
public static String COLUMNNAME_ReturnedQty ="returnedQty";
/** /**
* Get Material Allocations for Line * Get Material Allocations for Line
* @param ctx context * @param ctx context
@ -237,7 +236,6 @@ public class MInOutLineMA extends X_M_InOutLineMA
while (rs.next()) while (rs.next())
{ {
MInOutLineMA lineMA = new MInOutLineMA(ctx, rs, trxName); MInOutLineMA lineMA = new MInOutLineMA(ctx, rs, trxName);
lineMA.set_Value(COLUMNNAME_ReturnedQty, rs.getBigDecimal(COLUMNNAME_ReturnedQty));
list.add(lineMA); list.add(lineMA);
} }

View File

@ -629,7 +629,7 @@ public class MLookupFactory
String BaseColumn, String BaseTable, int AD_Reference_Value_ID) String BaseColumn, String BaseTable, int AD_Reference_Value_ID)
{ {
String sql = "SELECT t.TableName,ck.ColumnName AS KeyColumn," 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" + "FROM AD_Ref_Table rt"
+ " INNER JOIN AD_Table t ON (rt.AD_Table_ID=t.AD_Table_ID)" + " 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)" + " 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; String KeyColumn, DisplayColumn, TableName, TableNameAlias;
boolean IsTranslated, isValueDisplayed; boolean IsTranslated, isValueDisplayed;
Integer columnDisplay_ID = 0;
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
ResultSet rs = null; ResultSet rs = null;
@ -659,6 +660,7 @@ public class MLookupFactory
DisplayColumn = rs.getString(3); DisplayColumn = rs.getString(3);
isValueDisplayed = rs.getString(4).equals("Y"); isValueDisplayed = rs.getString(4).equals("Y");
IsTranslated = rs.getString(5).equals("Y"); IsTranslated = rs.getString(5).equals("Y");
columnDisplay_ID = rs.getInt(6);
} }
catch (SQLException e) catch (SQLException e)
@ -682,15 +684,26 @@ public class MLookupFactory
} }
StringBuilder embedSQL = new StringBuilder("SELECT "); StringBuilder embedSQL = new StringBuilder("SELECT ");
if (isValueDisplayed)
embedSQL.append(TableNameAlias).append(".Value||'-'||");
MColumn columnDisplay = new MColumn(Env.getCtx(), columnDisplay_ID, null);
boolean translated = false; boolean translated = false;
// Translated // Translated
if (IsTranslated && !Env.isBaseLanguage(language, TableName)) if (IsTranslated && !Env.isBaseLanguage(language, TableName))
{ {
translated = true; 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(TableName).append("_Trl.").append(DisplayColumn);
//
embedSQL.append(" FROM ").append(TableName).append(" ").append(TableNameAlias) embedSQL.append(" FROM ").append(TableName).append(" ").append(TableNameAlias)
.append(" INNER JOIN ").append(TableName).append("_TRL ON (") .append(" INNER JOIN ").append(TableName).append("_TRL ON (")
.append(TableNameAlias).append(".").append(KeyColumn) .append(TableNameAlias).append(".").append(KeyColumn)
@ -701,10 +714,11 @@ public class MLookupFactory
// Not Translated // Not Translated
else else
{ {
if (isValueDisplayed) if (columnDisplay.isVirtualColumn())
embedSQL.append(TableNameAlias).append(".Value||'-'||"); embedSQL.append(columnDisplay.getColumnSQL()).append(" AS ").append(KeyColumn);
else
embedSQL.append(TableNameAlias).append(".").append(DisplayColumn); embedSQL.append(TableNameAlias).append(".").append(DisplayColumn);
//
embedSQL.append(" FROM ").append(TableName).append(" ").append(TableNameAlias); 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(); StringBuilder errors = new StringBuilder();
int processed = 0; 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()) { if (!isUseProductionPlan()) {
MProductionLine[] lines = getLines(); MProductionLine[] lines = getLines();
errors.append(processLines(lines)); errors.append(processLines(lines));
@ -142,6 +148,15 @@ public class MProduction extends X_M_Production implements DocAction {
return DocAction.STATUS_Completed; 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) { private Object processLines(MProductionLine[] lines) {
StringBuilder errors = new StringBuilder(); StringBuilder errors = new StringBuilder();
for ( int i = 0; i<lines.length; i++) { 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 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 ADDRESS_VALIDATION = "ADDRESS_VALIDATION";
public static final String ALERT_SEND_ATTACHMENT_AS_XLS = "ALERT_SEND_ATTACHMENT_AS_XLS"; public static final String ALERT_SEND_ATTACHMENT_AS_XLS = "ALERT_SEND_ATTACHMENT_AS_XLS";
public static final String ALLOCATION_DESCRIPTION = "ALLOCATION_DESCRIPTION"; 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 MAIL_SEND_CREDENTIALS = "MAIL_SEND_CREDENTIALS";
public static final String MAX_ACTIVITIES_IN_LIST = "MAX_ACTIVITIES_IN_LIST"; 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_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 MENU_INFOUPDATER_SLEEP_MS = "MENU_INFOUPDATER_SLEEP_MS";
public static final String MFG_ValidateCostsDifferenceOnCreate = "MFG_ValidateCostsDifferenceOnCreate"; public static final String MFG_ValidateCostsDifferenceOnCreate = "MFG_ValidateCostsDifferenceOnCreate";
public static final String MFG_ValidateCostsOnCreate = "MFG_ValidateCostsOnCreate"; 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="host"><Property name="jetty.host" default="@ADEMPIERE_APPS_SERVER@" /></Set>
<Set name="port"><Property name="ssl.port" default="@ADEMPIERE_SSL_PORT@" /></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="soLingerTime"><Property name="ssl.soLingerTime" default="-1"/></Set>
<Set name="acceptorPriorityDelta"><Property name="ssl.acceptorPriorityDelta" default="0"/></Set> <Set name="acceptorPriorityDelta"><Property name="ssl.acceptorPriorityDelta" default="0"/></Set>
<Set name="selectorPriorityDelta"><Property name="ssl.selectorPriorityDelta" default="0"/></Set> <Set name="selectorPriorityDelta"><Property name="ssl.selectorPriorityDelta" default="0"/></Set>

View File

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

View File

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

View File

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

View File

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

View File

@ -43,6 +43,7 @@ import org.adempiere.webui.util.ZKUpdateUtil;
import org.compiere.model.GridField; import org.compiere.model.GridField;
import org.compiere.model.GridTab; import org.compiere.model.GridTab;
import org.compiere.model.MStyle; import org.compiere.model.MStyle;
import org.compiere.model.MSysConfig;
import org.compiere.model.X_AD_StyleLine; import org.compiere.model.X_AD_StyleLine;
import org.compiere.util.DisplayType; import org.compiere.util.DisplayType;
import org.compiere.util.Env; 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_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 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 GridTab gridTab;
private int windowNo; private int windowNo;
private GridTabDataBinder dataBinder; private GridTabDataBinder dataBinder;
@ -307,6 +308,7 @@ public class GridTabRowRenderer implements RowRenderer<Object[]>, RowRendererExt
*/ */
private void setLabelText(String text, Label label) { private void setLabelText(String text, Label label) {
String display = text; 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) if (text != null && text.length() > MAX_TEXT_LENGTH)
display = text.substring(0, MAX_TEXT_LENGTH - 3) + "..."; display = text.substring(0, MAX_TEXT_LENGTH - 3) + "...";
// since 5.0.8, the org.zkoss.zhtml.Text is encoded by default // since 5.0.8, the org.zkoss.zhtml.Text is encoded by default