X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_main_exemption.pm;h=4fe6b71789d974e8936d19e32e961769405e35ac;hb=3cbdd85a96348a287623e3b97c937c7749e99392;hp=06d22b7e0ae64bd392db8e737ec60578338dac6e;hpb=0fb307c305e4bc2c9c27dc25a3308beae3a4d33c;p=freeside.git 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; }