X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Freason_type.pm;h=1d049861d92527264302ebc0b3131b553520ab7d;hp=193d47e532a43d7f5cf959755ee47fdf0b8b9d04;hb=HEAD;hpb=e8a09e945986a32f9b7d0a5d546142ada91654ca diff --git a/FS/FS/reason_type.pm b/FS/FS/reason_type.pm index 193d47e53..1d049861d 100644 --- a/FS/FS/reason_type.pm +++ b/FS/FS/reason_type.pm @@ -3,19 +3,38 @@ package FS::reason_type; 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 we cancel a package', - 'R' => 'explain why we credit a customer', - 'S' => 'explain why we suspend a package', + '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 @@ -46,7 +65,7 @@ inherits from FS::Record. The following fields are currently supported: =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 @@ -131,12 +150,7 @@ sub enabled_reasons { } ); } -# _populate_initial_data -# # Used by FS::Setup to initialize a new database. -# -# - sub _populate_initial_data { # class method my ($self, %opts) = @_; @@ -162,21 +176,14 @@ sub _populate_initial_data { # class method # 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) = @_;