X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fpart_pkg.pm;h=05dc599136d81ede00ba201900141ca3cf2bba30;hp=30a97227e7890ce2321efe7c2f263a5ceb0a7bae;hb=1a033848671cad2cbe7687b37fc718b3b2a68b83;hpb=303cb4ce4b6ce634e108e3b7a0b43086a5e4f184 diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm index 30a97227e..05dc59913 100644 --- a/FS/FS/part_pkg.pm +++ b/FS/FS/part_pkg.pm @@ -12,6 +12,7 @@ use FS::cust_pkg; use FS::agent_type; use FS::type_pkgs; use FS::part_pkg_option; +use FS::pkg_class; @ISA = qw( FS::Record ); # FS::option_Common ); # this can use option_Common # when all the plandata bs is @@ -58,6 +59,8 @@ inherits from FS::Record. The following fields are currently supported: =item comment - Text name of this package definition (non-customer-viewable) +=item classnum - Optional package class (see L) + =item promo_code - Promotional code =item setup - Setup fee expression (deprecated) @@ -455,6 +458,37 @@ sub check { ''; } +=item pkg_class + +Returns the package class, as an FS::pkg_class object, or the empty string +if there is no package class. + +=cut + +sub pkg_class { + my $self = shift; + if ( $self->classnum ) { + qsearchs('pkg_class', { 'classnum' => $self->classnum } ); + } else { + return ''; + } +} + +=item classname + +Returns the package class name, or the empty string if there is no package +class. + +=cut + +sub classname { + my $self = shift; + my $pkg_class = $self->pkg_class; + $pkg_class + ? $pkg_class->classname + : ''; +} + =item pkg_svc Returns all FS::pkg_svc objects (see L) for this package