X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FMisc.pm;h=9a4318086fcfcf9aa22e0fc5f2751905e34ed881;hp=e1f654c346712aa30b24666701c81ed0220c4a1e;hb=389b6f1116c3309c2ee57a6c295ed1a793503095;hpb=573a1f97af61acd6d31c70321acbf7bb06bbcebf diff --git a/FS/FS/Misc.pm b/FS/FS/Misc.pm index e1f654c34..9a4318086 100644 --- a/FS/FS/Misc.pm +++ b/FS/FS/Misc.pm @@ -284,7 +284,8 @@ sub send_email { 'status' => ($error ? 'failed' : 'sent'), 'msgtype' => $options{'msgtype'}, }); - $cust_msg->insert; # ignore errors + my $log_error = $cust_msg->insert; + warn "Error logging message: $log_error\n" if $log_error; # at least warn } $error; @@ -413,34 +414,6 @@ sub generate_email { } -=item process_send_email OPTION => VALUE ... - -Takes arguments as per generate_email() and sends the message. This -will die on any error and can be used in the job queue. - -=cut - -sub process_send_email { - my %message = @_; - my $error = send_email(generate_email(%message)); - die "$error\n" if $error; - ''; -} - -=item process_send_generated_email OPTION => VALUE ... - -Takes arguments as per send_email() and sends the message. This -will die on any error and can be used in the job queue. - -=cut - -sub process_send_generated_email { - my %args = @_; - my $error = send_email(%args); - die "$error\n" if $error; - ''; -} - =item send_fax OPTION => VALUE ... Options: @@ -537,6 +510,9 @@ use Locale::SubCountry; sub states_hash { my($country) = @_; + #a hash? not expecting an explosion of business from unrecognized countries.. + return states_hash_nosubcountry($country) if $country eq 'XC'; + my @states = # sort map { s/[\n\r]//g; $_; } @@ -559,6 +535,27 @@ sub states_hash { @states; } +sub states_hash_nosubcountry { + my($country) = @_; + + my @states = +# sort + map { s/[\n\r]//g; $_; } + map { $_->state; } + qsearch({ + 'select' => 'state', + 'table' => 'cust_main_county', + 'hashref' => { 'country' => $country }, + 'extra_sql' => 'GROUP BY state', + }); + + #"i see your schwartz is as big as mine!" + map { ( $_->[0] => $_->[1] ) } + sort { $a->[1] cmp $b->[1] } + map { [ $_ => $_ ] } + @states; +} + =item counties STATE COUNTRY Returns a list of counties for this state and country.