bb52db8f3198dd51c78e727b5586ce4863b4a495
[freeside.git] / httemplate / edit / process / cust_main_note.cgi
1 %if ($error) {
2 %  $cgi->param('error', $error);
3 <% $cgi->redirect(popurl(2). 'cust_main_note.cgi?'. $cgi->query_string ) %>
4 %} else {
5 <% header('Note ' . ($notenum ? 'updated' : 'added') ) %>
6     <SCRIPT TYPE="text/javascript">
7       topreload();
8     </SCRIPT>
9     </BODY></HTML>
10 % }
11 <%init>
12
13 $cgi->param('custnum') =~ /^(\d+)$/
14   or die "Illegal custnum: ". $cgi->param('custnum');
15 my $custnum = $1;
16
17 $cgi->param('notenum') =~ /^(\d*)$/
18   or die "Illegal notenum: ". $cgi->param('notenum');
19 my $notenum = $1;
20
21 $cgi->param('classnum') =~ /^(\d*)$/;
22 my $classnum = $1;
23
24 my $comment = $cgi->param('comment_html') || 
25               join("<br />\n", 
26                 split "(?:\r|\n)+", $cgi->param('comment_plain')
27               );
28
29 my $new = new FS::cust_main_note ( {
30   notenum  => $notenum,
31   custnum  => $custnum,
32   classnum => $classnum ? $classnum : undef,
33   _date    => time,
34   usernum  => $FS::CurrentUser::CurrentUser->usernum,
35   comments => $comment,
36   sticky   => scalar( $cgi->param('sticky') ),
37 } );
38
39 my $error;
40 if ($notenum) {
41
42   die "access denied"
43     unless $FS::CurrentUser::CurrentUser->access_right('Edit customer note');
44
45   my $old  = qsearchs('cust_main_note', { 'notenum' => $notenum });
46   $error = "No such note: $notenum" unless $old;
47   unless ($error) {
48     map { $new->$_($old->$_) } ('_date', 'otaker');
49     $error = $new->replace($old);
50   }
51
52 } else {
53
54   die "access denied"
55     unless $FS::CurrentUser::CurrentUser->access_right('Add customer note');
56
57   $error = $new->insert;
58 }
59
60 </%init>