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