internationalization/localization, RT12515
[freeside.git] / httemplate / view / cust_main / notes.html
index ed50c58..71c4fb4 100755 (executable)
@@ -1,36 +1,45 @@
-%
-% my $conf = new FS::Conf;
-% my $curuser = $FS::CurrentUser::CurrentUser;
-%
-% $cgi->param('custnum') =~ /^(\d+)$/
-%   or die "No customer specified (bad URL)!";
-% my $custnum = $1;
-%
-% my $cust_main = qsearchs('cust_main', {'custnum' => $custnum} );
-% die "Custimer not found!" unless $cust_main;
-%
+% if ( scalar(@notes) ) {
 
-<STYLE TYPE="text/css">
+<SCRIPT TYPE="text/javascript">
 
-body { background: #e8e8e8 }
-.inv table { border: none }
-.inv TH { border: none }
-.inv TD { border: none }
+    function display_notes_classnum(classnum){
+       document.getElementById('notes_'+classnum).style.display = 'block';
+       document.getElementById('notes_tablink_'+classnum).style.fontWeight = 'bold';
 
-</STYLE>
+       var divs = document.getElementsByTagName("div");
+       var i;
+       for(i=0; i < divs.length; i++){
+           var d = divs[i];
+           if(d.id.length > 6 && d.id.substring(0,6) == 'notes_') {
+               if(divs[i].id != 'notes_'+classnum) {
+                   divs[i].style.display = 'none';
+               }
+           }
+       }
+       
+       var as = document.getElementsByTagName("a");
+       for(i=0; i < as.length; i++){
+           var a = as[i];
+           if(a.id.length > 14 && a.id.substring(0,14) == 'notes_tablink_') {
+               if(as[i].id != 'notes_tablink_'+classnum) {
+                   as[i].style.fontWeight = 'normal';
+               }
+           }
+       }
+    }
 
-% my (@notes) = $cust_main->notes();
-% if ( scalar(@notes) ) { 
+</SCRIPT>
 
-<% include('/elements/init_overlib.html') %>
+  <% include('/elements/init_overlib.html') %>
 
-<TABLE CLASS="inv" CELLSPACING=0 CELLPADDING=0 BORDER=0 >
-
-%   my $bgcolor1 = '#eeeeee';
-%   my $bgcolor2 = '#ffffff';
-%   my $bgcolor = '';
+% my $bgcolor1 = '#eeeeee';
+% my $bgcolor2 = '#ffffff';
+% my $bgcolor = '';
+% my $last_classnum = -1;
+% my $skipheader = 0;
+% my %classes = ();
 %
-%   foreach my $note (@notes) {
+% foreach my $note (@notes) {
 %
 %   if ( $bgcolor eq $bgcolor1 ) {
 %     $bgcolor = $bgcolor2;
@@ -41,55 +50,118 @@ body { background: #e8e8e8 }
 %   my $pop = popurl(3);
 %   my $notenum = $note->notenum;
 %   my $onclick = include( '/elements/popup_link_onclick.html',
-%                            'action'      => popurl(3).
+%                            'action'      => popurl(2).
 %                                             'edit/cust_main_note.cgi'.
 %                                             "?custnum=$custnum".
 %                                             ";notenum=$notenum",
-%                            'actionlabel' => 'Edit customer note',
+%                            'actionlabel' => mt('Edit customer note'),
 %                            'width'       => 616,
-%                            'height'      => 408,
+%                            'height'      => 538, #575
 %                            'frame'       => 'top',
 %                        );
 %   my $clickjs = qq!onclick="$onclick"!;
 %
-%   my ($el, $eel);
+%   my $edit = '';
+%   if ($curuser->access_right('Edit customer note') ) {
+%     my $editlabel = mt('edit');
+%     $edit = qq! <A HREF="javascript:void(0);" $clickjs>($editlabel)</A>!;
+%   }
+%
+% if ( $last_classnum != $note->classnum && !$skipheader ) {
+% my $tmp_classnum = $note->classnum ? $note->classnum : 0;
+% $classes{$tmp_classnum} = $note->classname ne '' ? $note->classname 
+%                                                   : mt('Other');
+% if ( $last_classnum != -1 ) {
+    </TABLE>
+  </DIV>
+% }
+% my $display = ($tmp_classnum == 0 || !$conf->exists('note-classes') 
+%                                  || $conf->config('note-classes') < 2) 
+%                                                          ? 'block' : 'none';
+       <DIV    id="notes_<% $tmp_classnum %>"
+               style="display:<% $display %>"
+       >
+       <% include("/elements/table-grid.html") %>
+       <TR>
+           <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Date') |h %></TH>
+%   if ( $conf->exists('cust_main_note-display_times') ) {
+           <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Time') |h %></TH>
+%   }
+           <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Person') |h %></TH>
+%   if ($conf->exists('note-classes') && $conf->config('note-classes') == 1) {
+           <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Class') |h %></TH>
+%   }
+           <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Note') |h %></TH>
 %   if ($curuser->access_right('Edit customer note') ) {
-%     $el  = qq!<A HREF="javascript:void(0);" $clickjs>!;
-%     $eel = qq!</A>!;
-%   }else{
-%     $el = $eel = '';
+           <TH CLASS="grid" BGCOLOR="#cccccc">&nbsp;</TH>
 %   }
+       </TR>
+% $skipheader = (!$conf->exists('note-classes') || $conf->config('note-classes') < 2);
+% $last_classnum = $note->classnum;
+% }
 
-<TR>
-  <% note_datestr($note,$conf,$bgcolor, $el, $eel) %>
-  <TD CLASS="inv" BGCOLOR="<% $bgcolor %>">
-    <% $el %> &nbsp;<%$note->otaker%>&nbsp; <% $eel %>
-  </TD>
-  <TD CLASS="inv" BGCOLOR="<% $bgcolor %>">
-    &nbsp;<%$note->comments%>
-  </TD>
-</TR>
+    <TR>
+      <% note_datestr($note,$conf,$bgcolor) %>
+      <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
+        &nbsp;<% $note->usernum ? $note->access_user->name : $note->otaker %>
+      </TD>
+% if ($conf->exists('note-classes') && $conf->config('note-classes') == 1) {
+      <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
+       <% $note->classname %>   
+      </TD>
+% }
+      <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
+        <% $note->comments | defang %>
+      </TD>
+% if($edit) {
+      <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"><% $edit %></TD>
+% }
+    </TR>
 
 % } #end display notes
 
 </TABLE>
+</DIV>
 
-% } 
-%
-%#subroutines
-%
-%sub note_datestr {
-% my($note, $conf, $bgcolor, $el, $eel) = @_ or return '';
-% my $format=qq{<TD class="inv" bgcolor="$bgcolor" align="left">$el<B>%b</B>$eel</TD>}.
-%            qq{<TD class="inv" bgcolor="$bgcolor" align="right">$el<B>&nbsp;%o,</B>$eel</TD>}.
-%            qq{<TD class="inv" bgcolor="$bgcolor" align="right">$el<B>&nbsp;%Y&nbsp;</B>$eel</TD>};
-% $format .= qq{<TD class="inv" bgcolor="$bgcolor" ALIGN="right">$el<B>&nbsp;%l$eel</TD>}.
-%            qq{<TD class="inv" bgcolor="$bgcolor" ALIGN="center">$el<B>:</B>$eel</TD>}.
-%            qq{<TD class="inv" bgcolor="$bgcolor" ALIGN="left">$el<B>%M</B>$eel</TD>}.
-%            qq{<TD class="inv" bgcolor="$bgcolor" ALIGN="left">$el<B>&nbsp;%P&nbsp;</B>$eel</TD>}
-%     if $conf->exists('cust_main_note-display_times');
-%   ( my $strip = time2str($format, $note->_date) ) =~ s/ (\d)/$1/g;
-%   $strip;
+% if ( $conf->exists('note-classes') && $conf->config('note-classes') == 2 ) {
+%      my($classnum,$classname);
+<% mt('Show notes of class:') |h %> &nbsp; 
+%      foreach my $classnum ( sort { $b <=> $a } (keys %classes) ) {
+           <A  id="notes_tablink_<% $classnum %>"
+               HREF="javascript:display_notes_classnum(<% $classnum %>)"
+               style="font-weight: <% $classnum == 0 ? 'bold' : 'normal' %>"
+           ><% $classes{$classnum} %></A>
+%      }
+    <BR>
 % }
-%
 
+% }
+<%init>
+
+use HTML::Defang;
+
+my $conf = new FS::Conf;
+my $curuser = $FS::CurrentUser::CurrentUser;
+
+my(%opt) = @_;
+
+my $custnum = $opt{'custnum'};
+
+my $cust_main = qsearchs('cust_main', {'custnum' => $custnum} );
+die "Customer not found!" unless $cust_main;
+
+my (@notes) = $cust_main->notes($conf->exists('note-classes') && $conf->config('note-classes') == 2);
+
+#subroutines
+
+sub note_datestr {
+  my($note, $conf, $bgcolor) = @_ or return '';
+  my $td = qq{<TD CLASS="grid" BGCOLOR="$bgcolor" ALIGN="right">};
+  my $format = "$td%b&nbsp;%o,&nbsp;%Y</TD>";
+  $format .= "$td%l:%M%P</TD>"
+    if $conf->exists('cust_main_note-display_times');
+  ( my $strip = time2str($format, $note->_date) ) =~ s/ (\d)/$1/g;
+  $strip;
+}
+
+</%init>