collectiveaccess / pawtucket2

Pawtucket Improved
GNU General Public License v3.0
82 stars 75 forks source link

Fix sorting by certain attributes #83

Closed jiru closed 1 year ago

jiru commented 1 year ago

This fixes sorting by attributes which data type do not use value_sortable field for sorting.

This includes attribute of type currency, file size, floor plan, geocode, integer, length, time code, weight, and also date range in older versions of Providence.

A simple way to reproduce the bug this PR solves is to try to browse objects sorted by price. Using the default installation profile, each object has a purchase_price attribute, so you can add a "sort by price" sort in browse.conf:

browseTypes = {
        objects = {
                sortBy = {
                        Price = ca_objects.purchase_price,
                },
        },
}

You will see that Pawtucket fails to sort correctly in that case. It also fails to sort similar attributes from related tables.

collectiveaccess commented 1 year ago

Thanks for noticing this. This is the correct solution.