From 1a62a26a369fbb56c46e3fc9bae64084adbd8326 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Wed, 28 Jan 2009 09:50:15 +0000 Subject: Add drag and drop support to the admin_users interface. This is still a work in progress but it actually works mostly. --- modules/user/controllers/admin_users.php | 34 +++++++++--- modules/user/helpers/user.php | 2 +- modules/user/views/admin_users.html.php | 74 ++++++++++++++++++++------- modules/user/views/admin_users_group.html.php | 11 ++++ 4 files changed, 95 insertions(+), 26 deletions(-) create mode 100644 modules/user/views/admin_users_group.html.php (limited to 'modules') diff --git a/modules/user/controllers/admin_users.php b/modules/user/controllers/admin_users.php index a2b4999d..85d59b8d 100644 --- a/modules/user/controllers/admin_users.php +++ b/modules/user/controllers/admin_users.php @@ -26,7 +26,7 @@ class Admin_Users_Controller extends Controller { print $view; } - public function add() { + public function add_user() { $form = user::get_add_form_admin(); $valid = $form->validate(); @@ -51,11 +51,11 @@ class Admin_Users_Controller extends Controller { } } - public function add_form() { + public function add_user_form() { print user::get_add_form_admin(); } - public function delete($id) { + public function delete_user($id) { $user = ORM::factory("user", $id); if (!$user->loaded) { kohana::show_404(); @@ -77,7 +77,7 @@ class Admin_Users_Controller extends Controller { print json_encode(array("result" => "success")); } - public function delete_form($id) { + public function delete_user_form($id) { $user = ORM::factory("user", $id); if (!$user->loaded) { kohana::show_404(); @@ -85,7 +85,7 @@ class Admin_Users_Controller extends Controller { print user::get_delete_form_admin($user); } - public function edit($id) { + public function edit_user($id) { $user = ORM::factory("user", $id); if (!$user->loaded) { kohana::show_404(); @@ -118,7 +118,7 @@ class Admin_Users_Controller extends Controller { } } - public function edit_form($id) { + public function edit_user_form($id) { $user = ORM::factory("user", $id); if (!$user->loaded) { kohana::show_404(); @@ -126,4 +126,26 @@ class Admin_Users_Controller extends Controller { print user::get_edit_form_admin($user); } + + public function add_user_to_group($user_id, $group_id) { + access::verify_csrf(); + $group = ORM::factory("group", $group_id); + $user = ORM::factory("user", $user_id); + $group->add($user); + $group->save(); + } + + public function remove_user_from_group($user_id, $group_id) { + access::verify_csrf(); + $group = ORM::factory("group", $group_id); + $user = ORM::factory("user", $user_id); + $group->remove($user); + $group->save(); + } + + public function group($group_id) { + $view = new View("admin_users_group.html"); + $view->group = ORM::factory("group", $group_id); + print $view; + } } diff --git a/modules/user/helpers/user.php b/modules/user/helpers/user.php index a7c3bdeb..b67986e3 100644 --- a/modules/user/helpers/user.php +++ b/modules/user/helpers/user.php @@ -53,7 +53,7 @@ class user_Core { } static function get_add_form_admin() { - $form = new Forge("admin/users/add", "", "post", array("id" => "gAddUserForm")); + $form = new Forge("admin/users/add_user", "", "post", array("id" => "gAddUserForm")); $group = $form->group("add_user")->label(t("Add User")); $group->input("name")->label(t("Name"))->id("gName"); $group->inputs["name"]->error_messages( diff --git a/modules/user/views/admin_users.html.php b/modules/user/views/admin_users.html.php index 3eb03044..57e0864f 100644 --- a/modules/user/views/admin_users.html.php +++ b/modules/user/views/admin_users.html.php @@ -1,6 +1,47 @@ +
- " + " class="gDialogLink gButtonLink right" title=""> + @@ -18,13 +59,15 @@ $user): ?> -
  • "> - " - title="" - alt="name ?>" - width="20" - height="20" /> - name ?> +
  • user"> +
    + " + title="" + alt="name ?>" + width="20" + height="20" /> + name ?> +
    (full_name ?>) last_login == 0) ? "" : date("m j, y", $user->last_login) ?> @@ -43,7 +86,7 @@

    - " + " class="gDialogLink gButtonLink" title=""> + @@ -66,16 +109,9 @@

    diff --git a/modules/user/views/admin_users_group.html.php b/modules/user/views/admin_users_group.html.php new file mode 100644 index 00000000..1d6c127d --- /dev/null +++ b/modules/user/views/admin_users_group.html.php @@ -0,0 +1,11 @@ +name?> +
      + users as $i => $user): ?> +
    • + name ?> + special): ?> + X + +
    • + +
    -- cgit v1.2.3