details:   /erp/devel/pi/rev/fa2d62c2d918
changeset: 6506:fa2d62c2d918
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Fri Feb 26 10:00:14 2010 +0100
summary:   fixed issue 12481: Sortable drop down list

diffstat:

 src-db/database/model/tables/AD_REF_LIST.xml            |   4 ++
 src-db/database/model/triggers/AD_REF_LIST_MOD_TRG.xml  |   4 +-
 src-db/database/sourcedata/AD_COLUMN.xml                |  31 ++++++++++++++++
 src-db/database/sourcedata/AD_FIELD.xml                 |  32 +++++++++++++++-
 src/org/openbravo/erpCommon/utility/ComboTableData.java |   7 ++-
 5 files changed, 70 insertions(+), 8 deletions(-)

diffs (170 lines):

diff -r e3ea620ab5cb -r fa2d62c2d918 
src-db/database/model/tables/AD_REF_LIST.xml
--- a/src-db/database/model/tables/AD_REF_LIST.xml      Fri Feb 26 10:52:34 
2010 +0530
+++ b/src-db/database/model/tables/AD_REF_LIST.xml      Fri Feb 26 10:00:14 
2010 +0100
@@ -61,6 +61,10 @@
         <default><![CDATA[0]]></default>
         <onCreateDefault><![CDATA[SELECT AD_MODULE_ID FROM AD_MODULE WHERE 
AD_MODULE_ID<>'0' AND TYPE='M']]></onCreateDefault>
       </column>
+      <column name="SEQNO" primaryKey="false" required="false" type="DECIMAL" 
size="10,0" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
       <foreign-key foreignTable="AD_MODULE" name="AD_REF_LIST_AD_MODULE">
         <reference local="AD_MODULE_ID" foreign="AD_MODULE_ID"/>
       </foreign-key>
diff -r e3ea620ab5cb -r fa2d62c2d918 
src-db/database/model/triggers/AD_REF_LIST_MOD_TRG.xml
--- a/src-db/database/model/triggers/AD_REF_LIST_MOD_TRG.xml    Fri Feb 26 
10:52:34 2010 +0530
+++ b/src-db/database/model/triggers/AD_REF_LIST_MOD_TRG.xml    Fri Feb 26 
10:00:14 2010 +0100
@@ -15,7 +15,7 @@
 * under the License.
 * The Original Code is Openbravo ERP.
 * The Initial Developer of the Original Code is Openbravo SL
-* All portions are Copyright (C) 2008-2009 Openbravo SL
+* All portions are Copyright (C) 2008-2010 Openbravo SL
 * All Rights Reserved.
 * Contributor(s):  ______________________________________.
 ************************************************************************/
@@ -71,7 +71,7 @@
         COALESCE(:NEW.AD_Reference_ID , '.') != COALESCE(:OLD.AD_Reference_ID 
, '.') OR
         COALESCE(:NEW.ValidFrom , TO_DATE('01-01-1900', 'DD-MM-YYYY')) != 
COALESCE(:OLD.ValidFrom , TO_DATE('01-01-1900', 'DD-MM-YYYY')) OR
         COALESCE(:NEW.ValidTo , TO_DATE('01-01-1900', 'DD-MM-YYYY')) != 
