From: Chris Sharp Date: Tue, 5 Mar 2013 15:08:19 +0000 (-0500) Subject: attempt to sort libraries by system in tpac results X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=adc566e152d10796b73c992a16ae46e69cc3ab77;p=evergreen%2Fpines.git attempt to sort libraries by system in tpac results Includes tsbere's reccomendations to change Record.pm because it overrides th sorting in AppUtils.pm Signed-off-by: Chris Sharp Conflicts: Open-ILS/src/templates/opac/parts/record/copy_table.tt2 --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm index 8170b6d141..c14c8a2552 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm @@ -233,7 +233,7 @@ sub mk_copy_query { $rec_id, undef, undef, $copy_limit, $copy_offset, $self->ctx->{is_staff} ); - if($org != $self->ctx->{aou_tree}->()->id) { + if($org != $self->ctx->{aou_tree}->()->id) { # no need to add the org join filter if we're not actually filtering $query->{from}->{acp}->{aou} = { fkey => 'circ_lib', @@ -242,26 +242,37 @@ sub mk_copy_query { id => { in => { select => {aou => [{ - column => 'id', + column => 'id', transform => 'actor.org_unit_descendants', - result_field => 'id', + result_field => 'id', params => [$depth] }]}, from => 'aou', where => {id => $org} - } + } } - } - }; - }; - + }, + join => { 'parent' => { 'class' => 'aou', 'fkey' => 'parent_ou'} } + } + } + else { + $query->{from}->{acp}->{aou} = { join => { 'parent' => { 'class' => 'aou', 'fkey' => 'parent_ou'} } }; + }; + + unshift(@{$query->{order_by}}, + { + class => 'parent', field => 'name' + } + ); + # Unsure if we want these in the shared function, leaving here for now unshift(@{$query->{order_by}}, { class => "aou", field => 'id', transform => 'evergreen.rank_ou', params => [$org, $pref_ou] } ); - push(@{$query->{order_by}}, + + push(@{$query->{order_by}}, { class => "acp", field => 'status', transform => 'evergreen.rank_cp_status' } diff --git a/Open-ILS/src/templates/opac/parts/record/copy_table.tt2 b/Open-ILS/src/templates/opac/parts/record/copy_table.tt2 index 7f529b05de..258e8a13ea 100644 --- a/Open-ILS/src/templates/opac/parts/record/copy_table.tt2 +++ b/Open-ILS/src/templates/opac/parts/record/copy_table.tt2 @@ -95,6 +95,15 @@ END; # FOREACH bib [%- ELSE %] [%- INCLUDE "opac/parts/library_name_link.tt2"; -%] + [%- + org_obj = ctx.get_aou(copy_info.circ_lib); + IF org_obj.parent_ou; + parent_org_name = ctx.get_aou(org_obj.parent_ou).name; + org_name = parent_org_name _ ' - ' _ org_obj.name; + ELSE; + org_name = org_obj.name; END; + org_name | html + -%] [% END %]