+ return $desc;
+ }
+
+}
+
+=item time_period_pretty PART_PKG, AGENTNUM
+
+Returns a formatted time period for this line item.
+
+=cut
+
+sub time_period_pretty {
+ my( $self, $part_pkg, $agentnum ) = @_;
+
+ #more efficient to look some of this conf stuff up outside the
+ # invoice/template display loop we're called from
+ # (Template_Mixin::_invoice_cust_bill_pkg) and pass them in as options
+
+ return '' if $conf->exists('disable_line_item_date_ranges')
+ || $part_pkg->option('disable_line_item_date_ranges',1)
+ || ! $self->sdate
+ || ! $self->edate;
+
+ my $date_style = '';
+ $date_style = $conf->config( 'cust_bill-line_item-date_style-non_monhtly',
+ $agentnum
+ )
+ if $part_pkg && $part_pkg->freq !~ /^1m?$/;
+ $date_style ||= $conf->config( 'cust_bill-line_item-date_style',
+ $agentnum
+ );
+
+ my $time_period;
+ if ( defined($date_style) && $date_style eq 'month_of' ) {
+ # (now watch, someone's going to make us do Chinese)
+ $time_period = $self->mt('The month of [_1]',
+ $self->time2str_local('%B', $self->sdate)
+ );
+ } elsif ( defined($date_style) && $date_style eq 'X_month' ) {
+ my $desc = $conf->config( 'cust_bill-line_item-date_description',
+ $agentnum
+ );
+ $desc .= ' ' unless $desc =~ /\s$/;
+ $time_period = $desc. $self->time2str_local('%B', $self->sdate);
+ } else {
+ $time_period = $self->time2str_local($date_format, $self->sdate).
+ " - ". $self->time2str_local($date_format, $self->edate);