72901: OFM Freeside Note Classes
[freeside.git] / httemplate / edit / cust_main_note.cgi
index 6c6a1a9..cc93f24 100755 (executable)
@@ -6,14 +6,44 @@
 <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>
 
 <%init>
 
+my $conf = new FS::Conf;
+
 my $comment;
 my $notenum = '';
+my $classnum;
+my $sticky = 0;
 if ( $cgi->param('error') ) {
   $comment     = $cgi->param('comment');
+  $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('custnum') =~ /^(\d+)$/ or die "illeagl custnum";
+$comment =~ s/\r//g; # remove weird line breaks to protect FCKeditor
+
+$cgi->param('custnum') =~ /^(\d+)$/ or die "illegal custnum";
 my $custnum = $1;
 
 my $action = $notenum ? 'Edit' : 'Add';