COALESCE(:OLD.ValidTo , TO_DATE('01-01-1900', 'DD-MM-YYYY')) OR
-        1=2) THEN
+        COALESCE(:NEW.SeqNo, -1) != COALESCE(:OLD.SeqNo, -1)) THEN
       RAISE_APPLICATION_ERROR(-20532, 'Cannot update an object in a module not 
in developement and without an active template');
     END IF;
   END IF;
diff -r e3ea620ab5cb -r fa2d62c2d918 src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml  Fri Feb 26 10:52:34 2010 +0530
+++ b/src-db/database/sourcedata/AD_COLUMN.xml  Fri Feb 26 10:00:14 2010 +0100
@@ -274889,6 +274889,37 @@
 <!--7FDC7A18D86783EAE040007F01012E08-->  
<ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
 <!--7FDC7A18D86783EAE040007F01012E08--></AD_COLUMN>
 
+<!--807CAEE23A0AE8F1E040007F01013A3C--><AD_COLUMN>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<AD_COLUMN_ID><![CDATA[807CAEE23A0AE8F1E040007F01013A3C]]></AD_COLUMN_ID>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  <NAME><![CDATA[Sequence 
Number]]></NAME>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  <DESCRIPTION><![CDATA[The order of 
records in a specified document.]]></DESCRIPTION>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  <HELP><![CDATA[The Sequence indicates 
the order of records]]></HELP>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<COLUMNNAME><![CDATA[Seqno]]></COLUMNNAME>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<AD_TABLE_ID><![CDATA[104]]></AD_TABLE_ID>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<AD_REFERENCE_ID><![CDATA[11]]></AD_REFERENCE_ID>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<FIELDLENGTH><![CDATA[10]]></FIELDLENGTH>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  <SEQNO><![CDATA[21]]></SEQNO>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<AD_ELEMENT_ID><![CDATA[566]]></AD_ELEMENT_ID>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  <POSITION><![CDATA[16]]></POSITION>
+<!--807CAEE23A0AE8F1E040007F01013A3C-->  
<ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--807CAEE23A0AE8F1E040007F01013A3C--></AD_COLUMN>
+
 <!--80F1BCD61F0F11DE8BE5DF56446CB1D8--><AD_COLUMN>
 <!--80F1BCD61F0F11DE8BE5DF56446CB1D8-->  
<AD_COLUMN_ID><![CDATA[80F1BCD61F0F11DE8BE5DF56446CB1D8]]></AD_COLUMN_ID>
 <!--80F1BCD61F0F11DE8BE5DF56446CB1D8-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r e3ea620ab5cb -r fa2d62c2d918 src-db/database/sourcedata/AD_FIELD.xml
--- a/src-db/database/sourcedata/AD_FIELD.xml   Fri Feb 26 10:52:34 2010 +0530
+++ b/src-db/database/sourcedata/AD_FIELD.xml   Fri Feb 26 10:00:14 2010 +0100
@@ -1599,7 +1599,7 @@
 <!--189-->  <DISPLAYLOGIC><![cda...@parentreference_id@='17']]></DISPLAYLOGIC>
 <!--189-->  <DISPLAYLENGTH><![CDATA[10]]></DISPLAYLENGTH>
 <!--189-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
-<!--189-->  <SEQNO><![CDATA[90]]></SEQNO>
+<!--189-->  <SEQNO><![CDATA[100]]></SEQNO>
 <!--189-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
 <!--189-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
 <!--189-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
@@ -1623,7 +1623,7 @@
 <!--190-->  <DISPLAYLOGIC><![cda...@parentreference_id@='17']]></DISPLAYLOGIC>
 <!--190-->  <DISPLAYLENGTH><![CDATA[10]]></DISPLAYLENGTH>
 <!--190-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
-<!--190-->  <SEQNO><![CDATA[100]]></SEQNO>
+<!--190-->  <SEQNO><![CDATA[110]]></SEQNO>
 <!--190-->  <ISSAMELINE><![CDATA[Y]]></ISSAMELINE>
 <!--190-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
 <!--190-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
@@ -2938,7 +2938,7 @@
 <!--264-->  <DISPLAYLOGIC><![cda...@parentreference_id@='17']]></DISPLAYLOGIC>
 <!--264-->  <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
 <!--264-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
-<!--264-->  <SEQNO><![CDATA[80]]></SEQNO>
+<!--264-->  <SEQNO><![CDATA[90]]></SEQNO>
 <!--264-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
 <!--264-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
 <!--264-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
@@ -194402,6 +194402,32 @@
 <!--7FDC7A18D86B83EAE040007F01012E08-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
 <!--7FDC7A18D86B83EAE040007F01012E08--></AD_FIELD>
 
