From c154f9f20a028ac3b3605ff5631739ef3fa41d52 Mon Sep 17 00:00:00 2001 From: Felix Rabinovich Date: Fri, 26 Dec 2008 04:35:27 +0000 Subject: Group Administration --- modules/user/controllers/admin_groups.php | 87 +++++++++++++++++++++++++++++++ modules/user/controllers/admin_users.php | 1 - 2 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 modules/user/controllers/admin_groups.php (limited to 'modules/user/controllers') diff --git a/modules/user/controllers/admin_groups.php b/modules/user/controllers/admin_groups.php new file mode 100644 index 00000000..7fdbb0dc --- /dev/null +++ b/modules/user/controllers/admin_groups.php @@ -0,0 +1,87 @@ +content = new View("admin_groups.html"); + $view->content->groups = ORM::factory("group")->orderby("name")->find_all(); + print $view; + } + + public function create() { + $form = group::get_add_form_admin(); + if (request::method() =="post" ) { + if($form->validate()) { + $group = group::create($form->add_group->inputs["name"]->value); + $group->save(); + message::success(sprintf(_("Created group %s"), $group->name)); + print json_encode(array("result" => "success")); + } else { + message::error(_("Failed to create group")); + print json_encode(array("result" => "error", + "form" => $form->__toString())); + } + } else { + print $form; + } + } + + public function delete($id) { + $group = ORM::factory("group", $id); + if (!$group->loaded) { + kohana::show_404(); + } + + if (request::method() == "post" ) { + $name = $group->name; + $group->delete(); + + log::success("group", sprintf(_("Deleted group %s"), $name)); + message::success(sprintf(_("Deleted group %s"), $name)); + print json_encode(array("result" => "success")); + } else { + 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); + if (request::method() =="post" ) { + if($form->validate()) { + $group->name = $form->edit_group->inputs["name"]->value; + $group->save(); + message::success(sprintf(_("Changed group %s"), $group->name)); + print json_encode(array("result" => "success")); + } else { + message::error(sprintf(_("Failed to change group %s"), $group->name)); + print json_encode(array("result" => "error", + "form" => $form->__toString())); + } + } else { + print $form; + } + } +} diff --git a/modules/user/controllers/admin_users.php b/modules/user/controllers/admin_users.php index 22801c95..53769e51 100644 --- a/modules/user/controllers/admin_users.php +++ b/modules/user/controllers/admin_users.php @@ -22,7 +22,6 @@ class Admin_Users_Controller extends Controller { $view = new Admin_View("admin.html"); $view->content = new View("admin_users.html"); $view->content->users = ORM::factory("user")->orderby("name")->find_all(); - $view->content->groups = ORM::factory("group")->orderby("name")->find_all(); print $view; } -- cgit v1.2.3