IDEMPIERE-1703 improve search panel / peer review
This commit is contained in:
parent
1ff8e68438
commit
72e7e21d28
|
@ -45,6 +45,11 @@ import org.compiere.util.ValueNamePair;
|
|||
*/
|
||||
public class MQuery implements Serializable
|
||||
{
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 481623650333512326L;
|
||||
|
||||
/**
|
||||
* Get Query from Parameter
|
||||
* @param ctx context (to determine language)
|
||||
|
@ -357,9 +362,6 @@ public class MQuery implements Serializable
|
|||
m_TableName = MTable.getTableName (Env.getCtx(), AD_Table_ID);
|
||||
} // MQuery
|
||||
|
||||
/** Serialization Info **/
|
||||
private static final long serialVersionUID = 4883859385509199306L;
|
||||
|
||||
/** Table Name */
|
||||
private String m_TableName = "";
|
||||
/** PInstance */
|
||||
|
@ -448,6 +450,11 @@ public class MQuery implements Serializable
|
|||
new ValueNamePair (NULL, " NULL "),
|
||||
new ValueNamePair (NOT_NULL, " !NULL ")
|
||||
};
|
||||
/** Operators for encrypted fields */
|
||||
public static final ValueNamePair[] OPERATORS_ENCRYPTED = new ValueNamePair[] {
|
||||
new ValueNamePair (NULL, " NULL "),
|
||||
new ValueNamePair (NOT_NULL, " !NULL ")
|
||||
};
|
||||
|
||||
/** Operators for Numbers, Dates, Integers */
|
||||
public static final ValueNamePair[] OPERATORS_NUMBERS = new ValueNamePair[] {
|
||||
|
|
|
@ -675,7 +675,7 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
|||
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()) {
|
||||
if (mField.getVO().displayType == DisplayType.YesNo || mField.isEncrypted() || mField.isEncryptedColumn()) {
|
||||
// Make Yes-No searchable as list
|
||||
GridFieldVO vo = mField.getVO();
|
||||
GridFieldVO ynvo = vo.clone(m_simpleCtx, vo.WindowNo, vo.TabNo, vo.AD_Window_ID, vo.AD_Tab_ID, vo.tabReadOnly);
|
||||
|
@ -1965,12 +1965,19 @@ public class FindWindow extends Window implements EventListener<Event>, ValueCha
|
|||
{
|
||||
String columnName = column.getValue().toString();
|
||||
int referenceType = -1;
|
||||
boolean isEncrypted = false;
|
||||
if (columnName != null) {
|
||||
MTable table = MTable.get(Env.getCtx(), m_tableName);
|
||||
MColumn col = table.getColumn(columnName);
|
||||
referenceType = col.getAD_Reference_ID();
|
||||
GridField field = getTargetMField(columnName);
|
||||
isEncrypted = (col.isEncrypted() || field.isEncrypted());
|
||||
}
|
||||
if (DisplayType.isLookup(referenceType)
|
||||
if (isEncrypted)
|
||||
{
|
||||
addOperators(MQuery.OPERATORS_ENCRYPTED, listOperator);
|
||||
}
|
||||
else if (DisplayType.isLookup(referenceType)
|
||||
|| DisplayType.YesNo == referenceType
|
||||
|| DisplayType.Button == referenceType)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue