From a42aff2a957479415da71af76b93a1668b633400 Mon Sep 17 00:00:00 2001 From: Chris Sharp Date: Tue, 5 Mar 2013 10:08:19 -0500 Subject: [PATCH] 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 --- .../perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm | 29 +++++++++++++++------- .../src/templates/opac/parts/record/copy_table.tt2 | 7 +++++- 2 files changed, 26 insertions(+), 10 deletions(-) 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 b20d3cda86..f46abc99a4 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Record.pm @@ -192,7 +192,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', @@ -201,26 +201,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 b806f5cead..e4bb0da407 100644 --- a/Open-ILS/src/templates/opac/parts/record/copy_table.tt2 +++ b/Open-ILS/src/templates/opac/parts/record/copy_table.tt2 @@ -73,7 +73,12 @@ END; [%- ELSE %] [%- - org_name = ctx.get_aou(copy_info.circ_lib).name; + 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 %] -- 2.11.0