separate edit and delete rights for customer notes, RT#76001
authorIvan Kohler <ivan@freeside.biz>
Mon, 15 May 2017 17:49:38 +0000 (10:49 -0700)
committerIvan Kohler <ivan@freeside.biz>
Mon, 15 May 2017 17:49:38 +0000 (10:49 -0700)
FS/FS/AccessRight.pm
FS/FS/access_right.pm
httemplate/misc/delete-note.html
httemplate/view/cust_main/menu.html
httemplate/view/cust_main/notes/notes.html

index 285a770..2d95953 100644 (file)
@@ -258,6 +258,7 @@ tie my %rights, 'Tie::IxHash',
   'Customer note and attachment rights' => [
     'Add customer note', #NEW
     'Edit customer note', #NEW
+    'Delete customer note', #NEWEST
     'View attachments', #NEW
     'Browse attachments', #NEW
     'Download attachment', #NEW
index 1a0a1cb..f1614ff 100644 (file)
@@ -258,6 +258,7 @@ sub _upgrade_data { # class method
                                      ],
     'Resend invoices' => 'Print and mail invoices',
     'List customers' => 'Customers: Customer churn report',
+    'Edit customer note' => 'Delete customer note',
   );
 
 #  foreach my $old_acl ( keys %onetime ) {
index 436326f..e6d2127 100644 (file)
@@ -1,6 +1,6 @@
 <%init>
 die "access denied"
-  unless $FS::CurrentUser::CurrentUser->access_right('Edit customer note');
+  unless $FS::CurrentUser::CurrentUser->access_right('Delete customer note');
 
 my ($notenum) = $cgi->keywords;
 $notenum =~ /^\d+$/ or die "bad notenum '$notenum'";
@@ -8,4 +8,4 @@ my $note = FS::cust_main_note->by_key($notenum)
   or die "notenum '$notenum' not found";
 $note->delete;
 </%init>
-<% $cgi->redirect($p.'view/cust_main.cgi?'.$note->custnum) %>
+<% $cgi->redirect($p.'view/cust_main.cgi?custnum='.$note->custnum. ';show=notes') %>
index 9e910f8..dcba1fb 100644 (file)
@@ -206,7 +206,7 @@ my @menu = (
       confexists  => '!cust_main-disable_notes',
       acl         => 'Add customer note',
       width       => 875,
-      height      => 538,
+      height      => 548,
     },
     {
       label       => 'Attach file',
index f998ba4..c643003 100644 (file)
@@ -69,19 +69,21 @@ function display_notes_classnum (classnum) {
 %                                             "?custnum=$custnum".
 %                                             ";notenum=$notenum",
 %                            'actionlabel' => emt('Edit customer note'),
-%                            'width'       => 616,
-%                            'height'      => 575,
+%                            'width'       => 875,
+%                            'height'      => 548,
 %                            'frame'       => 'top',
 %                        );
 %   my $clickjs = qq!onclick="$onclick"!;
 %
 %   my $edit = '';
-%   if ($curuser->access_right('Edit customer note') ) {
+%   if ( $curuser->access_right('Edit customer note') ) {
+%     $edit = qq! <A HREF="javascript:void(0);" $clickjs>(!.emt('edit').')</A>';
+%   }
+%   if ( $curuser->access_right('Delete customer note') ) {
 %     my $delete_url = $fsurl.'misc/delete-note.html?'.$notenum;
-%     $edit = qq! <A HREF="javascript:void(0);" $clickjs>(!.emt('edit').')</A>'.
-%             qq! <A HREF="$delete_url" !.
-%             qq! onclick="return confirm('Delete this note?')">!.
-%             '('.emt('delete').')</A>';
+%     $edit .= qq! <A HREF="$delete_url" !.
+%              qq! onclick="return confirm('Delete this note?')">!.
+%              '('.emt('delete').')</A>';
 %   }
 %
     <TR CLASS="grid custnote<% $note->sticky ? ' stickynote' : '' %>"