[open-ils-commits] [GIT] Evergreen ILS branch master updated. 2edae2650d121d87478e5ee9e2272bf013b6c341

Evergreen Git git at git.evergreen-ils.org
Mon Jul 25 12:14:50 EDT 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, master has been updated
       via  2edae2650d121d87478e5ee9e2272bf013b6c341 (commit)
       via  c6e73ef359f34c1495db622d260b3de16f5f6f96 (commit)
       via  c9c05ce8e179d7a9d4325ac1f429e91fcfe7c9a0 (commit)
       via  64f9ee811e4488eb7b3024e7e4212a79cdda8f33 (commit)
      from  40f490e4e91f54297df4b54c0d16c9bc998ad327 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 2edae2650d121d87478e5ee9e2272bf013b6c341
Merge: 40f490e c6e73ef
Author: Lebbeous Fogle-Weekley <lebbeous at esilibrary.com>
Date:   Mon Jul 25 12:14:01 2011 -0400

    Merge branch 'xul_date_sort'


commit c6e73ef359f34c1495db622d260b3de16f5f6f96
Author: Jason Etheridge <jason at esilibrary.com>
Date:   Wed Jul 20 01:29:43 2011 -0400

    adjust legacy xul column definitions for dates/timestamps to ensure correct  sorting
    
    Signed-off-by: Jason Etheridge <jason at esilibrary.com>
    Signed-off-by: Lebbeous Fogle-Weekley <lebbeous at esilibrary.com>

diff --git a/Open-ILS/xul/staff_client/server/circ/util.js b/Open-ILS/xul/staff_client/server/circ/util.js
index 293c438..722040c 100644
--- a/Open-ILS/xul/staff_client/server/circ/util.js
+++ b/Open-ILS/xul/staff_client/server/circ/util.js
@@ -1103,6 +1103,7 @@ circ.util.columns = function(modify,params) {
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.acp.status_changed_time(), '%{localized}' ); },
             'persist' : 'hidden width ordinal'
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.acp.status_changed_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1136,6 +1137,7 @@ circ.util.columns = function(modify,params) {
                     return "";
                 }
             }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.circ.xact_start() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1153,6 +1155,7 @@ circ.util.columns = function(modify,params) {
                     return "";
                 }
             }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.circ.checkin_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1164,6 +1167,7 @@ circ.util.columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return my.circ ? util.date.formatted_date( my.circ.xact_finish(), '%{localized}' ) : ""; },
+            'sort_value' : function(my) { return util.date.db_date2Date( my.circ.xact_finish() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1181,6 +1185,7 @@ circ.util.columns = function(modify,params) {
                     return "";
                 }
             }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.circ.due_date() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1192,7 +1197,7 @@ circ.util.columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.acp.create_date(), '%{localized}' ); }
-            ,'sort_value' : function(my) { return util.date.db_date2Date( my.acp.create_date() ).getTime();; }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.acp.create_date() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1204,6 +1209,7 @@ circ.util.columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.acp.edit_date(), '%{localized}' ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.acp.edit_date() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1355,6 +1361,7 @@ circ.util.columns = function(modify,params) {
                     return "";
                 }
             }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.circ.stop_fines_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1450,6 +1457,7 @@ circ.util.columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return my.circ ? util.date.formatted_date( my.circ.checkin_scan_time(), '%{localized}' ) : ""; },
+            'sort_value' : function(my) { return util.date.db_date2Date( my.circ.checkin_scan_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1491,6 +1499,7 @@ circ.util.columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return my.bre ? util.date.formatted_date( my.bre.create_date(), '%{localized}' ) : ''; }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.bre.create_date() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1502,6 +1511,7 @@ circ.util.columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return my.bre ? util.date.formatted_date( my.bre.edit_date(), '%{localized}' ) : ''; }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.bre.edit_date() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1691,6 +1701,7 @@ circ.util.transit_columns = function(modify,params) {
             'primary' : false,
             'hidden' : false,
             'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.atc.source_send_time(), '%{localized}' ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.atc.source_send_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1716,6 +1727,7 @@ circ.util.transit_columns = function(modify,params) {
             'primary' : false,
             'hidden' : false,
             'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.atc.dest_recv_time(), '%{localized}' ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.atc.dest_recv_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1780,6 +1792,7 @@ circ.util.hold_columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.ahr.cancel_time(), '%{localized}' ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.ahr.cancel_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1838,6 +1851,7 @@ circ.util.hold_columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.ahr.request_time(), '%{localized}' ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.ahr.request_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1848,6 +1862,7 @@ circ.util.hold_columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.ahr.shelf_time(), '%{localized}' ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.ahr.shelf_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1858,6 +1873,7 @@ circ.util.hold_columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.ahr.shelf_expire_time(), '%{localized}' ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.ahr.shelf_expire_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1876,6 +1892,16 @@ circ.util.hold_columns = function(modify,params) {
                 }
                 return "";
             }