+<!--807CB1125A891B22E040007F01013A3F--><AD_FIELD>
+<!--807CB1125A891B22E040007F01013A3F-->  
<AD_FIELD_ID><![CDATA[807CB1125A891B22E040007F01013A3F]]></AD_FIELD_ID>
+<!--807CB1125A891B22E040007F01013A3F-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--807CB1125A891B22E040007F01013A3F-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--807CB1125A891B22E040007F01013A3F-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--807CB1125A891B22E040007F01013A3F-->  <NAME><![CDATA[Sequence 
Number]]></NAME>
+<!--807CB1125A891B22E040007F01013A3F-->  <DESCRIPTION><![CDATA[Order the 
elements in the list will be displayed in the drop down list]]></DESCRIPTION>
+<!--807CB1125A891B22E040007F01013A3F-->  <HELP><![CDATA[-If the value of this 
field is null for all the elements in the list, the list will be sorted 
alphabetically.
+-If all the elements have this value set, they will be ordered taken into 
account it.
+-If some of the elements have it and some not, the ones having it will appear 
at the beginning of the list sorted by Sequence Number, the rest of them will 
be shown at the end ordered alphabetically.]]></HELP>
+<!--807CB1125A891B22E040007F01013A3F-->  
<ISCENTRALLYMAINTAINED><![CDATA[N]]></ISCENTRALLYMAINTAINED>
+<!--807CB1125A891B22E040007F01013A3F-->  <AD_TAB_ID><![CDATA[104]]></AD_TAB_ID>
+<!--807CB1125A891B22E040007F01013A3F-->  
<AD_COLUMN_ID><![CDATA[807CAEE23A0AE8F1E040007F01013A3C]]></AD_COLUMN_ID>
+<!--807CB1125A891B22E040007F01013A3F-->  
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--807CB1125A891B22E040007F01013A3F-->  
<DISPLAYLENGTH><![CDATA[12]]></DISPLAYLENGTH>
+<!--807CB1125A891B22E040007F01013A3F-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--807CB1125A891B22E040007F01013A3F-->  <SEQNO><![CDATA[80]]></SEQNO>
+<!--807CB1125A891B22E040007F01013A3F-->  <SORTNO><![CDATA[1]]></SORTNO>
+<!--807CB1125A891B22E040007F01013A3F-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--807CB1125A891B22E040007F01013A3F-->  
<ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--807CB1125A891B22E040007F01013A3F-->  
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--807CB1125A891B22E040007F01013A3F-->  
<SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--807CB1125A891B22E040007F01013A3F-->  
<ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--807CB1125A891B22E040007F01013A3F-->  
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--807CB1125A891B22E040007F01013A3F--></AD_FIELD>
+
 <!--80C65FD7819B43638FB4A0413A91A65D--><AD_FIELD>
 <!--80C65FD7819B43638FB4A0413A91A65D-->  
<AD_FIELD_ID><![CDATA[80C65FD7819B43638FB4A0413A91A65D]]></AD_FIELD_ID>
 <!--80C65FD7819B43638FB4A0413A91A65D-->  
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r e3ea620ab5cb -r fa2d62c2d918 
src/org/openbravo/erpCommon/utility/ComboTableData.java
--- a/src/org/openbravo/erpCommon/utility/ComboTableData.java   Fri Feb 26 
10:52:34 2010 +0530
+++ b/src/org/openbravo/erpCommon/utility/ComboTableData.java   Fri Feb 26 
10:00:14 2010 +0100
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SL 
- * All portions are Copyright (C) 2001-2009 Openbravo SL 
+ * All portions are Copyright (C) 2001-2010 Openbravo SL 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -238,8 +238,8 @@
         if (!Utility.isUUIDString(_reference)) {
           // Looking reference by name! This shouldn't be used, name is prone 
to change. It only
           // looks in core names
-          _reference = ComboTableQueryData.getReferenceID(getPool(), 
_reference,
-              getReferenceType());
+          _reference = ComboTableQueryData
+              .getReferenceID(getPool(), _reference, getReferenceType());
           if (_reference == null || _reference.equals("")) {
             throw new OBException(Utility.messageBD(pool, "ReferenceNotFound", 
vars.getLanguage())
                 + " " + _reference);
@@ -688,6 +688,7 @@
           "ISACTIVE");
       addWhereParameter("@ACTUAL_VALUE@", "ACTUAL_VALUE", "ISACTIVE");
     }
+    addOrderByField("td" + myIndex + ".SeqNo");
     addOrderByField("(CASE WHEN td_trl" + myIndex + ".name IS NULL THEN td" + 
myIndex
         + ".name ELSE td_trl" + myIndex + ".name END)");
   }

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to