| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
 | % if ( scalar(@notes) ) {
<SCRIPT TYPE="text/javascript">
    function display_notes_classnum(classnum){
	document.getElementById('notes_'+classnum).style.display = 'block';
	document.getElementById('notes_tablink_'+classnum).style.fontWeight = 'bold';
	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';
		}
	    }
	}
    }
</SCRIPT>
  <% include('/elements/init_overlib.html') %>
% my $bgcolor1 = '#eeeeee';
% my $bgcolor2 = '#ffffff';
% my $bgcolor = '';
% my $last_classnum = -1;
% my $skipheader = 0;
% my %classes = ();
%
% 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'      => 538, #575
%                            '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>!;
%   }
%
% if ( $last_classnum != $note->classnum && !$skipheader ) {
% my $tmp_classnum = $note->classnum ? $note->classnum : 0;
% $classes{$tmp_classnum} = $note->classname ne '' ? $note->classname 
%						     : '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">Date</TH>
%   if ( $conf->exists('cust_main_note-display_times') ) {
	    <TH CLASS="grid" BGCOLOR="#cccccc">Time</TH>
%   }
	    <TH CLASS="grid" BGCOLOR="#cccccc">Person</TH>
%   if ($conf->exists('note-classes') && $conf->config('note-classes') == 1) {
	    <TH CLASS="grid" BGCOLOR="#cccccc">Class</TH>
%   }
	    <TH CLASS="grid" BGCOLOR="#cccccc">Note</TH>
%   if ($curuser->access_right('Edit customer note') ) {
	    <TH CLASS="grid" BGCOLOR="#cccccc"> </TH>
%   }
	</TR>
% $skipheader = (!$conf->exists('note-classes') || $conf->config('note-classes') < 2);
% $last_classnum = $note->classnum;
% }
    <TR>
      <% note_datestr($note,$conf,$bgcolor) %>
      <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
         <% $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>
% if ( $conf->exists('note-classes') && $conf->config('note-classes') == 2 ) {
% 	my($classnum,$classname);
Show notes of class:   
% 	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 %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;
}
</%init>
 |