$self->load_search_filter_groups($ctx->{search_ou});
$self->load_org_util_funcs;
$self->load_perm_funcs;
- $self->load_badges;
return Apache2::Const::OK;
}
if (@$badges) {
$self->ctx->{badge_scores} = $cstore->request(
'open-ils.cstore.direct.rating.record_badge_score.search.atomic',
- { record => $rec_id, badge => $badges }
+ { record => $rec_id, badge => $badges },
+ { flesh => 1, flesh_fields => { rrbs => ['badge'] } }
)->gather(1);
}
} else {
$ctx->{copy_location_groups} = \%buckets;
}
-my $badge_cache_age = 100;
-my $badge_cache = undef;
-sub load_badges {
- my $self = shift;
- my $ctx = $self->ctx;
-
- # Grab badges every 100 page loads in this apache backend
- if ($badge_cache && --$badge_cache_age) {
- return $ctx->{all_badges} = $badge_cache;
- }
-
- $badge_cache_age = 100;
-
- my $badges = $self->editor->search_rating_badge(
- { id => { '!=' => undef } }
- );
-
- if (@$badges) {
- my %badge_hash = map {($_->id => $_)} @$badges;
- return $ctx->{all_badges} = $badge_cache = \%badge_hash;
- }
-
- return;
-}
-
sub set_file_download_headers {
my $self = shift;
my $filename = shift;
<li id='rdetail_badges'>
<strong class='rdetail_label'>[% l("Badges:") %]</strong>
<ul>
- [% FOR bscore IN ctx.badge_scores; badge_id = bscore.badge %]
- <li><strong>[% ctx.all_badges.$badge_id.name | html %]</strong>: [% bscore.score %]</li>
+ [% FOR bscore IN ctx.badge_scores; %]
+ <li><strong>[% bscore.badge.name | html %]</strong>: [% bscore.score %]</li>
[%- END -%]
</span>
</li>