diff options
-rw-r--r-- | modules/user/controllers/admin_groups.php | 33 | ||||
-rw-r--r-- | modules/user/controllers/admin_users.php | 35 | ||||
-rw-r--r-- | modules/user/helpers/group.php | 4 | ||||
-rw-r--r-- | modules/user/helpers/user.php | 4 |
4 files changed, 62 insertions, 14 deletions
diff --git a/modules/user/controllers/admin_groups.php b/modules/user/controllers/admin_groups.php index f840fa0b..01500f96 100644 --- a/modules/user/controllers/admin_groups.php +++ b/modules/user/controllers/admin_groups.php @@ -27,8 +27,18 @@ class Admin_Groups_Controller extends Controller { public function add() { $form = group::get_add_form_admin(); - if($form->validate()) { - $group = group::create($form->add_group->inputs["name"]->value); + $valid = $form->validate(); + if ($valid) { + $new_name = $form->add_group->inputs["name"]->value; + $group = ORM::factory("group")->where("name", $new_name)->find(); + if ($group->loaded) { + $form->add_group->inputs["name"]->add_error("in_use", 1); + $valid = false; + } + } + + if ($valid) { + $group = group::create($new_name); $group->save(); message::success(sprintf(_("Created group %s"), $group->name)); print json_encode(array("result" => "success")); @@ -42,7 +52,7 @@ class Admin_Groups_Controller extends Controller { public function add_form() { print group::get_add_form_admin(); } - + public function delete($id) { $group = ORM::factory("group", $id); if (!$group->loaded) { @@ -71,7 +81,7 @@ class Admin_Groups_Controller extends Controller { } print group::get_delete_form_admin($group); } - + public function edit($id) { $group = ORM::factory("group", $id); if (!$group->loaded) { @@ -79,7 +89,18 @@ class Admin_Groups_Controller extends Controller { } $form = group::get_edit_form_admin($group); - if($form->validate()) { + $valid = $form->validate(); + + if ($valid) { + $new_name = $form->edit_group->inputs["name"]->value; + $group = ORM::factory("group")->where("name", $new_name)->find(); + if ($group->loaded) { + $form->edit_group->inputs["name"]->add_error("in_use", 1); + $valid = false; + } + } + + if ($valid) { $group->name = $form->edit_group->inputs["name"]->value; $group->save(); message::success(sprintf(_("Changed group %s"), $group->name)); @@ -90,7 +111,7 @@ class Admin_Groups_Controller extends Controller { "form" => $form->__toString())); } } - + public function edit_form($id) { $group = ORM::factory("group", $id); if (!$group->loaded) { diff --git a/modules/user/controllers/admin_users.php b/modules/user/controllers/admin_users.php index e6785e7b..13115178 100644 --- a/modules/user/controllers/admin_users.php +++ b/modules/user/controllers/admin_users.php @@ -27,9 +27,18 @@ class Admin_Users_Controller extends Controller { public function add() { $form = user::get_add_form_admin(); - if($form->validate()) { - $user = user::create($form->add_user->inputs["name"]->value, - $form->add_user->full_name->value, $form->add_user->password->value); + + $valid = $form->validate(); + $name = $form->add_user->inputs["name"]->value; + $user = ORM::factory("user")->where("name", $name)->find(); + if ($user->loaded) { + $form->add_user->inputs["name"]->add_error("in_use", 1); + $valid = false; + } + + if ($valid) { + $user = user::create( + $name, $form->add_user->full_name->value, $form->add_user->password->value); $user->email = $form->add_user->email->value; $user->save(); message::success(sprintf(_("Created user %s"), $user->name)); @@ -44,7 +53,7 @@ class Admin_Users_Controller extends Controller { public function add_form() { print user::get_add_form_admin(); } - + public function delete($id) { $user = ORM::factory("user", $id); if (!$user->loaded) { @@ -65,7 +74,7 @@ class Admin_Users_Controller extends Controller { message::success(sprintf(_("Deleted user %s"), $name)); print json_encode(array("result" => "success")); } - + public function delete_form($id) { $user = ORM::factory("user", $id); if (!$user->loaded) { @@ -82,8 +91,18 @@ class Admin_Users_Controller extends Controller { $form = user::get_edit_form_admin($user); $form->edit_user->password->rules("-required"); - if($form->validate()) { - $user->name = $form->edit_user->inputs["name"]->value; + $valid = $form->validate(); + if ($valid) { + $new_name = $form->edit_user->inputs["name"]->value; + $user = ORM::factory("user")->where("name", $new_name)->find(); + if ($user->loaded) { + $form->edit_user->inputs["name"]->add_error("in_use", 1); + $valid = false; + } + } + + if ($valid) { + $user->name = $new_name; $user->full_name = $form->edit_user->full_name->value; $user->password = $form->edit_user->password->value; $user->email = $form->edit_user->email->value; @@ -96,7 +115,7 @@ class Admin_Users_Controller extends Controller { "form" => $form->__toString())); } } - + public function edit_form($id) { $user = ORM::factory("user", $id); if (!$user->loaded) { diff --git a/modules/user/helpers/group.php b/modules/user/helpers/group.php index 262ec0e1..bd00d91e 100644 --- a/modules/user/helpers/group.php +++ b/modules/user/helpers/group.php @@ -65,6 +65,8 @@ class group_Core { $form = new Forge("admin/groups/edit/$group->id"); $form_group = $form->group("edit_group")->label(_("Edit Group")); $form_group->input("name")->label(_("Name"))->id("gName")->value($group->name); + $form_group->inputs["name"]->error_messages( + "in_use", _("There is already a group with that name")); $form_group->submit(_("Save")); $form->add_rules_from($group); return $form; @@ -74,6 +76,8 @@ class group_Core { $form = new Forge("admin/groups/add"); $form_group = $form->group("add_group")->label(_("Add Group")); $form_group->input("name")->label(_("Name"))->id("gName"); + $form_group->inputs["name"]->error_messages( + "in_use", _("There is already a group with that name")); $form_group->submit(_("Add Group")); $group = ORM::factory("group"); $form->add_rules_from($group); diff --git a/modules/user/helpers/user.php b/modules/user/helpers/user.php index 136b3d68..3d8816e7 100644 --- a/modules/user/helpers/user.php +++ b/modules/user/helpers/user.php @@ -40,6 +40,8 @@ class user_Core { $form = new Forge("admin/users/edit/$user->id"); $group = $form->group("edit_user")->label(_("Edit User")); $group->input("name")->label(_("Name"))->id("gName")->value($user->name); + $group->inputs["name"]->error_messages( + "in_use", _("There is already a user with that name")); $group->input("full_name")->label(_("Full Name"))->id("gFullName")->value($user->full_name); $group->password("password")->label(_("Password"))->id("gPassword"); $group->input("email")->label(_("Email"))->id("gEmail")->value($user->email); @@ -52,6 +54,8 @@ class user_Core { $form = new Forge("admin/users/add"); $group = $form->group("add_user")->label(_("Add User")); $group->input("name")->label(_("Name"))->id("gName"); + $group->inputs["name"]->error_messages( + "in_use", _("There is already a user with that name")); $group->input("full_name")->label(_("Full Name"))->id("gFullName"); $group->password("password")->label(_("Password"))->id("gPassword"); $group->input("email")->label(_("Email"))->id("gEmail"); |