},
{
+ 'key' => 'date_format_long',
+ 'section' => 'UI',
+ 'description' => 'Verbose format for displaying dates',
+ 'type' => 'select',
+ 'select_hash' => [
+ '%b %o, %Y' => 'Mon DDth, YYYY',
+ '%e %b %Y' => 'DD Mon YYYY',
+ ],
+ },
+
+ {
'key' => 'deletecustomers',
'section' => 'UI',
'description' => 'Enable customer deletions. Be very careful! Deleting a customer will remove all traces that the customer ever existed! It should probably only be used when auditing a legacy database. Normally, you cancel all of a customers\' packages if they cancel service.',
'type' => 'select',
'select_hash' => [
'' => 'Numeric only',
+ '\d{7}' => 'Numeric only, exactly 7 digits',
'ww?d+' => 'Numeric with one or two letter prefix',
],
},
package FS::cust_bill;
use strict;
-use vars qw( @ISA $DEBUG $me $conf $money_char $date_format $rdate_format );
+use vars qw( @ISA $DEBUG $me $conf
+ $money_char $date_format $rdate_format $date_format_long );
use vars qw( $invoice_lines @buf ); #yuck
use Fcntl qw(:flock); #for spool_csv
use List::Util qw(min max);
#ask FS::UID to run this stuff for us later
FS::UID->install_callback( sub {
$conf = new FS::Conf;
- $money_char = $conf->config('money_char') || '$';
- $date_format = $conf->config('date_format') || '%x';
- $rdate_format = $conf->config('date_format') || '%m/%d/%Y';
+ $money_char = $conf->config('money_char') || '$';
+ $date_format = $conf->config('date_format') || '%x'; #/YY
+ $rdate_format = $conf->config('date_format') || '%m/%d/%Y'; #/YYYY
+ $date_format_long = $conf->config('date_format_long') || '%b %o, %Y';
} );
=head1 NAME
my $escape_function_nonbsp = ($format eq 'html')
? \&_html_escape : $escape_function;
- my %date_formats = ( 'latex' => '%b %o, %Y',
- 'html' => '%b %o, %Y',
+ my %date_formats = ( 'latex' => $date_format_long,
+ 'html' => $date_format_long,
'template' => '%s',
);
+ $date_formats{'html'} =~ s/ / /g;
+
my $date_format = $date_formats{$format};
my %embolden_functions = ( 'latex' => sub { return '\textbf{'. shift(). '}'
#invoice info
'invnum' => $self->invnum,
'date' => time2str($date_format, $self->_date),
- 'today' => time2str('%b %o, %Y', $today),
+ 'today' => time2str($date_format_long, $today),
'terms' => $self->terms,
'template' => $template, #params{'template'},
'notice_name' => ($params{'notice_name'} || 'Invoice'),#escape_function?
my ($file, $lfile) = $self->print_latex(@_);
my $ps = generate_ps($file);
- unlink($file.'.tex');
unlink($lfile);
$ps;
my ($file, $lfile) = $self->print_latex(@_);
my $pdf = generate_pdf($file);
- unlink($file.'.tex');
unlink($lfile);
$pdf;