X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_main.pm;h=f9cb3428978c832a7573e0b1078f5a345abe2bbf;hb=9f0cf3c4adeb541827d1620576db11e99599bca6;hp=25b3d0804853f467be12388ddb811ed565299886;hpb=c85feb8ed34e07182695757322dfe132f6485045;p=freeside.git diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index 25b3d0804..f9cb34289 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -20,15 +20,17 @@ use base qw( FS::cust_main::Packages require 5.006; use strict; use Carp; +use Try::Tiny; use Scalar::Util qw( blessed ); -use Time::Local qw(timelocal); -use Data::Dumper; +use List::Util qw(min); use Tie::IxHash; +use File::Temp; #qw( tempfile ); +use Data::Dumper; +use Time::Local qw(timelocal); use Date::Format; #use Date::Manip; -use File::Temp; #qw( tempfile ); +use Email::Address; use Business::CreditCard 0.28; -use List::Util qw(min); use FS::UID qw( dbh driver_name ); use FS::Record qw( qsearchs qsearch dbdef regexp_sql ); use FS::Cursor; @@ -1774,6 +1776,7 @@ sub check { || $self->ut_floatn('credit_limit') || $self->ut_numbern('billday') || $self->ut_numbern('prorate_day') + || $self->ut_flag('force_prorate_day') || $self->ut_flag('edit_subject') || $self->ut_flag('calling_list_exempt') || $self->ut_flag('invoice_noemail') @@ -2100,6 +2103,10 @@ sub check { && ! $self->custnum && $conf->exists('cust_main-require_locale'); + return "Please select a customer class" + if ! $self->classnum + && $conf->exists('cust_main-require_classnum'); + foreach my $flag (qw( tax spool_cdr squelch_cdr archived email_csv_cdr )) { $self->$flag() =~ /^(Y?)$/ or return "Illegal $flag: ". $self->$flag(); $self->$flag($1); @@ -3271,8 +3278,9 @@ sub contact_list_email { my @emails; foreach my $contact (@contacts) { foreach my $contact_email ($contact->contact_email) { - push @emails, - $contact->firstlast . ' <' . $contact_email->emailaddress . '>'; + push @emails, Email::Address->new( $contact->firstlast, + $contact_email->emailaddress + )->format; } } @emails;