diff options
| -rw-r--r-- | conf/invoice_html | 25 | 
1 files changed, 17 insertions, 8 deletions
diff --git a/conf/invoice_html b/conf/invoice_html index fe2a9a976..2073d7ff4 100644 --- a/conf/invoice_html +++ b/conf/invoice_html @@ -87,6 +87,7 @@    <%= $summary %>    <%=        my $notfirst = 0; +      my $columncount = $unitprices ? 5 : 3;        foreach my $section ( grep { !$summary || $_->{description} ne $finance_section } @sections ) {          if ($section->{'pretotal'} && !$summary) {            $OUT .= '</table>' if $notfirst; @@ -120,7 +121,9 @@              '<tr>';            if ($section->{header_generator}) { -            $OUT .= &{$section->{header_generator}}(); +            my $header = &{$section->{header_generator}}(); +            $OUT .= $header; +            $columncount = scalar(my @array = split /<\/th><th/i, $header);            } else {              $OUT .=  '<th align="center">Ref</th>'.                       '<th align="left">Description</th>'. @@ -162,19 +165,25 @@              $OUT .= '</tr>';              $lastref = $line->{'ref'};              if ( @{$line->{'ext_description'} } ) { -              $OUT .= '<tr class="invoice_extdesc"><td></td><td'; -              $OUT .= $unitprices ? ' colspan=3>' : '>'; -              $OUT .= '<table width="100%">'; +              unless ( $section->{description_generator} ) { +                $OUT .= '<tr class="invoice_extdesc"><td></td><td'; +                $OUT .= $unitprices ? ' colspan=3' : ''; +                $OUT .= '><table width="100%">'; +              }                foreach my $ext_desc ( @{$line->{'ext_description'} } ) {                  $OUT .=                    '<tr class="invoice_extdesc">'. +                    ( $section->{'description_generator'} ? '<td></td>' : '' ).                      '<td align="left" '.                           ( $ext_desc =~ /<\/?TD>/i ? '' : 'colspan=99' ). '>'.                        '  '. $ext_desc.                      '</td>'.                    '</tr>'                } -              $OUT .= '</table></td><td></td></tr>'; +              unless ( $section->{description_generator} ) { +                $OUT .= '</table></td><td></td>'; +              } +              $OUT .= '</tr>';              }            } @@ -198,7 +207,7 @@            }          }           if ($section->{'posttotal'}) { -          $OUT .= '<tr><td align="right" colspan=5>'; +          $OUT .= '<tr><td align="right" colspan='. $columncount. '>';            $OUT .=              '<p><font size="+1">'. $section->{'posttotal'}.              '</font>'. @@ -224,8 +233,8 @@            $OUT .= &{$section->{total_line_generator}}($line);          } else {            $OUT .= qq(<td style="$style"> </td>). -                  qq(<td align="left" style="$style"). -                  ( $unitprices ? ' colspan=3>' : '>' ). +                  qq(<td align="left" style="$style" colspan="). +                    ( $columncount - 2 ). '">'.                      $line->{'total_item'}. '</td>'.                    qq(<td align="right" style="$style">).                      $line->{'total_amount'}. '</td>';  | 
