Merge release-7.1 into master
This commit is contained in:
commit
b6898a8f99
|
@ -105,7 +105,6 @@ public class MaintainSupportRoles extends SvrProcess {
|
|||
} else if (ACTION_DELETE.equals(p_IsActive)) {
|
||||
if (ur != null) {
|
||||
ur.deleteEx(true);
|
||||
ur.saveEx();
|
||||
cnt++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2271,7 +2271,8 @@ public abstract class PO
|
|||
msg = (val != null ? val + ": " : "") + err.getName();
|
||||
if (msg == null || msg.length() == 0)
|
||||
msg = "SaveError";
|
||||
throw new AdempiereException(msg);
|
||||
Exception ex = CLogger.retrieveException();
|
||||
throw new AdempiereException(msg, ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3563,7 +3564,8 @@ public abstract class PO
|
|||
msg = err.getName();
|
||||
if (msg == null || msg.length() == 0)
|
||||
msg = "DeleteError";
|
||||
throw new AdempiereException(msg);
|
||||
Exception ex = CLogger.retrieveException();
|
||||
throw new AdempiereException(msg, ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4846,7 +4848,7 @@ public abstract class PO
|
|||
if ("DBExecuteError".equals(msg))
|
||||
info = "DBExecuteError:" + info;
|
||||
// Unique Constraint
|
||||
Exception e = CLogger.retrieveException();
|
||||
Exception e = CLogger.peekException();
|
||||
if (DBException.isUniqueContraintError(e))
|
||||
{
|
||||
boolean found = false;
|
||||
|
|
|
@ -199,7 +199,7 @@ public class CLogger extends Logger
|
|||
{
|
||||
ValueNamePair vp = (ValueNamePair) Env.getCtx().get(LAST_ERROR);
|
||||
return vp;
|
||||
} // retrieveError
|
||||
} // peekError
|
||||
|
||||
/**
|
||||
* Get Error message from stack
|
||||
|
@ -225,6 +225,16 @@ public class CLogger extends Logger
|
|||
return ex;
|
||||
} // retrieveError
|
||||
|
||||
/**
|
||||
* Peek Exception from Stack
|
||||
* @return last exception
|
||||
*/
|
||||
public static Exception peekException()
|
||||
{
|
||||
Exception ex = (Exception) Env.getCtx().get(LAST_EXCEPTION);
|
||||
return ex;
|
||||
} // peekException
|
||||
|
||||
/**
|
||||
* Save Warning as ValueNamePair.
|
||||
* @param AD_Message message key
|
||||
|
|
|
@ -1665,14 +1665,25 @@ public final class Env
|
|||
else
|
||||
tableName = foreignTable;
|
||||
MTable table = MTable.get(ctx, tableName);
|
||||
if (table != null && (tableName.equalsIgnoreCase(foreignTable) || tableName.equalsIgnoreCase(po.get_TableName()))) {
|
||||
String keyCol = tableName + "_ID";
|
||||
boolean isSubTypeTable = false;
|
||||
if (! Util.isEmpty(foreignTable) && ! tableName.equalsIgnoreCase(foreignTable)) {
|
||||
// verify if is a subtype table
|
||||
if ( table.getKeyColumns() != null
|
||||
&& table.getKeyColumns().length == 1
|
||||
&& table.getKeyColumns()[0].equals(foreignTable + "_ID")) {
|
||||
isSubTypeTable = true;
|
||||
keyCol = foreignTable + "_ID";
|
||||
}
|
||||
}
|
||||
if (table != null && (isSubTypeTable || tableName.equalsIgnoreCase(foreignTable) || tableName.equalsIgnoreCase(po.get_TableName()))) {
|
||||
String columnName = tblIndex > 0 ? format.substring(tblIndex + 1) : format;
|
||||
MColumn column = table.getColumn(columnName);
|
||||
if (column != null) {
|
||||
if (column.isSecure()) {
|
||||
outStr.append("********");
|
||||
} else {
|
||||
String value = DB.getSQLValueString(trxName,"SELECT " + columnName + " FROM " + tableName + " WHERE " + tableName + "_ID = ?", (Integer)v);
|
||||
String value = DB.getSQLValueString(trxName,"SELECT " + columnName + " FROM " + tableName + " WHERE " + keyCol + "=?", (Integer)v);
|
||||
if (value != null)
|
||||
outStr.append(value);
|
||||
}
|
||||
|
|
|
@ -58,6 +58,7 @@ import org.adempiere.webui.component.Panel;
|
|||
import org.adempiere.webui.component.Row;
|
||||
import org.adempiere.webui.component.Rows;
|
||||
import org.adempiere.webui.component.Tabpanel;
|
||||
import org.adempiere.webui.component.Textbox;
|
||||
import org.adempiere.webui.component.ToolBar;
|
||||
import org.adempiere.webui.component.ToolBarButton;
|
||||
import org.adempiere.webui.component.Window;
|
||||
|
@ -716,11 +717,6 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
|||
GridField mField = m_findFields[i];
|
||||
boolean isDisplayed = mField.isDisplayed();
|
||||
|
||||
if (DisplayType.isText(mField.getVO().displayType)) {
|
||||
// for string fields allow searching long strings - useful for like and similar to searches
|
||||
mField.getVO().FieldLength = 32767; // a conservative max literal string - like oracle extended
|
||||
mField.getVO().DisplayLength = mField.getVO().FieldLength;
|
||||
}
|
||||
if (mField.getVO().displayType == DisplayType.YesNo || mField.isEncrypted() || mField.isEncryptedColumn()) {
|
||||
// Make Yes-No searchable as list
|
||||
GridFieldVO vo = mField.getVO();
|
||||
|
@ -1191,7 +1187,8 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
|||
editor.addValueChangeListener(this);
|
||||
Label label = editor.getLabel();
|
||||
Component fieldEditor = editor.getComponent();
|
||||
//Fix miss lable of checkbox
|
||||
setLengthStringField(mField, fieldEditor);
|
||||
//Fix miss label of checkbox
|
||||
label.setValue(mField.getHeader());
|
||||
//
|
||||
if (displayLength > 0) // set it back
|
||||
|
@ -1256,6 +1253,13 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
|||
return true;
|
||||
} // addSelectionColumn
|
||||
|
||||
private void setLengthStringField(GridField field, Component fieldEditor) {
|
||||
if (DisplayType.isText(field.getVO().displayType) && fieldEditor instanceof Textbox) {
|
||||
// for string fields allow searching long strings - useful for like and similar to searches
|
||||
((Textbox) fieldEditor).setMaxlength(32767); // a conservative max literal string - like oracle extended
|
||||
}
|
||||
}
|
||||
|
||||
public void onEvent(Event event) throws Exception
|
||||
{
|
||||
m_createNew = false;
|
||||
|
@ -2191,6 +2195,7 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
|||
editor = new WStringEditor(findField);
|
||||
findField.addPropertyChangeListener(editor);
|
||||
}
|
||||
setLengthStringField(findField, editor.getComponent());
|
||||
|
||||
editor.addValueChangeListener(this);
|
||||
editor.setValue(null);
|
||||
|
|
|
@ -273,7 +273,11 @@ public class WTextEditorDialog extends Window implements EventListener<Event>{
|
|||
.and(Sanitizers.LINKS)
|
||||
.and(Sanitizers.STYLES)
|
||||
.and(Sanitizers.TABLES);
|
||||
return policy.sanitize(untrustedHTML);
|
||||
}
|
||||
|
||||
String ret = policy.sanitize(untrustedHTML);
|
||||
ret = ret.replaceAll("#", "#");
|
||||
ret = ret.replaceAll("@", "@");
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue