[MDL-31708] - wiki 2.0 non-group member can see edit option in navigation block.
authorGilles-Philippe Leblanc <gilles-philippe.leblanc@umontreal.ca>
Wed, 22 Feb 2012 21:03:03 +0000 (16:03 -0500)
committerAparup Banerjee <aparup@moodle.com>
Tue, 6 Mar 2012 02:20:42 +0000 (10:20 +0800)
mod/wiki/lang/en/wiki.php
mod/wiki/lib.php
mod/wiki/locallib.php
mod/wiki/pagelib.php

index 09a6c58..569b557 100644 (file)
@@ -22,8 +22,10 @@ $string['backoldversion'] = 'Back to old version';
 $string['backpage'] = 'Back to page';
 $string['backtomapmenu'] = 'Back to map menu';
 $string['changerate'] = 'Do you wish to change it?';
+$string['cannoteditpage'] = 'You can not edit this page.';
 $string['cannotmanagefiles'] = 'You don\'t have permission to manage the wiki files.';
 $string['cannotviewfiles'] = 'You don\'t have permission to view the wiki files.';
+$string['cannotviewpage'] = 'You can not view this page.';
 $string['comparesel'] = 'Compare selected';
 $string['comments'] = 'Comments';
 $string['commentscount'] = 'Comments ({$a})';
index d1e78cb..f7b5e7e 100644 (file)
@@ -543,7 +543,7 @@ function wiki_extend_navigation(navigation_node $navref, $course, $module, $cm)
             $node = $navref->add(get_string('view', 'wiki'), $link, navigation_node::TYPE_SETTING);
         }
 
-        if (has_capability('mod/wiki:editpage', $context)) {
+               if (wiki_user_can_edit($subwiki)) {
             $link = new moodle_url('/mod/wiki/edit.php', array('pageid' => $pageid));
             $node = $navref->add(get_string('edit', 'wiki'), $link, navigation_node::TYPE_SETTING);
         }
index 4270d2b..2351f43 100644 (file)
@@ -764,7 +764,7 @@ function wiki_user_can_view($subwiki) {
         //      Each person owns a wiki.
         if ($wiki->wikimode == 'collaborative' || $wiki->wikimode == 'individual') {
             // Only members of subwiki group could view that wiki
-            if ($subwiki->groupid == groups_get_activity_group($cm)) {
+            if (groups_is_member($subwiki->groupid)) {
                 // Only view capability needed
                 return has_capability('mod/wiki:viewpage', $context);
 
index ac21684..180d5c3 100644 (file)
@@ -172,10 +172,6 @@ abstract class page_wiki {
             if (!$manage and !($edit and groups_is_member($currentgroup))) {
                 unset($this->tabs['edit']);
             }
-        } else {
-            if (!has_capability('mod/wiki:editpage', $PAGE->context)) {
-                unset($this->tabs['edit']);
-            }
         }
 
 
@@ -324,8 +320,7 @@ class page_wiki_view extends page_wiki {
                 }
             }
         } else {
-            // @TODO: Tranlate it
-            echo "You can not view this page";
+            echo get_string('cannotviewpage', 'wiki');
         }
     }
 
@@ -418,8 +413,7 @@ class page_wiki_edit extends page_wiki {
         if (wiki_user_can_edit($this->subwiki)) {
             $this->print_edit();
         } else {
-            // @TODO: Translate it
-            echo "You can not edit this page";
+            echo get_string('cannoteditpage', 'wiki');
         }
     }