make invoice text mouse-accessible through watermark box, #24665
[freeside.git] / conf / invoice_html
index cd34827..dfd87c7 100644 (file)
@@ -1,6 +1,18 @@
 <STYLE TYPE="text/css">
-.invoice { font-family: sans-serif; font-size: 10pt }
-.invoice_header { font-size: 10pt }
+.invoice {
+  font-family: sans-serif;
+  font-size: 10pt;
+  display: inline-block;
+  padding: 4pt;
+  border: 1px solid black;
+  background-color: white;
+  min-width: 625px;
+  position: relative;
+}
+.invoice_header {
+  font-size: 10pt;
+  border-spacing: 4pt;
+}
 .invoice_headerright TH { border-top: 2px solid #000000; border-bottom: 2px solid #000000 }
 .invoice_headerright TD { font-size: 10pt; empty-cells: show }
 .invoice_summary TH { border-bottom: 2px solid #000000 }
 .invoice_desc_more TD { font-weight: bold; font-size: 10pt }
 .invoice_extdesc TD { font-size: 8pt }
 .invoice_totaldesc TD { font-size: 10pt; empty-cells: show }
-.allcaps { text-transform:uppercase }
+.allcaps { text-transform:uppercase; font-size: 12pt }
+.watermark-box {
+  z-index: 10;
+  position: absolute;
+  text-align: center;
+  padding: 0;
+  filter: alpha(opacity=25);
+  opacity: 0.25;
+  width: 100%;
+  height: 100%;
+  display: table;
+  pointer-events: none;
+}
+.watermark-content {
+  display: table-cell;
+  vertical-align: middle;
+  font-size: 96pt;
+}
 </STYLE>
 
-<table class="invoice" bgcolor="#ffffff" WIDTH=625 CELLSPACING=8><tr><td>
+<div class="invoice">
+
+  <DIV CLASS="watermark-box"><DIV CLASS="watermark-content">
+      <%= $watermark %>
+  </DIV></DIV>
 
   <table class="invoice_header" width="100%">
     <tr>
         unless ($section->{'summarized'}) {
           $OUT .= '</table>' if ( $notfirst || $section->{'pretotal'} && !$summary );
           $OUT .= '<table><tr><td>';
-          my $sectionhead = $section->{'description'} || emt('Charges');
-          $OUT .=
-              '<p class="allcaps"><b><font size="+1">'. substr($sectionhead,0,1).
+          $OUT .= '<p class="allcaps"><b>';
+          my $sectionhead;
+          if ( $section->{'location'} ) {
+            $sectionhead .= $section->{'location'}{'label_prefix'}. ': '
+              if length($section->{'location'}{'label_prefix'});
+            $sectionhead = $section->{'location'}{'address1'};
+            $sectionhead .= ', '.$section->{'location'}{'address2'}
+              if length($section->{'location'}{'address2'});
+            $sectionhead .= ', ' .
+                            $section->{'location'}{'city'} . ', ' .
+                            $section->{'location'}{'state'} . ' ' .
+                            $section->{'location'}{'zip'};
+            $OUT .= $sectionhead;
+          } else {
+            $sectionhead = $section->{'description'} || emt('Charges');
+            $OUT .= '<font size="+1">'. substr($sectionhead,0,1).
               '</font><font size="+0">'. substr($sectionhead,1).
-              '</font></b>'.
-              '<p>'.
-              '</td></tr></table>';
+          
+              '</font>';
+          }
+          $OUT .= '</b></p></td></tr></table>';
 
           $OUT .=
             '<table class="invoice_longtable" CELLSPACING=0 WIDTH="100%">'.
             $OUT .= $header;
             $columncount = scalar(my @array = split /<\/th><th/i, $header);
           } else {
-            $OUT .=  '<th align="center">' . emt('Ref') . '</th>'.
+            $OUT .=  '<th align="center"></th>'.
                      '<th align="left">' . emt('Description') . '</th>'.
                      ( $unitprices 
                        ? '<th align="right">' . emt('Unit Price') . '</th>'.
                  ) }
             @detail_items )
           {
-            $OUT .=
-              '<tr class="invoice_desc';
             if ( $section->{description_generator} ) {
-              $OUT .= &{$section->{description_generator}}($line);
+              $OUT .= '<tr class="invoice_desc' .
+                      &{$section->{description_generator}}($line);
             } else {
-              $OUT .=  ( ($line->{'ref'} && $line->{'ref'} ne $lastref) ? '' : '_more' ).
-                       '">'.
-                       '<td align="center">'. 
-                       ( $line->{'ref'} ne $lastref ? $line->{'ref'} : '' ). '</td>'.
-                       '<td align="left">'. $line->{'description'}. '</td>'.
-                       ( $unitprices 
-                           ? '<td align="right">'. $line->{'unit_amount'}. '</td>'.
-                             '<td align="right">'. $line->{'quantity'}. '</td>'
-                           : ''
-                       ).
-
-                       '<td align="right">'. $line->{'amount'}. '</td>';
+              my $class = 'invoice_desc_more';
+              if ( ($line->{'ref'} || 0) ne $lastref ) {
+                # then it's a new package (not a continuation)
+                $class = 'invoice_desc';
+              }
+              $OUT .= '<tr class="'.$class.'">
+                       <td align="center">';
+              $OUT .= '</td>
+                       <td align="left">'. $line->{'description'}. '</td>';
+              if ( $unitprices ) {
+                $OUT .= 
+                  '<td align="right">'. $line->{'unit_amount'}. '</td>'.
+                  '<td align="right">'. $line->{'quantity'}. '</td>';
+              }
+              $OUT .= '<td align="right">'. $line->{'amount'}. '</td>';
             }
             $OUT .= '</tr>';
-            $lastref = $line->{'ref'};
+            $lastref = $line->{'ref'} || 0;
             if ( @{$line->{'ext_description'} } ) {
               unless ( $section->{description_generator} ) {
                 $OUT .= '<tr class="invoice_extdesc"><td></td><td';
   <hr NOSHADE SIZE=2 COLOR="#000000">
   <p align="center" <%= $smallerfooter ? 'STYLE="font-size:75%;"' : '' %>><%= $footer %>
 
-</td></tr></table>
+</div>