+            ,'sort_value' : function(my) {
+                return util.date.db_date2Date( my.acp.create_date() ).getTime();
+                if (my.ahr.transit() && my.ahr.transit().dest_recv_time()) {
+                    return util.date.db_date2Date( my.ahr.transit().dest_recv_time() ).getTime();
+                }
+                if (!my.ahr.transit() && my.ahr.capture_time()) {
+                    return util.date.db_date2Date( my.ahr.capture_time() ).getTime();
+                }
+                return 0;
+            }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1886,6 +1912,7 @@ circ.util.hold_columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return my.ahr.capture_time() ? util.date.formatted_date( my.ahr.capture_time(), '%{localized}' ) : ""; }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.ahr.capture_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -1974,6 +2001,7 @@ circ.util.hold_columns = function(modify,params) {
                     return util.date.formatted_date( my.ahr.thaw_date(), '%{localized}' );
                 }
             }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.ahr.thaw_date() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -2055,6 +2083,7 @@ circ.util.hold_columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return my.ahr.expire_time() ? util.date.formatted_date( my.ahr.expire_time(), '%{localized}' ) : ''; }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.ahr.expire_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -2065,6 +2094,7 @@ circ.util.hold_columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.ahr.fulfillment_time(), '%{localized}' ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.ahr.fulfillment_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -2120,6 +2150,7 @@ circ.util.hold_columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.ahr.prev_check_time(), '%{localized}' ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.ahr.prev_check_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -2251,6 +2282,7 @@ circ.util.hold_columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.ahr.notify_time(), '%{localized}' ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.ahr.notify_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -2285,6 +2317,7 @@ circ.util.hold_columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return my.ahr.transit() ?  util.date.formatted_date( my.ahr.transit().source_send_time(), '%{localized}' ) : ""; }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.ahr.transit().source_send_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
