diff options
author | Jakob Hilden <jhild@umich.edu> | 2009-01-22 08:37:58 +0000 |
---|---|---|
committer | Jakob Hilden <jhild@umich.edu> | 2009-01-22 08:37:58 +0000 |
commit | 1cc5d366576e16b4c70752afd8909cbd3ae0b70e (patch) | |
tree | fdd8f7a17e9e0fb361ae016d8bdcffc0dd30ade5 | |
parent | ddb995eaf6570ea226875d4a8d75ca172ce0b667 (diff) |
toggling of user edit panel works now.
added groups to the admin_user view, so you will eventually be able to edit users, groups and memberships on one admin page.
-rw-r--r-- | modules/user/controllers/admin_users.php | 1 | ||||
-rw-r--r-- | modules/user/views/admin_users.html.php | 50 | ||||
-rw-r--r-- | themes/admin_default/js/ui.init.js | 40 |
3 files changed, 75 insertions, 16 deletions
diff --git a/modules/user/controllers/admin_users.php b/modules/user/controllers/admin_users.php index dff56870..a2b4999d 100644 --- a/modules/user/controllers/admin_users.php +++ b/modules/user/controllers/admin_users.php @@ -22,6 +22,7 @@ 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; } diff --git a/modules/user/views/admin_users.html.php b/modules/user/views/admin_users.html.php index c1c615b3..566d719f 100644 --- a/modules/user/views/admin_users.html.php +++ b/modules/user/views/admin_users.html.php @@ -39,12 +39,22 @@ position: absolute; left: 400px; } - .gActions a { + .gActions a, .gActions span { margin-right: 40px; } .gPanel { display: none; } + + li.gGroup { + float: left; + display: block; + width: 200px; + height: 200px; + border: 1px solid gray; + padding: .5em; + margin-right: 1em; + } </style> <div class="gBlock"> @@ -77,8 +87,13 @@ <!--<a href="users/edit_form/<?= $user->id ?>" class="gDialogLink"><?= t("edit") ?></a>--> <? if (!(user::active()->id == $user->id || user::guest()->id == $user->id)): ?> <a href="users/delete_form/<?= $user->id ?>" class="gDialogLink"><?= t("delete") ?></a> + <? else: ?> + <span class="inactive" title="<?= t("This user can't be deleted") ?>"> + <?= t("delete") ?> + </span> <? endif ?> </span> + <form id="gUserEdit-<?= $user->id ?>" class="gPanel"> <fieldset> @@ -90,7 +105,7 @@ <input type="text" /> ... <input type="submit" value="Save changes" /> - <a href="#">cancel</a> + <a href="#" class="gPanelLink"><?= t("cancel") ?></a> </fieldset> </form> </li> @@ -102,3 +117,34 @@ </a> </div> </div> + +<div class="gBlock"> + <h2> + <?= t("Group Admin") ?> + <a class="gButtonLink" href="#" title="<?= t("Create a new group") ?>">+ <?= t("Add group") ?></a> + </h2> + + <div id="gGroupAdmin" class="gBlockContent"> + <ul> + <? foreach ($groups as $i => $group): ?> + <li class="gGroup"> + <strong><?= $group->name?></strong><br /> + <ul> + <? foreach ($group->users as $i => $user): ?> + <li class="gUser"> + <?= $user->name ?> + <a href="groups/remove_users/<?= $user->id ?>">X</a> + </li> + <? endforeach ?> + </ul> + </li> + <? endforeach ?> + + <li class="gGroup"> + <a href="groups/add_form" title="<?= t("Create a new group") ?>"> + + <?= t("Add a new group") ?> + </a + </li> + </ul> + </div> +</div> diff --git a/themes/admin_default/js/ui.init.js b/themes/admin_default/js/ui.init.js index c7b9cde4..1acf3435 100644 --- a/themes/admin_default/js/ui.init.js +++ b/themes/admin_default/js/ui.init.js @@ -30,22 +30,34 @@ $(document).ready(function(){ } } }); - + + // Apply hide/show functionality on user admin view var panelLinks = $(".gPanelLink"); for (i=0; i<panelLinks.length; i++) { $(panelLinks[i]).bind("click", {element: panelLinks[i]}, handlePanelEvent); } -}); - -function handlePanelEvent(event) { - openPanel(event.data.element); - event.preventDefault(); -} - -function openPanel(element) { - var parent = $(element).parent().parent(); - var panel = $(parent).children(".gPanel"); - panel.slideDown("slow"); - return false; -} + function handlePanelEvent(event) { + togglePanel(event.data.element); + event.preventDefault(); + } + + function togglePanel(element) { + var parent = $(element).parent().parent(); + if (parent.hasClass("gPanel")) { + var panel = parent; + } else { + var panel = $(parent).children(".gPanel"); + } + + panel.slideToggle("slow"); + +// if ($(element).href.search(/edit_form/)) { +// $(element).replaceWith("<span>"+$(element).text()+"</span>"); +// } + + return false; + } + + // Remove users from group functionality +});
\ No newline at end of file |