content = new View("admin_users.html"); $view->content->users = ORM::factory("user")->orderby("name")->find_all(); print $view; } public function add() { $form = user::get_add_form_admin(); $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(t("Created user {{user_name}}", array("user_name" => $user->name))); print json_encode(array("result" => "success")); } else { message::error(t("Failed to create user")); print json_encode(array("result" => "error", "form" => $form->__toString())); } } public function add_form() { print user::get_add_form_admin(); } public function delete($id) { $user = ORM::factory("user", $id); if (!$user->loaded) { kohana::show_404(); } $form = user::get_delete_form_admin($user); if($form->validate()) { $name = $user->name; $user->delete(); } else { message::error(t("Failed to delete user")); print json_encode(array("result" => "error", "form" => $form->__toString())); } $message = t("Deleted user {{user_name}}", array("user_name" => $name)); log::success("user", $message); message::success($message); print json_encode(array("result" => "success")); } public function delete_form($id) { $user = ORM::factory("user", $id); if (!$user->loaded) { kohana::show_404(); } print user::get_delete_form_admin($user); } public function edit($id) { $user = ORM::factory("user", $id); if (!$user->loaded) { kohana::show_404(); } $form = user::get_edit_form_admin($user); $form->edit_user->password->rules("-required"); $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; $user->save(); message::success(t("Changed user {{user_name}}", array("user_name" => $user->name))); print json_encode(array("result" => "success")); } else { message::error(t("Failed to change user {{user_name}}", array("user_name" => $user->name))); print json_encode(array("result" => "error", "form" => $form->__toString())); } } public function edit_form($id) { $user = ORM::factory("user", $id); if (!$user->loaded) { kohana::show_404(); } print user::get_edit_form_admin($user); } }