use strict;
use vars qw( @ISA );
use FS::Record qw( qsearch qsearchs );
+use Tie::IxHash;
@ISA = qw(FS::Record);
-our %class_name = (
+tie our %class_name, 'Tie::IxHash', (
'C' => 'cancel',
'R' => 'credit',
'S' => 'suspend',
+ 'F' => 'refund',
+ 'X' => 'credit void',
+ 'I' => 'invoice void',
+ 'P' => 'payment void',
);
our %class_purpose = (
'C' => 'explain why a customer package was cancelled',
'R' => 'explain why a customer was credited',
'S' => 'explain why a customer package was suspended',
+ 'F' => 'explain why a customer was refunded',
+ 'X' => 'explain why a credit was voided',
+ 'I' => 'explain why an invoice was voided',
+ 'P' => 'explain why a payment was voided',
+);
+
+our %class_add_access_right = (
+ 'C' => 'Add on-the-fly cancel reason',
+ 'R' => 'Add on-the-fly credit reason',
+ 'S' => 'Add on-the-fly suspend reason',
+ 'F' => 'Add on-the-fly refund reason',
+ 'X' => 'Add on-the-fly void reason',
+ 'I' => 'Add on-the-fly void reason',
+ 'P' => 'Add on-the-fly void reason',
);
=head1 NAME
=item typenum - primary key
-=item class - currently 'C', 'R', or 'S' for cancel, credit, or suspend
+=item class - one of the keys of %class_name
=item type - name of the type of reason
} );
}
-# _populate_initial_data
-#
# Used by FS::Setup to initialize a new database.
-#
-#
-
sub _populate_initial_data { # class method
my ($self, %opts) = @_;
# my $error = $object->insert();
# die "error inserting $self into database: $error\n"
# if $error;
-# # or clause for 1.7.x
- $conf->set($_, $object->typenum)
- or die "failed setting config";
+ $conf->set($_, $object->typenum);
}
'';
}
-# _upgrade_data
-#
# Used by FS::Upgrade to migrate to a new database.
-#
-#
-
sub _upgrade_data { # class method
my ($self, %opts) = @_;