X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fpkg_class.pm;h=51d0455a546520be0bb3a46622086576187f38ec;hp=0fa6e4810f050910609fe9fa00a50d5b417faa1c;hb=da86d5a8af2f915a340a74f6c97772451a1e23ef;hpb=c8cccb4a92adceb943c635fe62dad0d034462ce0 diff --git a/FS/FS/pkg_class.pm b/FS/FS/pkg_class.pm index 0fa6e4810..51d0455a5 100644 --- a/FS/FS/pkg_class.pm +++ b/FS/FS/pkg_class.pm @@ -1,11 +1,10 @@ package FS::pkg_class; use strict; -use vars qw( @ISA ); -use FS::Record qw( qsearch ); +use FS::class_Common; +use base qw( FS::class_Common ); use FS::part_pkg; - -@ISA = qw( FS::Record ); +use FS::pkg_category; =head1 NAME @@ -34,9 +33,21 @@ from FS::Record. The following fields are currently supported: =over 4 -=item classnum - primary key (assigned automatically for new package classes) +=item classnum + +primary key (assigned automatically for new package classes) + +=item classname + +Text name of this package class + +=item categorynum -=item classname - Text name of this package class +Number of associated pkg_category (see L) + +=item disabled + +Disabled flag, empty or 'Y' =back @@ -52,6 +63,7 @@ L<"insert">. =cut sub table { 'pkg_class'; } +sub _target_table { 'part_pkg'; } =item insert @@ -64,18 +76,7 @@ Deletes this package class from the database. Only package classes with no associated package definitions can be deleted. If there is an error, returns the error, otherwise returns false. -=cut - -sub delete { - my $self = shift; - - return "Can't delete an pkg_class with part_pkg records!" - if qsearch( 'part_pkg', { 'classnum' => $self->classnum } ); - - $self->SUPER::delete; -} - -=item replace OLD_RECORD +=item replace [ OLD_RECORD ] Replaces OLD_RECORD with this one in the database. If there is an error, returns the error, otherwise returns false. @@ -86,16 +87,24 @@ Checks all fields to make sure this is a valid package class. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods. +=item pkg_category + +=item category + +Returns the pkg_category record associated with this class, or false if there +is none. + =cut -sub check { +sub pkg_category { my $self = shift; + $self->category; +} - $self->ut_numbern('classnum') - or $self->ut_text('classname') - or $self->SUPER::check; +=item categoryname -} +Returns the category name associated with this class, or false if there +is none. =back @@ -103,9 +112,8 @@ sub check { =head1 SEE ALSO -L, L, schema.html from the base documentation. +L, L =cut 1; -