X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fcust_main_exemption.pm;h=4fe6b71789d974e8936d19e32e961769405e35ac;hp=06d22b7e0ae64bd392db8e737ec60578338dac6e;hb=368ed08e24400e9d1faf401a1e4e23ea54d2c969;hpb=40a7b3dc653e099f7bd0bd762b649b04c4432db2 diff --git a/FS/FS/cust_main_exemption.pm b/FS/FS/cust_main_exemption.pm index 06d22b7e0..4fe6b7178 100644 --- a/FS/FS/cust_main_exemption.pm +++ b/FS/FS/cust_main_exemption.pm @@ -1,9 +1,8 @@ package FS::cust_main_exemption; +use base qw( FS::Record ); use strict; -use base qw( FS::Record ); -use FS::Record qw( qsearch qsearchs ); -use FS::cust_main; +use FS::Conf; =head1 NAME @@ -44,6 +43,9 @@ Customer (see L) taxname +=item exempt_number + +Exemption number =back @@ -108,9 +110,20 @@ sub check { $self->ut_numbern('exemptionnum') || $self->ut_foreign_key('custnum', 'cust_main', 'custnum') || $self->ut_text('taxname') + || $self->ut_textn('exempt_number') ; return $error if $error; + my $conf = new FS::Conf; + return 'Tax exemption number required for '. $self->taxname. ' exemption' + if ! $self->exempt_number + && ( $conf->exists('tax-cust_exempt-groups-require_individual_nums') + || $conf->config('tax-cust_exempt-groups-num_req') eq 'all' + || ( $conf->config('tax-cust_exempt-groups-num_req') eq 'residential' + && ! $self->cust_main->company + ) + ); + $self->SUPER::check; }