MDL-31640 course: removed extra error message, perpage is set properly, modulelink...
authorRajesh Taneja <rajesh@moodle.com>
Tue, 13 Mar 2012 02:18:15 +0000 (10:18 +0800)
committerRajesh Taneja <rajesh@moodle.com>
Mon, 19 Mar 2012 07:15:06 +0000 (15:15 +0800)
course/search.php
lang/en/error.php

index 5ff3be1..3a172f1 100644 (file)
@@ -50,7 +50,7 @@
         $urlparams['perpage'] = $perpage;
     }
     $PAGE->set_url('/course/search.php', $urlparams);
-    $PAGE->set_context(get_context_instance(CONTEXT_SYSTEM));
+    $PAGE->set_context(context_system::instance());
     $PAGE->set_pagelayout('standard');
 
     if ($CFG->forcelogin) {
             $USER->editing = $edit;
         }
         $adminediting = $PAGE->user_is_editing();
+
+        // Set perpage if user can edit in category
+        if ($perpage != 99999) {
+            $perpage = 30;
+        }
     } else {
         $adminediting = false;
     }
 
 /// Editing functions
-    if (has_capability('moodle/course:visibility', get_context_instance(CONTEXT_SYSTEM))) {
+    if (has_capability('moodle/course:visibility', context_system::instance())) {
     /// Hide or show a course
         if ($hide or $show and confirm_sesskey()) {
             if ($hide) {
         }
     }
 
-    if (has_any_capability($capabilities, get_context_instance(CONTEXT_SYSTEM)) && ($perpage != 99999)) {
-        $perpage = 30;
-    }
-
     $displaylist = array();
     $parentlist = array();
     make_categories_list($displaylist, $parentlist);
         }
 
         //User should have manage and create capablity on destination category.
-        require_capability('moodle/category:manage', get_context_instance(CONTEXT_COURSECAT, $moveto));
-        require_capability('moodle/course:create', get_context_instance(CONTEXT_COURSECAT, $moveto));
+        require_capability('moodle/category:manage', context_coursecat::instance($moveto));
+        require_capability('moodle/course:create', context_coursecat::instance($moveto));
 
         foreach ( $data as $key => $value ) {
             if (preg_match('/^c\d+$/', $key)) {
                 $courseid = substr($key, 1);
                 // user must have category:manage and course:create capability for the course to be moved.
-                if (has_all_capabilities($capabilities, get_context_instance(CONTEXT_COURSE, $courseid))) {
+                $coursecontext = context_course::instance($courseid);
+                foreach ($capabilities as $capability) {
+                    require_capability($capability, $coursecontext);
                     array_push($courses, $courseid);
-                } else {
-                    print_error('cannotmovecoursetocategory');
                 }
             }
         }
                 echo $OUTPUT->spacer(array('height'=>5, 'width'=>5, 'br'=>true)); // should be done with CSS instead
             }
         } else { //editing mode
-            echo "<form id=\"movecourses\" action=\"search.php?".$modulelink."\" method=\"post\">\n";
+            echo "<form id=\"movecourses\" action=\"search.php\" method=\"post\">\n";
             echo "<div><input type=\"hidden\" name=\"sesskey\" value=\"".sesskey()."\" />\n";
             echo "<input type=\"hidden\" name=\"search\" value=\"".s($search)."\" />\n";
             echo "<input type=\"hidden\" name=\"page\" value=\"$page\" />\n";
             echo "<input type=\"hidden\" name=\"perpage\" value=\"$perpage\" /></div>\n";
+            if (!empty($modulelist) and confirm_sesskey()) {
+                echo "<input type=\"hidden\" name=\"modulelist\" value=\"$modulelist\" /></div>\n";
+            } else if (!empty($blocklist) and confirm_sesskey()) {
+                echo "<input type=\"hidden\" name=\"blocklist\" value=\"$blocklist\" /></div>\n";
+            }
             echo "<table border=\"0\" cellspacing=\"2\" cellpadding=\"4\" class=\"generalbox boxaligncenter\">\n<tr>\n";
             echo "<th scope=\"col\">$strcourses</th>\n";
             echo "<th scope=\"col\">$strcategory</th>\n";
 
             foreach ($courses as $course) {
 
-                $coursecontext = get_context_instance(CONTEXT_COURSE, $course->id);
+                $coursecontext = context_course::instance($course->id);
 
                 $linkcss = $course->visible ? "" : " class=\"dimmed\" ";
 
             $defaultperpage = 10;
             //If user has course:create or category:manage capability the show 30 records.
             $capabilities = array('moodle/course:create', 'moodle/category:manage');
-            if (has_any_capability($capabilities, get_context_instance(CONTEXT_SYSTEM))) {
+            if (has_any_capability($capabilities, context_system::instance())) {
                 $defaultperpage = 30;
             }
 
index 57d7d09..bd54f12 100644 (file)
@@ -103,7 +103,6 @@ $string['cannotmarktopic'] = 'Could not mark that topic for this course';
 $string['cannotmigratedatacomments'] = 'Cannot migrate data module comments';
 $string['cannotmodulename'] = 'Cannot get the module name in build navigation';
 $string['cannotmoduletype'] = 'Cannot get the module type in build navigation';
-$string['cannotmovecoursetocategory'] = 'You do not have capabilities to move the course into different category.';
 $string['cannotmoverolewithid'] = 'Cannot move role with ID {$a}';
 $string['cannotnetgeo'] = 'Cannot connect to NetGeo server at http://netgeo.caida.org, please check proxy settings or better install MaxMind GeoLite City data file';
 $string['cannotopencsv'] = 'Cannot open CSV file';