Index: /branches/release-40/lib/MT/CMS/Comment.pm
===================================================================
--- /branches/release-40/lib/MT/CMS/Comment.pm (revision 2575)
+++ /branches/release-40/lib/MT/CMS/Comment.pm (revision 2634)
@@ -177,6 +177,12 @@
     my $state_editable = $admin
       || ( $perms
-        && ( $perms->can_publish_post
-          || $perms->can_edit_all_posts || $perms->can_manage_feedback ) )
+        && ( $perms->can_edit_all_posts || $perms->can_manage_feedback ) )
+      ? 1 : 0;
+    my $state_entry_editable = $admin
+      || ( $perms && $perms->can_edit_all_posts )
+      ? 1 : 0;
+    my $state_commenter_editable = $perms
+      && ( $perms->can_publish_post
+        || $perms->can_edit_all_posts || $perms->can_manage_feedback )
       ? 1 : 0;
     my $entry_pkg = $app->model('entry');
@@ -251,6 +257,18 @@
         }
 
+        # Permissions
         $row->{has_edit_access} = $state_editable
           || ( $entry && ( $user->id == $entry->author_id ) );
+        $row->{can_edit_entry} = $state_entry_editable
+          || ( $entry && ($user->id == $entry->author_id ) );
+        $row->{can_edit_commenter} = $user->is_superuser ? 1 : 0;
+        if ( !$row->{can_edit_commenter} && $row->{commenter_id} ) {
+            my $cmntr = $cmntrs{ $row->{commenter_id} };
+            if ($cmntr) {
+                $row->{can_edit_commenter} = $cmntr->type eq MT::Author::COMMENTER
+                  && $state_commenter_editable
+                  ? 1 : 0;
+            }
+        }
 
         # Blog column
Index: /branches/release-40/tmpl/cms/include/comment_table.tmpl
===================================================================
--- /branches/release-40/tmpl/cms/include/comment_table.tmpl (revision 1793)
+++ /branches/release-40/tmpl/cms/include/comment_table.tmpl (revision 2634)
@@ -124,5 +124,9 @@
                     </mt:if>
                         <mt:if name="auth_icon_url"><img style="background-image: none" src="<mt:var name="auth_icon_url">" height="9" width="9" alt="" border="0" /></mt:if>
+                        <mt:if name="can_edit_commenter">
                         <a href="<mt:var name="script_url">?__mode=view&amp;_type=commenter&amp;blog_id=<mt:var name="blog_id">&amp;id=<mt:var name="commenter_id">" class="icon-right-wide icon-<mt:if name="commenter_approved">trusted<mt:else><mt:if name="commenter_banned">banned<mt:else>authenticated</mt:if></mt:if>" title="<__trans phrase="Edit this [_1] commenter" params="<$mt:var name="commenter_status" escape="html"$>">"><mt:var name="author" escape="html"></a>
+                        <mt:else>
+                        <span class="icon-right-wide icon-<mt:if name="commenter_approved">trusted<mt:else><mt:if name="commenter_banned">banned<mt:else>authenticated</mt:if></mt:if>"><mt:var name="author" escape="html"></span>
+                        </mt:if>
                 <mt:else>
                     <mt:if name="author">
@@ -139,5 +143,9 @@
                     <td class="entry">
                 <mt:if name="entry_title">
-                    <a href="<mt:var name="script_url">?__mode=view&amp;_type=<mt:var name="entry_class">&amp;blog_id=<mt:var name="blog_id">&amp;id=<mt:var name="entry_id">" title="<mt:if name="entry_class" eq="entry"><__trans phrase="View this entry"><mt:else><__trans phrase="View this page"></mt:if>"><mt:var name="entry_title" escape="html"></a>
+                    <mt:if name="can_edit_entry">
+                        <a href="<mt:var name="script_url">?__mode=view&amp;_type=<mt:var name="entry_class">&amp;blog_id=<mt:var name="blog_id">&amp;id=<mt:var name="entry_id">" title="<mt:if name="entry_class" eq="entry"><__trans phrase="View this entry"><mt:else><__trans phrase="View this page"></mt:if>"><mt:var name="entry_title" escape="html"></a>
+                    <mt:else>
+                        <mt:var name="entry_title" escape="html">
+                    </mt:if>
                 <mt:else>
                         &nbsp;
