72901: OFM Freeside Note Classes [additional v3 tweaks]
[freeside.git] / httemplate / view / cust_main / notes.html
index f10eccf..1692519 100755 (executable)
@@ -1,93 +1,98 @@
-%
-% 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;
-%
-
-<STYLE TYPE="text/css">
-
-body { background: #e8e8e8 }
-.inv table { border: none }
-.inv TH { border: none }
-.inv TD { border: none }
-
-</STYLE>
-
-% my (@notes) = $cust_main->notes();
-% if ( scalar(@notes) ) { 
-
-<SCRIPT TYPE="text/javascript" SRC="/elements/overlibmws.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" SRC="/elements/overlibmws_iframe.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" SRC="/elements/overlibmws_crossframe.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" SRC="/elements/iframecontentmws.js"></SCRIPT>
-
-<TABLE CLASS="inv" CELLSPACING=0 CELLPADDING=0 BORDER=0 >
-
-%   my $bgcolor1 = '#eeeeee';
-%   my $bgcolor2 = '#ffffff';
-%   my $bgcolor = '';
-%
-%   foreach my $note (@notes) {
-%
-%   if ( $bgcolor eq $bgcolor1 ) {
-%     $bgcolor = $bgcolor2;
-%   } else {
-%     $bgcolor = $bgcolor1;
-%   }
-%
-%   my $pop = popurl(3);
-%   my $notenum = $note->notenum;
-%   my $clickjs = qq!onclick="overlib( OLiframeContent('${pop}edit/! .
-%                 qq!cust_main_note.cgi?custnum=$custnum&! .
-%                 qq!notenum=$notenum', 616, ! .
-%                 qq!386, 'cust_main_note_popup' ), CAPTION, 'Edit customer ! .
-%                 qq!note', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, ! .
-%                 qq!CLOSECLICK, FRAME, top); return false;"!;
-%
-%   my ($el, $eel);
-%   if ($curuser->access_right('Edit customer note') ) {
-%     $el  = qq!<A HREF="javascript:void(0);" $clickjs>!;
-%     $eel = qq!</A>!;
-%   }else{
-%     $el = $eel = '';
-%   }
-
+% # Customer comments
+% if ( $cust_main->comments =~ /[^\s\n\r]/ ) {
+<BR><% mt('Comments') |h %>
+<% ntable("#cccccc") %><TR><TD><% ntable("#cccccc",2) %>
 <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 BGCOLOR="#ffffff">
+    <PRE><% encode_entities($cust_main->comments) %></PRE>
   </TD>
 </TR>
+</TABLE></TABLE>
+<BR><BR>
+% }
+
+% # Notes, if any
+<A NAME="notes">
+% my $notecount = scalar($cust_main->notes(0));
+% if ( ! $conf->exists('cust_main-disable_notes') || $notecount) {
+
+%   unless ( $view eq 'notes' && $cust_main->comments !~ /[^\s\n\r]/ ) {
+<P>
+  <A NAME="cust_main_note"><FONT SIZE="+2"><% mt('Notes') |h %></FONT></A>
+</P>
+
+%   }
+
+%   if ( $curuser->access_right('Add customer note') &&
+%        ! $conf->exists('cust_main-disable_notes')
+%      ) {
+
+<P>
+  <& /elements/popup_link-cust_main.html,
+                'label'       => emt('Add customer note'),
+                'action'      => $p. 'edit/cust_main_note.cgi',
+                'actionlabel' => emt('Enter customer note'),
+                'cust_main'   => $cust_main,
+                'width'       => 616,
+                'height'      => 538, #575
+  &>
+</P>
+
+%   }
+
+% # actually display notes
+<& notes/notes.html, 'cust_main' => $cust_main &>
+<BR>
+% } # end of notes
+
+% # Attachments
+% # XXX at some point move all of this into notes/attachments.html
+% if( $curuser->access_right('View attachments') ) {
+% # List attachments
+<& notes/attachments.html, 'cust_main' => $cust_main &>
+% # "Attach file" link
+% if(! $conf->config('disable_cust_attachment')
+%  and $curuser->access_right('Add attachment')) {
+<& /elements/popup_link-cust_main.html,
+              'label'       => emt('Attach file'),
+              'action'      => $p.'edit/cust_main_attach.cgi',
+              'actionlabel' => emt('Upload file'),
+              'cust_main'   => $cust_main,
+              'width'       => 480,
+              'height'      => 296,
+&>
+% }
+
+%   if ($cgi->param('show_deleted')) {
+<A HREF="<% $p.'view/cust_main.cgi?custnum=' . $cust_main->custnum .
+           ($view ? ";show=$view" : '') . '#notes' 
+           %>"><I>(<% mt('Show active attachments') |h %>)</I></A>
+%   } elsif($curuser->access_right('View deleted attachments')) {
+<A HREF="<% $p.'view/cust_main.cgi?custnum=' . $cust_main->custnum .
+           ($view ? ";show=$view" : '') . ';show_deleted=1#notes'
+           %>"><I>(<% mt('Show deleted attachments') |h %>)</I></A>
+%   }
+% }
 
-% } #end display notes
-
-</TABLE>
-
-% } 
-%
-%#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;
+<BR>
+% if ( $curuser->access_right('View email logs')
+%      and FS::cust_msg->count("custnum = $custnum")) {
+<BR>
+<& notes/email.html, 'cust_main' => $cust_main &>
+<BR>
 % }
-%
+<%init>
+
+use HTML::Defang;
+
+my $conf = new FS::Conf;
+my $curuser = $FS::CurrentUser::CurrentUser;
+
+my(%opt) = @_;
+
+my $cust_main = $opt{'cust_main'};
+my $custnum = $cust_main->custnum;
+
+my $view =  $cgi->param('show') || $curuser->default_customer_view;
 
+</%init>