@@ -2304,6 +2337,7 @@ circ.util.hold_columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return my.ahr.transit() ?  util.date.formatted_date( my.ahr.transit().dest_recv_time(), '%{localized}' ) : ""; }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.ahr.transit().dest_recv_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal',
diff --git a/Open-ILS/xul/staff_client/server/patron/util.js b/Open-ILS/xul/staff_client/server/patron/util.js
index 742b6b4..8968e0a 100644
--- a/Open-ILS/xul/staff_client/server/patron/util.js
+++ b/Open-ILS/xul/staff_client/server/patron/util.js
@@ -57,6 +57,7 @@ patron.util.mbts_columns = function(modify,params) {
             'persist' : 'hidden width ordinal', 'id' : 'last_billing_ts', 'label' : commonStrings.getString('staff.mbts_last_billing_timestamp_label'), 'flex' : 1,
             'sort_type' : 'date',
             'primary' : false, 'hidden' : true, 'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.mbts.last_billing_ts(), "%{localized}" ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.mbts.last_billing_ts() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal', 'id' : 'last_payment_note', 'label' : commonStrings.getString('staff.mbts_last_payment_note_label'), 'flex' : 2,
@@ -70,16 +71,19 @@ patron.util.mbts_columns = function(modify,params) {
             'persist' : 'hidden width ordinal', 'id' : 'last_payment_ts', 'label' : commonStrings.getString('staff.mbts_last_payment_timestamp_label'), 'flex' : 1,
             'sort_type' : 'date',
             'primary' : false, 'hidden' : true, 'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.mbts.last_payment_ts(), "%{localized}" ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.mbts.last_payment_ts() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal', 'id' : 'mbts_xact_start', 'label' : commonStrings.getString('staff.mbts_xact_start_label'), 'flex' : 1,
             'sort_type' : 'date',
             'primary' : false, 'hidden' : false, 'editable' : false, 'render' : function(my) { return my.mbts.xact_start() ? util.date.formatted_date( my.mbts.xact_start(), "%{localized}" ) : ""; }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.mbts.xact_start() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal', 'id' : 'mbts_xact_finish', 'label' : commonStrings.getString('staff.mbts_xact_finish_label'), 'flex' : 1,
             'sort_type' : 'date',
             'primary' : false, 'hidden' : false, 'editable' : false, 'render' : function(my) { return my.mbts.xact_finish() ? util.date.formatted_date( my.mbts.xact_finish(), "%{localized}" ) : ""; }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.mbts.xact_finish() ).getTime(); }
         },
     ];
     for (var i = 0; i < c.length; i++) {
@@ -136,6 +140,7 @@ patron.util.mb_columns = function(modify,params) {
             'persist' : 'hidden width ordinal', 'id' : 'void_time', 'label' : commonStrings.getString('staff.mb_void_time_label'), 'flex' : 1,
             'sort_type' : 'date',
             'primary' : false, 'hidden' : true, 'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.mb.void_time(), "%{localized}" ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.mb.void_time() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal', 'id' : 'amount', 'label' : commonStrings.getString('staff.mb_amount_label'), 'flex' : 1,
@@ -150,6 +155,7 @@ patron.util.mb_columns = function(modify,params) {
             'persist' : 'hidden width ordinal', 'id' : 'billing_ts', 'label' : commonStrings.getString('staff.mb_billing_ts_label'), 'flex' : 1,
             'sort_type' : 'date',
             'primary' : false, 'hidden' : false, 'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.mb.billing_ts(), "%{localized}" ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.mb.billing_ts() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal', 'id' : 'note', 'label' : commonStrings.getString('staff.mb_note_label'), 'flex' : 2,
@@ -216,6 +222,7 @@ patron.util.mp_columns = function(modify,params) {
             'persist' : 'hidden width ordinal', 'id' : 'mp_payment_ts', 'label' : commonStrings.getString('staff.mp_payment_timestamp_label'), 'flex' : 1,
             'sort_type' : 'date',
             'primary' : false, 'hidden' : false, 'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.mp.payment_ts(), "%{localized}" ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.mp.payment_ts() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal', 'id' : 'mp_note', 'label' : commonStrings.getString('staff.mp_note_label'), 'flex' : 2,
@@ -327,6 +334,7 @@ patron.util.ausp_columns = function(modify,params) {
             'primary' : false, 'hidden' : false, 'editable' : false, 'render' : function(my) { 
                 return my.ausp ? util.date.formatted_date( my.ausp.set_date(), "%{localized}" ) : '';
             }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.ausp.set_date() ).getTime(); }
         },
         {
             'persist' : 'hidden width ordinal', 'id' : 'ausp_note', 'label' : commonStrings.getString('staff.ausp_note_label'), 'flex' : 1,
@@ -435,11 +443,13 @@ patron.util.columns = function(modify,params) {
             'persist' : 'hidden width ordinal', 'id' : 'au_create_date', 'label' : commonStrings.getString('staff.au_create_date_label'), 'flex' : 1, 
             'sort_type' : 'date',
             'primary' : false, 'hidden' : true, 'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.au.create_date(), "%{localized}" ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.au.create_date() ).getTime(); }
         },
         { 
             'persist' : 'hidden width ordinal', 'id' : 'expire_date', 'label' : commonStrings.getString('staff.au_expire_date_label'), 'flex' : 1, 
             'sort_type' : 'date',
             'primary' : false, 'hidden' : true, 'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.au.expire_date(), "%{localized_date}" ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.au.expire_date() ).getTime(); }
         },
         { 
             'persist' : 'hidden width ordinal', 'id' : 'home_ou', 'label' : commonStrings.getString('staff.au_home_library_label'), 'flex' : 1, 
@@ -478,6 +488,7 @@ patron.util.columns = function(modify,params) {
             'persist' : 'hidden width ordinal', 'id' : 'dob', 'label' : commonStrings.getString('staff.au_birth_date_label'), 'flex' : 1, 
             'sort_type' : 'date',
             'primary' : false, 'hidden' : true, 'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.au.dob(), "%{localized_date}" ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.au.dob() ).getTime(); }
         },
         { 
             'persist' : 'hidden width ordinal', 'id' : 'ident_type', 'label' : commonStrings.getString('staff.au_ident_type_label'), 'flex' : 1, 

commit c9c05ce8e179d7a9d4325ac1f429e91fcfe7c9a0
Author: Jason Etheridge <jason at esilibrary.com>
Date:   Mon Jul 18 17:17:30 2011 -0400

    remove circ.util.std_map_row_to_columns; default to the one provided by list.js
    
    Signed-off-by: Jason Etheridge <jason at esilibrary.com>

diff --git a/Open-ILS/xul/staff_client/server/admin/transit_list.js b/Open-ILS/xul/staff_client/server/admin/transit_list.js
index 545a329..4024ec1 100644
--- a/Open-ILS/xul/staff_client/server/admin/transit_list.js
+++ b/Open-ILS/xul/staff_client/server/admin/transit_list.js
@@ -216,7 +216,6 @@ admin.transit_list.prototype = {
         obj.list.init( 
             { 
                 'columns' : columns, 
-                'map_row_to_columns' : circ.util.std_map_row_to_columns(), 
                 'retrieve_row' : function(params) {
                     var row = params.row;
                     try {
diff --git a/Open-ILS/xul/staff_client/server/admin/work_log.js b/Open-ILS/xul/staff_client/server/admin/work_log.js
index 88daa1a..9a1eb75 100644
--- a/Open-ILS/xul/staff_client/server/admin/work_log.js
+++ b/Open-ILS/xul/staff_client/server/admin/work_log.js
@@ -45,11 +45,10 @@ function init_lists() {
         list1 = new util.list('work_action_log');
         list2 = new util.list('work_patron_log');
 
-        JSAN.use('circ.util'); var columns = circ.util.work_log_columns({}); var column_mapper_func = circ.util.std_map_row_to_columns();
+        JSAN.use('circ.util'); var columns = circ.util.work_log_columns({});
 
         list1.init( {
             'columns' : columns,
-            'map_row_to_columns' : column_mapper_func,
             'on_select' : function(ev) {
                 JSAN.use('util.functional'); var sel = list1.retrieve_selection();
                 selected1 = util.functional.map_list( sel, function(o) { return JSON2js(o.getAttribute('retrieve_id')); });
diff --git a/Open-ILS/xul/staff_client/server/cat/copy_browser.js b/Open-ILS/xul/staff_client/server/cat/copy_browser.js
index 855d023..bb9b632 100644
--- a/Open-ILS/xul/staff_client/server/cat/copy_browser.js
+++ b/Open-ILS/xul/staff_client/server/cat/copy_browser.js
@@ -1708,7 +1708,6 @@ cat.copy_browser.prototype = {
                 {
                     'no_auto_select' : true,
                     'columns' : columns,
-                    'map_row_to_columns' : circ.util.std_map_row_to_columns(' '),
                     'retrieve_row' : function(params) {
 
                         var row = params.row;
diff --git a/Open-ILS/xul/staff_client/server/cat/copy_buckets.js b/Open-ILS/xul/staff_client/server/cat/copy_buckets.js
index cc7b5a9..9dc89df 100644
--- a/Open-ILS/xul/staff_client/server/cat/copy_buckets.js
+++ b/Open-ILS/xul/staff_client/server/cat/copy_buckets.js
@@ -79,7 +79,6 @@ cat.copy_buckets.prototype = {
         obj.list1.init(
             {
                 'columns' : columns,
-                'map_row_to_columns' : circ.util.std_map_row_to_columns(),
                 'retrieve_row' : retrieve_row,
                 'on_select' : function(ev) {
                     try {
@@ -109,7 +108,6 @@ cat.copy_buckets.prototype = {
         obj.list2.init(
             {
                 'columns' : columns,
-                'map_row_to_columns' : circ.util.std_map_row_to_columns(),
                 'retrieve_row' : retrieve_row,
                 'on_select' : function(ev) {
                     try {
diff --git a/Open-ILS/xul/staff_client/server/cat/copy_summary.xul b/Open-ILS/xul/staff_client/server/cat/copy_summary.xul
index 3a459a2..9ab9a04 100644
--- a/Open-ILS/xul/staff_client/server/cat/copy_summary.xul
+++ b/Open-ILS/xul/staff_client/server/cat/copy_summary.xul
@@ -82,7 +82,6 @@
                 g.list.init(
                     {
                         'columns' : columns,
-                        'map_row_to_columns' : circ.util.std_map_row_to_columns(),
                     }
                 );
                 $('list_actions').appendChild( g.list.render_list_actions() );
diff --git a/Open-ILS/xul/staff_client/server/cat/record_buckets.js b/Open-ILS/xul/staff_client/server/cat/record_buckets.js
index 07a0aad..b0d0f88 100644
--- a/Open-ILS/xul/staff_client/server/cat/record_buckets.js
+++ b/Open-ILS/xul/staff_client/server/cat/record_buckets.js
@@ -151,7 +151,6 @@ cat.record_buckets.prototype = {
         obj.list0.init(
             {
                 'columns' : columns,
-                'map_row_to_columns' : circ.util.std_map_row_to_columns(),
                 'retrieve_row' : retrieve_row,
                 'on_select' : function(ev) {
                     try {
@@ -180,7 +179,6 @@ cat.record_buckets.prototype = {
         obj.list1.init(
             {
                 'columns' : columns,
-                'map_row_to_columns' : circ.util.std_map_row_to_columns(),
                 'retrieve_row' : retrieve_row,
                 'on_select' : function(ev) {
                     try {
@@ -211,7 +209,6 @@ cat.record_buckets.prototype = {
         obj.list2.init(
             {
                 'columns' : columns,
-                'map_row_to_columns' : circ.util.std_map_row_to_columns(),
                 'retrieve_row' : retrieve_row,
                 'on_select' : function(ev) {
                     try {
diff --git a/Open-ILS/xul/staff_client/server/cat/z3950.js b/Open-ILS/xul/staff_client/server/cat/z3950.js
index dc600e8..2a8fd84 100644
--- a/Open-ILS/xul/staff_client/server/cat/z3950.js
+++ b/Open-ILS/xul/staff_client/server/cat/z3950.js
@@ -53,7 +53,6 @@ cat.z3950.prototype = {
             obj.list.init(
                 {
                     'columns' : columns,
-                    'map_row_to_columns' : circ.util.std_map_row_to_columns(),
                     'on_select' : function(ev) {
                         try {
                             JSAN.use('util.functional');
diff --git a/Open-ILS/xul/staff_client/server/circ/alternate_copy_summary.js b/Open-ILS/xul/staff_client/server/circ/alternate_copy_summary.js
index b7b2207..d88e7a3 100644
--- a/Open-ILS/xul/staff_client/server/circ/alternate_copy_summary.js
+++ b/Open-ILS/xul/staff_client/server/circ/alternate_copy_summary.js
@@ -46,10 +46,10 @@ function my_init() {
 
         var columns = circ.util.transit_columns({});
         transit_list = new util.list('transit');
-        transit_list.init( { 'columns' : columns, 'map_row_to_columns' : circ.util.std_map_row_to_columns(), });
+        transit_list.init( { 'columns' : columns });
 
         hold_list = new util.list('hold');
-        hold_list.init( { 'columns' : columns, 'map_row_to_columns' : circ.util.std_map_row_to_columns(), });
+        hold_list.init( { 'columns' : columns });
 
         // timeout so xulG gets a chance to get pushed in
         setTimeout(
diff --git a/Open-ILS/xul/staff_client/server/circ/checkin.js b/Open-ILS/xul/staff_client/server/circ/checkin.js
index 24276ac..de95ecb 100644
--- a/Open-ILS/xul/staff_client/server/circ/checkin.js
+++ b/Open-ILS/xul/staff_client/server/circ/checkin.js
@@ -46,7 +46,6 @@ circ.checkin.prototype = {
         obj.list.init(
             {
                 'columns' : columns,
-                'map_row_to_columns' : circ.util.std_map_row_to_columns(),
                 'retrieve_row' : obj.gen_list_retrieve_row_func(),
                 'on_select' : function(ev) {
                     try {
diff --git a/Open-ILS/xul/staff_client/server/circ/checkout.js b/Open-ILS/xul/staff_client/server/circ/checkout.js
index c7d3813..d9a7b33 100644
--- a/Open-ILS/xul/staff_client/server/circ/checkout.js
+++ b/Open-ILS/xul/staff_client/server/circ/checkout.js
@@ -31,7 +31,6 @@ circ.checkout.prototype = {
         obj.list.init(
             {
                 'columns' : columns,
-                'map_row_to_columns' : circ.util.std_map_row_to_columns(),
                 'on_select' : function() {
                     var sel = obj.list.retrieve_selection();
                     document.getElementById('clip_button').disabled = sel.length < 1;
diff --git a/Open-ILS/xul/staff_client/server/circ/copy_details.xul b/Open-ILS/xul/staff_client/server/circ/copy_details.xul
index 3fcd465..9046ef5 100644
--- a/Open-ILS/xul/staff_client/server/circ/copy_details.xul
+++ b/Open-ILS/xul/staff_client/server/circ/copy_details.xul
@@ -118,7 +118,7 @@
                     JSAN.use('circ.util'); var columns = circ.util.transit_columns({});
 
                     JSAN.use('util.list'); g.list = new util.list('transit');
-                    g.list.init( { 'columns' : columns, 'map_row_to_columns' : circ.util.std_map_row_to_columns(), });
+                    g.list.init( { 'columns' : columns });
                     g.list.append( { 'row' : { 'my' : { 'atc' : g.transit, } } });
     
                 } else {
@@ -146,7 +146,7 @@
                     );
 
                     JSAN.use('util.list'); g.list = new util.list('hold');
-                    g.list.init( { 'columns' : columns, 'map_row_to_columns' : circ.util.std_map_row_to_columns(), });
+                    g.list.init( { 'columns' : columns });
                     g.list.append( { 'row' : { 'my' : { 'ahr' : better_fleshed_hold_blob.hold, 'acp' : g.copy, 'status' : status_robj, } } });
     
                     JSAN.use('patron.util'); 
diff --git a/Open-ILS/xul/staff_client/server/circ/copy_status.js b/Open-ILS/xul/staff_client/server/circ/copy_status.js
index f7ac6dd..510d13c 100644
--- a/Open-ILS/xul/staff_client/server/circ/copy_status.js
+++ b/Open-ILS/xul/staff_client/server/circ/copy_status.js
@@ -45,7 +45,6 @@ circ.copy_status.prototype = {
         obj.list.init(
             {
                 'columns' : columns,
-                'map_row_to_columns' : circ.util.std_map_row_to_columns(),
                 'on_select' : function(ev) {
                     try {
                         JSAN.use('util.functional');
diff --git a/Open-ILS/xul/staff_client/server/circ/in_house_use.js b/Open-ILS/xul/staff_client/server/circ/in_house_use.js
index d6d6355..e3d7be5 100644
--- a/Open-ILS/xul/staff_client/server/circ/in_house_use.js
+++ b/Open-ILS/xul/staff_client/server/circ/in_house_use.js
@@ -37,7 +37,6 @@ circ.in_house_use.prototype = {
         obj.list.init(
             {
                 'columns' : columns,
-                'map_row_to_columns' : circ.util.std_map_row_to_columns(),
                 'on_select' : function() {
                     var sel = obj.list.retrieve_selection();
                     obj.controller.view.sel_clip.setAttribute('disabled', sel.length < 1);
diff --git a/Open-ILS/xul/staff_client/server/circ/renew.js b/Open-ILS/xul/staff_client/server/circ/renew.js
index 8dbe7c2..3264c84 100644
--- a/Open-ILS/xul/staff_client/server/circ/renew.js
+++ b/Open-ILS/xul/staff_client/server/circ/renew.js
@@ -47,7 +47,6 @@ circ.renew.prototype = {
         obj.list.init(
             {
                 'columns' : columns,
-                'map_row_to_columns' : circ.util.std_map_row_to_columns(),
                 'on_select' : function(ev) {
                     try {
                         JSAN.use('util.functional');
diff --git a/Open-ILS/xul/staff_client/server/circ/util.js b/Open-ILS/xul/staff_client/server/circ/util.js
index 3b2cd86..293c438 100644
--- a/Open-ILS/xul/staff_client/server/circ/util.js
+++ b/Open-ILS/xul/staff_client/server/circ/util.js
@@ -2529,63 +2529,6 @@ circ.util.hold_columns = function(modify,params) {
     }
     return c.sort( function(a,b) { if (a.label < b.label) return -1; if (a.label > b.label) return 1; return 0; } );
 };
-/*
-circ.util.std_map_row_to_column = function(error_value) {
-    return function(row,col) {
-        // row contains { 'my' : { 'acp' : {}, 'circ' : {}, 'mvr' : {} } }
-        // col contains one of the objects listed above in columns
-
-        // mimicking some of the obj in circ.checkin and circ.checkout where map_row_to_column is usually defined
-        var obj = {};
-        JSAN.use('util.error'); obj.error = new util.error();
-        JSAN.use('OpenILS.data'); obj.data = new OpenILS.data(); obj.data.init({'via':'stash'});
-        JSAN.use('util.network'); obj.network = new util.network();
-        JSAN.use('util.money');
-
-        var my = row.my;
-        var value;
-        try {
-            value = eval( col.render );
-        } catch(E) {
-            obj.error.sdump('D_WARN','map_row_to_column: ' + E);
-            if (error_value) value = error_value; else value = '   ';
-        }
-        return value;
-    }
-};
-*/
-circ.util.std_map_row_to_columns = function(error_value) {
-    return function(row,cols,scratch) {
-        // row contains { 'my' : { 'acp' : {}, 'circ' : {}, 'mvr' : {} } }
-        // cols contains all of the objects listed above in columns
-        // scratch is a temporary space shared by all cells/rows (or just per row if not explicitly passed in)
-        if (!scratch) { scratch = {}; }
-
-        var obj = {};
-        JSAN.use('util.error'); obj.error = new util.error();
-        JSAN.use('OpenILS.data'); obj.data = new OpenILS.data(); obj.data.init({'via':'stash'});
-        JSAN.use('util.network'); obj.network = new util.network();
-        JSAN.use('util.money');
-
-        var my = row.my;
-        var values = [];
-        var cmd = '';
-        try {
-            for (var i = 0; i < cols.length; i++) {
-                switch (typeof cols[i].render) {
-                    case 'function': try { values[i] = cols[i].render(my,scratch); } catch(E) { values[i] = error_value; obj.error.sdump('D_COLUMN_RENDER_ERROR',E); } break;
-                    case 'string' : cmd += 'try { ' + cols[i].render + '; values['+i+'] = v; } catch(E) { values['+i+'] = error_value; }'; break;
-                    default: cmd += 'values['+i+'] = "??? '+(typeof cols[i].render)+'"; ';
-                }
-            }
-            if (cmd) eval( cmd );
-        } catch(E) {
-            obj.error.sdump('D_WARN','map_row_to_column: ' + E);
-            if (error_value) { value = error_value; } else { value = '   ' };
-        }
-        return values;
-    }
-};
 
 circ.util.checkin_via_barcode = function(session,params,backdate,auto_print,async) {
     try {
diff --git a/Open-ILS/xul/staff_client/server/patron/hold_details.js b/Open-ILS/xul/staff_client/server/patron/hold_details.js
index a4a4f1b..aa28075 100644
--- a/Open-ILS/xul/staff_client/server/patron/hold_details.js
+++ b/Open-ILS/xul/staff_client/server/patron/hold_details.js
@@ -115,7 +115,6 @@ function init_list() {
     g.list.init(
         {
             'columns' : columns,
-            'map_row_to_columns' : circ.util.std_map_row_to_columns(),
             'retrieve_row' : function(params) {
                 var row = params.row;
                 if (typeof params.on_retrieve == 'function') {
diff --git a/Open-ILS/xul/staff_client/server/patron/holds.js b/Open-ILS/xul/staff_client/server/patron/holds.js
index 234b2b6..a1c5b83 100644
--- a/Open-ILS/xul/staff_client/server/patron/holds.js
+++ b/Open-ILS/xul/staff_client/server/patron/holds.js
@@ -75,7 +75,6 @@ patron.holds.prototype = {
                         // 'acp_circ_modifier' : { 'hidden' : false }
                     })
                 ),
-                'map_row_to_columns' : circ.util.std_map_row_to_columns(),
                 'retrieve_row' : function(params) {
                     var row = params.row;
                     try {
diff --git a/Open-ILS/xul/staff_client/server/patron/items.js b/Open-ILS/xul/staff_client/server/patron/items.js
index b0ec8ec..63c1d1c 100644
--- a/Open-ILS/xul/staff_client/server/patron/items.js
+++ b/Open-ILS/xul/staff_client/server/patron/items.js
@@ -730,7 +730,6 @@ patron.items.prototype = {
         obj.list.init(
             {
                 'columns' : columns,
-                'map_row_to_columns' : circ.util.std_map_row_to_columns(),
                 'retrieve_row' : retrieve_row,
                 'on_select' : function(ev) {
                     JSAN.use('util.functional');
@@ -758,7 +757,6 @@ patron.items.prototype = {
         obj.list2.init(
             {
                 'columns' : columns2,
-                'map_row_to_columns' : circ.util.std_map_row_to_columns(),
                 'retrieve_row' : retrieve_row,
                 'on_select' : function(ev) {
                     JSAN.use('util.functional');
diff --git a/Open-ILS/xul/staff_client/server/serial/manage_dists.js b/Open-ILS/xul/staff_client/server/serial/manage_dists.js
index 1a5cace..8d56f60 100644
--- a/Open-ILS/xul/staff_client/server/serial/manage_dists.js
+++ b/Open-ILS/xul/staff_client/server/serial/manage_dists.js
@@ -1110,7 +1110,6 @@ serial.manage_dists.prototype = {
                 {
                     'no_auto_select' : true,
                     'columns' : columns,
-                    'map_row_to_columns' : circ.util.std_map_row_to_columns(' '),
                     'retrieve_row' : function(params) {
 
                         var row = params.row;
diff --git a/Open-ILS/xul/staff_client/server/serial/manage_items.js b/Open-ILS/xul/staff_client/server/serial/manage_items.js
index c510848..5e734ff 100644
--- a/Open-ILS/xul/staff_client/server/serial/manage_items.js
+++ b/Open-ILS/xul/staff_client/server/serial/manage_items.js
@@ -762,7 +762,6 @@ serial.manage_items.prototype = {
 		obj.lists.main.init(
 			{
 				'columns' : columns,
-				'map_row_to_columns' : circ.util.std_map_row_to_columns(),
 				'retrieve_row' : retrieve_row,
 				'on_select' : function(ev) {
                     obj.selected_list = 'main';
@@ -788,7 +787,6 @@ serial.manage_items.prototype = {
 		obj.lists.workarea.init(
 			{
 				'columns' : columns,
-				'map_row_to_columns' : circ.util.std_map_row_to_columns(),
 				'retrieve_row' : retrieve_row,
 				'on_select' : function(ev) {
                     obj.selected_list = 'workarea';
diff --git a/Open-ILS/xul/staff_client/server/serial/manage_subs.js b/Open-ILS/xul/staff_client/server/serial/manage_subs.js
index 93fd587..fa5c4c6 100644
--- a/Open-ILS/xul/staff_client/server/serial/manage_subs.js
+++ b/Open-ILS/xul/staff_client/server/serial/manage_subs.js
@@ -1566,7 +1566,6 @@ serial.manage_subs.prototype = {
                 {
                     'no_auto_select' : true,
                     'columns' : columns,
-                    'map_row_to_columns' : circ.util.std_map_row_to_columns(' '),
                     'retrieve_row' : function(params) {
 
                         var row = params.row;

commit 64f9ee811e4488eb7b3024e7e4212a79cdda8f33
Author: Jason Etheridge <jason at esilibrary.com>
Date:   Mon Jul 18 15:27:22 2011 -0400

    Better sort support for xul lists (see launchpad bug ://bugs.launchpad.net/evergreen/+bug/751745)
    Example of supplying a sort_value function for item Create Date, and automatic sort_value for fm_columns-generated timestamp and money column definitions.
    Need to provide more such functions, and eventually move everything over to fm_columns
    
    Signed-off-by: Jason Etheridge <jason at esilibrary.com>

diff --git a/Open-ILS/xul/staff_client/chrome/content/util/list.js b/Open-ILS/xul/staff_client/chrome/content/util/list.js
index d0b0f26..85a34d0 100644
--- a/Open-ILS/xul/staff_client/chrome/content/util/list.js
+++ b/Open-ILS/xul/staff_client/chrome/content/util/list.js
@@ -1002,6 +1002,7 @@ util.list.prototype = {
                 
                 if ( this.columns[i].editable == false ) { treecell.setAttribute('editable','false'); }
                 var label = '';
+                var sort_value = '';
 
                 // What skip columns is doing is rendering the treecells as blank/empty
                 if (params.skip_columns && (params.skip_columns.indexOf(i) != -1)) {
@@ -1030,15 +1031,27 @@ util.list.prototype = {
         } else if (typeof params.map_row_to_columns == 'function' || typeof this.map_row_to_columns == 'function') {
 
             var labels = [];
+            var sort_values = [];
 
             if (typeof params.map_row_to_columns == 'function') {
 
-                labels = params.map_row_to_columns(params.row,this.columns,this.scratch_data);
+                var values = params.map_row_to_columns(params.row,this.columns,this.scratch_data);
+                if (typeof values.values == 'undefined') {
+                    labels = values;
+                } else {
+                    labels = values.values;
+                    sort_values = values.sort_values;
+                }
 
             } else if (typeof this.map_row_to_columns == 'function') {
 
-                labels = this.map_row_to_columns(params.row,this.columns,this.scratch_data);
-
+                var values = this.map_row_to_columns(params.row,this.columns,this.scratch_data);
+                if (typeof values.values == 'undefined') {
+                    labels = values;
+                } else {
+                    labels = values.values;
+                    sort_values = values.sort_values;
+                }
             }
             for (var i = 0; i < labels.length; i++) {
                 var treecell;
@@ -1054,6 +1067,9 @@ util.list.prototype = {
                 } else {
                     treecell.setAttribute('label',typeof labels[i] == 'string' || typeof labels[i] == 'number' ? labels[i] : '');
                 }
+                if (sort_values[i]) {
+                    treecell.setAttribute('sort_value',js2JSON(sort_values[i]));
+                }
                 s += ('treecell = ' + treecell + ' with label = ' + labels[i] + '\n');
             }
 
@@ -1490,38 +1506,53 @@ util.list.prototype = {
                             var treeitem = treeitems[i];
                             var treerow = treeitem.firstChild;
                             var treecell = treerow.childNodes[ col_pos ];
-                            value = ( { 'value' : treecell ? treecell.getAttribute('label') : '', 'node' : treeitem } );
+                            value = ( {
+                                'value' : treecell
+                                    ? treecell.getAttribute('label')
+                                    : '',
+                                'sort_value' : treecell ? treecell.hasAttribute('sort_value')
+                                    ? JSON2js(
+                                        treecell.getAttribute('sort_value'))
+                                    : '' : '',
+                                'node' : treeitem
+                            } );
                             rows.push( value );
                         }
                         rows = rows.sort( function(a,b) { 
-                            a = a.value; b = b.value; 
-                            if (col.getAttribute('sort_type')) {
-                                switch(col.getAttribute('sort_type')) {
-                                    case 'date' :
-                                        JSAN.use('util.date'); // to pull in dojo.date.locale
-                                        a = dojo.date.locale.parse(a,{});
-                                        b = dojo.date.locale.parse(b,{});
-                                    break;
-                                    case 'number' :
-                                        a = Number(a); b = Number(b);
-                                    break;
-                                    case 'money' :
-                                        a = util.money.dollars_float_to_cents_integer(a);
-                                        b = util.money.dollars_float_to_cents_integer(b);
-                                    break;
-                                    case 'title' : /* special case for "a" and "the".  doesn't use marc 245 indicator */
-                                        a = String( a ).toUpperCase().replace( /^\s*(THE|A|AN)\s+/, '' );
-                                        b = String( b ).toUpperCase().replace( /^\s*(THE|A|AN)\s+/, '' );
-                                    break;
-                                    default:
+                            if (a.sort_value) {
+                                a = a.sort_value;
+                                b = b.sort_value;
+                            } else {
+                                a = a.value;
+                                b = b.value;
+                                if (col.getAttribute('sort_type')) {
+                                    switch(col.getAttribute('sort_type')) {
+                                        case 'date' :
+                                            JSAN.use('util.date'); // to pull in dojo.date.locale
+                                            a = dojo.date.locale.parse(a,{});
+                                            b = dojo.date.locale.parse(b,{});
+                                        break;
+                                        case 'number' :
+                                            a = Number(a); b = Number(b);
+                                        break;
+                                        case 'money' :
+                                            a = util.money.dollars_float_to_cents_integer(a);
+                                            b = util.money.dollars_float_to_cents_integer(b);
+                                        break;
+                                        case 'title' : /* special case for "a" and "the".  doesn't use marc 245 indicator */
+                                            a = String( a ).toUpperCase().replace( /^\s*(THE|A|AN)\s+/, '' );
+                                            b = String( b ).toUpperCase().replace( /^\s*(THE|A|AN)\s+/, '' );
+                                        break;
+                                        default:
+                                            a = String( a ).toUpperCase();
+                                            b = String( b ).toUpperCase();
+                                        break;
+                                    }
+                                } else {
+                                    if (typeof a == 'string' || typeof b == 'string') {
                                         a = String( a ).toUpperCase();
                                         b = String( b ).toUpperCase();
-                                    break;
-                                }
-                            } else {
-                                if (typeof a == 'string' || typeof b == 'string') {
-                                    a = String( a ).toUpperCase();
-                                    b = String( b ).toUpperCase();
+                                    }
                                 }
                             }
                             //dump('sorting: type = ' + col.getAttribute('sort_type') + ' a = ' + a + ' b = ' + b + ' a<b= ' + (a<b) + ' a>b= ' + (a>b) + '\n');
@@ -1801,6 +1832,9 @@ util.list.prototype = {
                     def.render = function(my) {
                         return util.date.formatted_date( my[dataobj][datafield](), '%{localized}' );
                     }
+                    def.sort_value = function(my) {
+                        return util.date.db_date2Date( my[dataobj][datafield]() ).getTime();
+                    }
                 }
                 if (my_field.datatype == 'org_unit') {
                     def.render = function(my) {
@@ -1812,6 +1846,9 @@ util.list.prototype = {
                     def.render = function(my) {
                         return util.money.sanitize( my[dataobj][datafield]() );
                     }
+                    def.sort_value = function(my) {
+                        return util.money.dollars_float_to_cents_integer( my[dataobj][datafield]() );
+                    }
                 }
                 if (column_extras) {
                     if (column_extras['*']) {
@@ -1880,6 +1917,7 @@ util.list.prototype = {
 
             var my = row.my;
             var values = [];
+            var sort_values = [];
             var cmd = '';
             try {
                 for (var i = 0; i < cols.length; i++) {
@@ -1888,13 +1926,34 @@ util.list.prototype = {
                         case 'string' : cmd += 'try { ' + cols[i].render + '; values['+i+'] = v; } catch(E) { values['+i+'] = error_value; }'; break;
                         default: cmd += 'values['+i+'] = "??? '+(typeof cols[i].render)+'"; ';
                     }
+                    switch (typeof cols[i].sort_value) {
+                        case 'function':
+                            try {
+                                sort_values[i] = cols[i].sort_value(my,scratch);
+                            } catch(E) {
+                                sort_values[i] = error_value;
+                                obj.error.sdump('D_COLUMN_RENDER_ERROR',E);
+                            }
+                        break;
+                        case 'string' :
+                            cmd += 'try { '
+                                + cols[i].sort_value
+                                + '; values['
+                                + i
+                                +'] = v; } catch(E) { sort_values['
+                                + i
+                                + '] = error_value; }';
+                        break;
+                        default:
+                            cmd += 'sort_values['+i+'] = values[' + i + '];';
+                    }
                 }
                 if (cmd) eval( cmd );
             } catch(E) {
                 obj.error.sdump('D_WARN','map_row_to_column: ' + E);
                 if (error_value) { value = error_value; } else { value = '   ' };
             }
-            return values;
+            return { 'values' : values, 'sort_values' : sort_values };
         }
     }
 }
diff --git a/Open-ILS/xul/staff_client/server/circ/util.js b/Open-ILS/xul/staff_client/server/circ/util.js
index c94c2ca..3b2cd86 100644
--- a/Open-ILS/xul/staff_client/server/circ/util.js
+++ b/Open-ILS/xul/staff_client/server/circ/util.js
@@ -1192,6 +1192,7 @@ circ.util.columns = function(modify,params) {
             'primary' : false,
             'hidden' : true,
             'editable' : false, 'render' : function(my) { return util.date.formatted_date( my.acp.create_date(), '%{localized}' ); }
+            ,'sort_value' : function(my) { return util.date.db_date2Date( my.acp.create_date() ).getTime();; }
         },
         {
             'persist' : 'hidden width ordinal',

-----------------------------------------------------------------------

Summary of changes:
 .../xul/staff_client/chrome/content/util/list.js   |  121 +++++++++++++++-----
 .../xul/staff_client/server/admin/transit_list.js  |    1 -
 Open-ILS/xul/staff_client/server/admin/work_log.js |    3 +-
 .../xul/staff_client/server/cat/copy_browser.js    |    1 -
 .../xul/staff_client/server/cat/copy_buckets.js    |    2 -
 .../xul/staff_client/server/cat/copy_summary.xul   |    1 -
 .../xul/staff_client/server/cat/record_buckets.js  |    3 -
 Open-ILS/xul/staff_client/server/cat/z3950.js      |    1 -
 .../server/circ/alternate_copy_summary.js          |    4 +-
 Open-ILS/xul/staff_client/server/circ/checkin.js   |    1 -
 Open-ILS/xul/staff_client/server/circ/checkout.js  |    1 -
 .../xul/staff_client/server/circ/copy_details.xul  |    4 +-
 .../xul/staff_client/server/circ/copy_status.js    |    1 -
 .../xul/staff_client/server/circ/in_house_use.js   |    1 -
 Open-ILS/xul/staff_client/server/circ/renew.js     |    1 -
 Open-ILS/xul/staff_client/server/circ/util.js      |   92 ++++++---------
 .../xul/staff_client/server/patron/hold_details.js |    1 -
 Open-ILS/xul/staff_client/server/patron/holds.js   |    1 -
 Open-ILS/xul/staff_client/server/patron/items.js   |    2 -
 Open-ILS/xul/staff_client/server/patron/util.js    |   11 ++
 .../xul/staff_client/server/serial/manage_dists.js |    1 -
 .../xul/staff_client/server/serial/manage_items.js |    2 -
 .../xul/staff_client/server/serial/manage_subs.js  |    1 -
 23 files changed, 141 insertions(+), 116 deletions(-)


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list