[freeside-commits] freeside/FS/FS Conf.pm, 1.222, 1.223 cust_bill.pm, 1.190, 1.191
Ivan,,,
ivan at wavetail.420.am
Sat Mar 29 18:26:15 PDT 2008
Update of /home/cvs/cvsroot/freeside/FS/FS
In directory wavetail.420.am:/tmp/cvs-serv13740
Modified Files:
Conf.pm cust_bill.pm
Log Message:
fix missing backslash preventing ancient invoice template includes from working, whew! and spiffied up the error reporting on template compile problems, since they're bound to happen when folks edit
Index: Conf.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/Conf.pm,v
retrieving revision 1.222
retrieving revision 1.223
diff -u -d -r1.222 -r1.223
--- Conf.pm 30 Mar 2008 00:57:09 -0000 1.222
+++ Conf.pm 30 Mar 2008 01:26:13 -0000 1.223
@@ -175,11 +175,12 @@
=item key_orbase KEY SUFFIX
If the config value KEY_SUFFIX exists, returns KEY_SUFFIX, otherwise returns
-KEY. Useful for which exact configuration option is returned by config_orbase.
+KEY. Useful for determining which exact configuration option is returned by
+config_orbase.
=cut
-sub configkey_orbase {
+sub key_orbase {
my $self = shift;
#no compat for this...return $self->_usecompat('config_orbase', @_) if use_confcompat;
Index: cust_bill.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/cust_bill.pm,v
retrieving revision 1.190
retrieving revision 1.191
diff -u -d -r1.190 -r1.191
--- cust_bill.pm 15 Mar 2008 19:52:58 -0000 1.190
+++ cust_bill.pm 30 Mar 2008 01:26:13 -0000 1.191
@@ -1635,7 +1635,7 @@
$templatefile .= "_$template"
if length($template);
my @invoice_template = map "$_\n", $conf->config($templatefile)
- or die "cannot load config file $templatefile";
+ or die "cannot load config data $templatefile";
my $old_latex = '';
if ( $format eq 'latex' && grep { /^%%Detail/ } @invoice_template ) {
@@ -1653,7 +1653,7 @@
);
$text_template->compile()
- or die 'While compiling ' . $templatefile . ': ' . $Text::Template::ERROR;
+ or die "Can't compile $templatefile: $Text::Template::ERROR\n";
# additional substitution could possibly cause breakage in existing templates
@@ -1863,33 +1863,38 @@
#do variable substitution in notes, footer, smallfooter
foreach my $include (qw( notes footer smallfooter )) {
- my @inc_src = $conf->config_orbase("invoice_latex$include", $template );
- my $convert_map = $convert_maps{$format}{$include};
+ my $inc_file = $conf->key_orbase("invoice_${format}$include", $template);
+ my @inc_src;
+
+ if ( $conf->exists($inc_file) && length( $conf->config($inc_file) ) ) {
+
+ @inc_src = $conf->config($inc_file);
- if (
- defined( $conf->config_orbase("invoice_${format}$include", $template) )
- && length( $conf->config_orbase('invoice_${format}$include', $template) )
- ) {
- @inc_src = $conf->config_orbase("invoice_${format}$include", $template );
} else {
- @inc_src =
- map { s/\[@--/$delimiters{$format}[0]/g;
- s/--@]/$delimiters{$format}[1]/g;
- $_;
- }
- &$convert_map(
- $conf->config_orbase("invoice_latex$include", $template )
- );
+
+ $inc_file = $conf->key_orbase("invoice_latex$include", $template);
+
+ my $convert_map = $convert_maps{$format}{$include};
+
+ @inc_src = map { s/\[@--/$delimiters{$format}[0]/g;
+ s/--@\]/$delimiters{$format}[1]/g;
+ $_;
+ }
+ &$convert_map( $conf->config($inc_file) );
+
}
my $inc_tt = new Text::Template (
TYPE => 'ARRAY',
SOURCE => [ map "$_\n", @inc_src ],
DELIMITERS => $delimiters{$format},
- ) or die "can't create new Text::Template object: $Text::Template::ERROR";
+ ) or die "Can't create new Text::Template object: $Text::Template::ERROR";
- $inc_tt->compile()
- or die "can't compile template: $Text::Template::ERROR";
+ unless ( $inc_tt->compile() ) {
+ my $error = "Can't compile $inc_file template: $Text::Template::ERROR\n";
+ warn $error. "Template:\n". join('', map "$_\n", @inc_src);
+ die $error;
+ }
$invoice_data{$include} = $inc_tt->fill_in( HASH => \%invoice_data );
More information about the freeside-commits
mailing list