+ my $query = [ parts_id => $item->parts_id, price => { gt => 0 } ];
+
+ # add a pricegroup_filter for obsolete pricegroups, unless part of an
+ # existing pricegroup where that pricegroup was actually used.
+ if ( $self->record->id and $item->active_price_source =~ m/^pricegroup/ ) {
+ my ($pricegroup_id) = $item->active_price_source =~ m/^pricegroup\/(\d+)$/;
+ push(@{$query}, or => [ 'pricegroup.obsolete' => 0, 'pricegroup_id' => $pricegroup_id ]);
+ } else {
+ push(@{$query}, 'pricegroup.obsolete' => 0);
+ }
+