per-agent disable_previous_balance, #15863
[freeside.git] / FS / FS / pkg_category.pm
index 0beaf1c..cd875d1 100644 (file)
@@ -1,11 +1,12 @@
 package FS::pkg_category;
 
 use strict;
+use base qw( FS::category_Common );
 use vars qw( @ISA $me $DEBUG );
 use FS::Record qw( qsearch dbh );
+use FS::pkg_class;
 use FS::part_pkg;
 
-@ISA = qw( FS::Record );
 $DEBUG = 0;
 $me = '[FS::pkg_category]';
 
@@ -36,11 +37,21 @@ inherits from FS::Record.  The following fields are currently supported:
 
 =over 4
 
-=item categorynum - primary key (assigned automatically for new package categoryes)
+=item categorynum
 
-=item categoryname - Text name of this package category
+primary key (assigned automatically for new package categoryes)
 
-=item disabled - Disabled flag, empty or 'Y'
+=item categoryname
+
+Text name of this package category
+
+=item weight
+
+Weight
+
+=item disabled
+
+Disabled flag, empty or 'Y'
 
 =back
 
@@ -50,8 +61,8 @@ inherits from FS::Record.  The following fields are currently supported:
 
 =item new HASHREF
 
-Creates a new package category.  To add the package category to the database, see
-L<"insert">.
+Creates a new package category.  To add the package category to the database,
+see L<"insert">.
 
 =cut
 
@@ -64,22 +75,11 @@ error, otherwise returns false.
 
 =item delete
 
-Deletes this package category from the database.  Only package categoryes 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_category with pkg_class records!"
-    if qsearch( 'pkg_class', { 'categorynum' => $self->categorynum } );
-
-  $self->SUPER::delete;
-}
+Deletes this package category from the database.  Only package categoryes with
+no associated package definitions can be deleted.  If there is an error,
+returns the error, otherwise returns false.
 
-=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.
@@ -92,21 +92,9 @@ replace methods.
 
 =cut
 
-sub check {
-  my $self = shift;
-
-  $self->ut_numbern('categorynum')
-  or $self->ut_text('categoryname')
-  or $self->ut_snumber('weight')
-  or $self->SUPER::check;
-
-}
-
 # _ upgrade_data
 #
 # Used by FS::Upgrade to migrate to a new database.
-#
-#
 
 sub _upgrade_data {
   my ($class, %opts) = @_;
@@ -136,7 +124,7 @@ sub _upgrade_data {
 
 =head1 SEE ALSO
 
-L<FS::Record>, L<FS::part_pkg>, schema.html from the base documentation.
+L<FS::category_Common>, L<FS::Record>
 
 =cut