From: ivan Date: Fri, 10 Oct 2008 23:36:17 +0000 (+0000) Subject: quick kludge to eliminate exact duplicates in h_labels_short in an effort to reduce... X-Git-Tag: freeside_1_7_4rc1~166 X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=458ee7e44e909197be3754141ee1d3c4a84533cc;p=freeside.git quick kludge to eliminate exact duplicates in h_labels_short in an effort to reduce the number of "XXX service listing twice on invoice" incidents, RT#3944. still should be possible to fundamentally do better with the function in the first place --- diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index 606cb5407..bc6e46b61 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -1380,7 +1380,8 @@ sub h_labels_short { foreach $self->h_labels(@_); my @labels; foreach my $label ( keys %labels ) { - my @values = @{ $labels{$label} }; + my %seen = (); + my @values = grep { ! $seen{$_}++ } @{ $labels{$label} }; my $num = scalar(@values); if ( $num > $max_same_services ) { push @labels, "$label ($num)";