-% if ( scalar(@notes) ) {
-
- <% include('/elements/init_overlib.html') %>
-
- <% include("/elements/table-grid.html") %>
-
- <TR>
- <TH CLASS="grid" BGCOLOR="#cccccc">Date</TH>
-% if ( $conf->exists('cust_main_note-display_times') ) {
- <TH CLASS="grid" BGCOLOR="#cccccc">Time</TH>
-% }
- <TH CLASS="grid" BGCOLOR="#cccccc">Person</TH>
- <TH CLASS="grid" BGCOLOR="#cccccc">Note</TH>
-% if ($curuser->access_right('Edit customer note') ) {
- <TH CLASS="grid" BGCOLOR="#cccccc"> </TH>
-% }
- </TR>
+% # Customer comments
+% if ( $cust_main->comments =~ /[^\s\n\r]/ ) {
+<BR><% mt('Comments') |h %>
+<% ntable("#cccccc") %><TR><TD><% ntable("#cccccc",2) %>
+<TR>
+ <TD BGCOLOR="#ffffff">
+ <PRE><% encode_entities($cust_main->comments) %></PRE>
+ </TD>
+</TR>
+</TABLE></TABLE>
+<BR><BR>
+% }
-% 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 $onclick = include( '/elements/popup_link_onclick.html',
-% 'action' => popurl(2).
-% 'edit/cust_main_note.cgi'.
-% "?custnum=$custnum".
-% ";notenum=$notenum",
-% 'actionlabel' => 'Edit customer note',
-% 'width' => 616,
-% 'height' => 580,
-% 'frame' => 'top',
-% );
-% my $clickjs = qq!onclick="$onclick"!;
-%
-% my $edit = '';
-% if ($curuser->access_right('Edit customer note') ) {
-% $edit = qq! <A HREF="javascript:void(0);" $clickjs>(edit)</A>!;
+% # Notes, if any
+<A NAME="notes">
+% my $notecount = scalar($cust_main->notes(0));
+% if ( ! $conf->exists('cust_main-disable_notes') || $notecount) {
+
+% # 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 &>
+% 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')
+% && FS::Record->scalar_sql(
+% 'SELECT 1 FROM cust_attachment WHERE custnum = ? '.
+% ' AND disabled IS NOT NULL AND disabled > 0 LIMIT 1',
+% $custnum )
+% )
+% {
+<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>
% }
-
- <TR>
- <% note_datestr($note,$conf,$bgcolor) %>
- <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
- <% $note->otaker%>
- </TD>
- <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
- <%$note->comments%>
- </TD>
-% if($edit) {
- <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"><% $edit %></TD>
% }
- </TR>
-
-% } #end display notes
-
-</TABLE>
+<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 $custnum = $opt{'custnum'};
-
-my $cust_main = qsearchs('cust_main', {'custnum' => $custnum} );
-die "Custimer not found!" unless $cust_main;
-
-my (@notes) = $cust_main->notes();
-
-#subroutines
+my $cust_main = $opt{'cust_main'};
+my $custnum = $cust_main->custnum;
-sub note_datestr {
- my($note, $conf, $bgcolor) = @_ or return '';
- my $td = qq{<TD CLASS="grid" BGCOLOR="$bgcolor" ALIGN="right">};
- my $format = "$td%b %o, %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;
-}
+my $view = $cgi->param('show') || $curuser->default_customer_view;
</%init>