package FS::part_svc;
+use base qw(FS::o2m_Common FS::Record);
use strict;
use vars qw( @ISA $DEBUG );
use Tie::IxHash;
use FS::export_svc;
use FS::cust_svc;
use FS::part_svc_class;
-
-@ISA = qw(FS::Record);
+use FS::part_svc_msgcat;
$DEBUG = 0;
map { $_->svc_x } $self->cust_svc;
}
+=item svc_locale LOCALE
+
+Returns a customer-viewable service definition label in the chosen LOCALE.
+If there is no entry for that locale or if LOCALE is empty, returns
+part_svc.svc.
+
+=cut
+
+sub svc_locale {
+ my( $self, $locale ) = @_;
+ return $self->svc unless $locale;
+ my $part_svc_msgcat = qsearchs('part_svc_msgcat', {
+ svcpart => $self->svcpart,
+ locale => $locale
+ }) or return $self->svc;
+ $part_svc_msgcat->svc;
+}
+
+# 3.x stub
+sub part_svc_msgcat {
+ my $self = shift;
+ qsearch('part_svc_msgcat', { 'svcpart' => $self->svcpart });
+}
+
=back
=head1 CLASS METHODS
$param->{'svcpart'} = $new->getfield('svcpart');
}
+ $error ||= $new->process_o2m(
+ 'table' => 'part_svc_msgcat',
+ 'params' => $param,
+ 'fields' => [ 'locale', 'svc' ],
+ );
+
die "$error\n" if $error;
}