]> git.mjollnir.org Git - moodle.git/commitdiff
web service MDL-12886 if the groupid doesn't exist, groups_remove_member and groups_a...
authorjerome <jerome>
Mon, 9 Mar 2009 04:49:50 +0000 (04:49 +0000)
committerjerome <jerome>
Mon, 9 Mar 2009 04:49:50 +0000 (04:49 +0000)
admin/uploaduser.php
group/lib.php
group/simpletest/testexternal.php

index 851edd4656a7f9cc260da8d6f2a18a46c561c94f..67516cc8a7eaace34d60bbf05813c88e2cc176ca 100755 (executable)
@@ -686,9 +686,11 @@ if ($formdata = $mform->is_cancelled()) {
                 $gid   = $ccache[$shortname]->groups[$addgroup]->id;
                 $gname = $ccache[$shortname]->groups[$addgroup]->name;
 
-                if (groups_add_member($gid, $user->id)) {
-                    $upt->track('enrolments', get_string('addedtogroup', '', $gname));
-                } else {
+                try {
+                    if (groups_add_member($gid, $user->id)) {
+                        $upt->track('enrolments', get_string('addedtogroup', '', $gname));
+                    }
+                } catch (moodle_exception $e) {
                     $upt->track('enrolments', get_string('addedtogroupnot', '', $gname), 'error');
                     continue;
                 }
index ce13188022416d2decb1bdfaa9afd942b0d38375..df320943fc63f1491ee02d6bc0a3796bfc05aad5 100644 (file)
@@ -28,7 +28,7 @@ function groups_add_member($groupid, $userid) {
     }
 
     if (!groups_group_exists($groupid)) {
-        return false;
+        throw new moodle_exception('cannotaddmembergroupiddoesntexist');
     }
 
     if (groups_is_member($groupid, $userid)) {
@@ -68,7 +68,7 @@ function groups_remove_member($groupid, $userid) {
     }
 
     if (!groups_group_exists($groupid)) {
-        return false;
+        throw new moodle_exception('cannotaddmembergroupiddoesntexist');
     }
 
     if (!groups_is_member($groupid, $userid)) {
index 5697fbdd63a4e723147aa4ac063d51946ed5e27b..32f0aa1686ebb7cb4e1bbc08d42d4f72987f230e 100644 (file)
@@ -40,7 +40,7 @@ require_once($CFG->dirroot . '/group/external.php');
 require_once(dirname(dirname(dirname(__FILE__))) . '/user/lib.php');
 
 class group_external_test extends UnitTestCase {
-    /*
+/*
     var $realDB;
     var $group;
     var $group2;
@@ -201,8 +201,8 @@ class group_external_test extends UnitTestCase {
      function testTmp_add_group_members2() {
         //the group id doesn't exist
         $params = array(array("groupid" => 6465465, "userid" => $this->userid3), array("groupid" => $this->group->id, "userid" => $this->userid4));
+        $this->expectException(new moodle_exception('cannotaddmembergroupiddoesntexist'));
         $result = group_external::tmp_add_groupmembers($params);
-        $this->assertEqual($result, false);
      }
 
      function testTmp_delete_group_members() {
@@ -215,8 +215,8 @@ class group_external_test extends UnitTestCase {
       function testTmp_delete_group_members2() {
          //the group id doesn't exist
         $params = array(array("groupid" => 6465465, "userid" => $this->userid1), array("groupid" => $this->group->id, "userid" => $this->userid2));
+        $this->expectException(new moodle_exception('cannotaddmembergroupiddoesntexist'));
         $result = group_external::tmp_delete_groupmembers($params);
-        $this->assertEqual($result, false);
      }
 
      function testTmp_delete_group_members3() {