72901: OFM Freeside Note Classes
[freeside.git] / httemplate / edit / cust_main_note.cgi
index 303895b..cc93f24 100755 (executable)
@@ -1,51 +1,84 @@
 <% include('/elements/header-popup.html', "$action Customer Note") %>
 
-% if ( $cgi->param('error') ) { 
-  <FONT SIZE="+1" COLOR="#ff0000">Error: <% $cgi->param('error') %></FONT>
-  <BR><BR>
-% } 
+<% include('/elements/error.html') %>
 
 <FORM ACTION="<% popurl(1) %>process/cust_main_note.cgi" METHOD=POST>
 <INPUT TYPE="hidden" NAME="custnum" VALUE="<% $custnum %>">
 <INPUT TYPE="hidden" NAME="notenum" VALUE="<% $notenum %>">
 
+% if ($conf->exists('note-classes') && $conf->config('note-classes')) {
+%   my %includeopts = $conf->config('note-classes') eq 'Enabled'
+%                   ? ('empty_label' => '(unclassified)')
+%                   : ('disable_empty' => 1); # eq 'Required'
+    Class &nbsp;
+       <% include( '/elements/select-table.html',
+                 'table'       => 'cust_note_class',
+                 'name_col'    => 'classname',
+                 'curr_value'  => $classnum,
+                 'hashref'     => { 'disabled' => '' },
+                 %includeopts,
+         ) %>
+    <BR>
+% }
 
-<BR><BR>
-<TEXTAREA NAME="comment" ROWS="12" COLS="60">
-<% $comment %>
-</TEXTAREA>
+% if ( $FS::CurrentUser::CurrentUser->option('disable_html_editor') ) {
+    <TEXTAREA NAME="comment_plain" ROWS="12" COLS="60"><% 
+    join '', split /<br \/>|&nbsp;/, $comment 
+    %></TEXTAREA>
+% } else {
+    <& /elements/htmlarea.html,
+         'field'      => 'comment_html',
+         'curr_value' => $comment,
+         'config'     => { toolbarStartupExpanded => Cpanel::JSON::XS::false,
+                           height                 => 315,
+                         },
+    &>
+% }
 
-<BR><BR>
-<INPUT TYPE="submit" VALUE="<% $notenum ? "Apply Changes" : "Add Note" %>">
+<BR>
+
+<& /elements/checkbox.html, 'field'      => 'sticky',
+                            'value'      => 1,
+                            'curr_value' => $sticky,
+&>
+Sticky note<BR><BR>
+
+<INPUT TYPE="submit" VALUE="<% $notenum ? emt("Apply changes") : emt("Add Note") %>">
 
 </FORM>
 </BODY>
 </HTML>
 
 <%init>
-my($custnum, $comment, $notenum, $action); 
-$comment = '';
 
+my $conf = new FS::Conf;
+
+my $comment;
+my $notenum = '';
+my $classnum;
+my $sticky = 0;
 if ( $cgi->param('error') ) {
   $comment     = $cgi->param('comment');
-}elsif ($cgi->param('notenum')) {
-  $cgi->param('notenum') =~ /^(\d+)$/;
+  $classnum = $cgi->param('classnum');
+} elsif ( $cgi->param('notenum') =~ /^(\d+)$/ ) {
   $notenum = $1;
   die "illegal query ". $cgi->keywords unless $notenum;
   my $note = qsearchs('cust_main_note', { 'notenum' => $notenum });
   die "no such note: ". $notenum unless $note;
   $comment = $note->comments;
+  $classnum = $note->classnum;
+  $sticky = $note->sticky;
 }
 
-$cgi->param('notenum') =~ /^(\d+)$/;
-$notenum = $1;
+$comment =~ s/\r//g; # remove weird line breaks to protect FCKeditor
 
-$cgi->param('custnum') =~ /^(\d+)$/;
-$custnum     = $1;
+$cgi->param('custnum') =~ /^(\d+)$/ or die "illegal custnum";
+my $custnum = $1;
 
-die "illegal query ". $cgi->keywords unless $custnum;
+my $action = $notenum ? 'Edit' : 'Add';
 
-$action = $notenum ? 'Edit' : 'Add';
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right("$action customer note");
 
 </%init>