diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/controllers/welcome.php | 14 | ||||
-rw-r--r-- | core/tests/Access_Helper_Test.php | 8 |
2 files changed, 15 insertions, 7 deletions
diff --git a/core/controllers/welcome.php b/core/controllers/welcome.php index 9e6f9542..5afe094e 100644 --- a/core/controllers/welcome.php +++ b/core/controllers/welcome.php @@ -455,16 +455,22 @@ class Welcome_Controller extends Template_Controller { } public function remove_from_group($group_id, $user_id) { - ORM::factory("group", $group_id)->remove( - ORM::factory("user", $user_id)); + $group = ORM::factory("group", $group_id); + $user = ORM::factory("group", $user_id); + if ($group->loaded && $user->loaded) { + $group->remove($user); + $group->save(); + } url::redirect("welcome"); } public function add_to_group($user_id) { $group_name = $this->input->post("group_name"); $group = ORM::factory("group")->where("name", $group_name)->find(); - if ($group->loaded) { - $group->add(ORM::factory("user", $user_id)); + $user = ORM::factory("group", $user_id); + if ($group->loaded && $user->loaded) { + $group->add($user); + $group->save(); } url::redirect("welcome"); } diff --git a/core/tests/Access_Helper_Test.php b/core/tests/Access_Helper_Test.php index 9b08b2cd..ce9276fd 100644 --- a/core/tests/Access_Helper_Test.php +++ b/core/tests/Access_Helper_Test.php @@ -280,8 +280,7 @@ class Access_Helper_Test extends Unit_Test_Case { foreach ($user->groups as $group) { $user->remove($group); } - // @todo remove this reload when http://dev.kohanaphp.com/ticket/959 is resolved - $user->reload(); + $user->save(); user::set_active($user); // This user can't edit anything @@ -291,8 +290,11 @@ class Access_Helper_Test extends Unit_Test_Case { // Now add them to a group that has edit permission $group = group::create("access_test"); $group->add($user); + $group->save(); access::allow($group, "edit", $root); - user::set_active($user->reload()); + + $user = ORM::factory("user", $user->id); // reload() does not flush related columns + user::set_active($user); // And verify that the user can edit. $this->assert_true(access::can("edit", $root)); |