From 21f022f2af8fdcc4edd8a28b33d35a6e6e7ad47f Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 8 Oct 2021 10:53:24 +0200 Subject: [PATCH] IDEMPIERE-4990 Inconsistent product attribute order (#912) --- .../webui/info/WInfoPAttributeEditor.java | 5 ++++- .../webui/panel/InfoPAttributePanel.java | 20 ++++++++++--------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/WInfoPAttributeEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/WInfoPAttributeEditor.java index 7bfac16ad6..49ed7578bc 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/WInfoPAttributeEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/WInfoPAttributeEditor.java @@ -46,7 +46,10 @@ public class WInfoPAttributeEditor extends WEditor implements IWhereClauseEditor this.ctx = ctx; this.windowNo = windowNo; getComponent().addEventListener(Events.ON_CLICK, this); - getComponent().setImage(ThemeManager.getThemeResource("images/PAttribute16.png")); + if (ThemeManager.isUseFontIconForImage()) + getComponent().setIconSclass("z-icon-PAttribute"); + else + getComponent().setImage(ThemeManager.getThemeResource("images/PAttribute16.png")); getComponent().setTooltiptext(Msg.getMsg(Env.getCtx(), "PAttribute")); setReadWrite(false); } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPAttributePanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPAttributePanel.java index 510cacdddd..2c4a864c2e 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPAttributePanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPAttributePanel.java @@ -232,18 +232,20 @@ public class InfoPAttributePanel extends Window implements EventListener { PreparedStatement pstmt = null; ResultSet rs = null; - String whereAttributeSet; + String joinAttributeSet; if (p_M_AttributeSet_ID > 0) - whereAttributeSet = "AND M_Attribute_ID IN (SELECT M_Attribute_ID FROM M_AttributeUse WHERE M_AttributeSet_ID="+p_M_AttributeSet_ID+")"; + joinAttributeSet = "JOIN M_AttributeUse mau ON (a.M_Attribute_ID = mau.M_Attribute_ID AND mau.M_AttributeSet_ID="+p_M_AttributeSet_ID+")"; else - whereAttributeSet = ""; + joinAttributeSet = ""; String sql = MRole.getDefault().addAccessSQL( - "SELECT M_Attribute_ID, Name, Description, AttributeValueType, IsInstanceAttribute " - + "FROM M_Attribute " - + "WHERE IsActive='Y' " - + whereAttributeSet - + " ORDER BY IsInstanceAttribute, Name", - "M_Attribute", MRole.SQL_NOTQUALIFIED, MRole.SQL_RO); + "SELECT a.M_Attribute_ID, a.Name, a.Description, a.AttributeValueType, a.IsInstanceAttribute " + + "FROM M_Attribute a " + + joinAttributeSet + + " WHERE a.IsActive='Y' " + + " ORDER BY " + + (p_M_AttributeSet_ID > 0 ? "mau.SeqNo, " : "") + + "a.IsInstanceAttribute, a.Name", + "a", MRole.SQL_FULLYQUALIFIED, MRole.SQL_RO); boolean instanceLine = false; try {