diff options
-rw-r--r-- | modules/user/views/admin_users.html.php | 71 | ||||
-rw-r--r-- | themes/admin_default/js/ui.init.js | 51 |
2 files changed, 67 insertions, 55 deletions
diff --git a/modules/user/views/admin_users.html.php b/modules/user/views/admin_users.html.php index 566d719f..b4673aec 100644 --- a/modules/user/views/admin_users.html.php +++ b/modules/user/views/admin_users.html.php @@ -43,8 +43,15 @@ margin-right: 40px; } .gPanel { - display: none; + display: none; + padding: 1em; } + .gPanel legend { + display: none; + } + .gPanel fieldset { + border: none; + } li.gGroup { float: left; @@ -66,49 +73,31 @@ <div class="gBlockContent"> <ul class="gUserAdminList"> <li class="gFirstRow"> - <strong>Username</strong> - (Full name) + <strong>Username</strong> (Full name) <span class="understate">last login</span> </li> <? foreach ($users as $i => $user): ?> - <li class="<?= ($i % 2 == 0) ? "gEvenRow" : "gOddRow" ?>"> - <img src="<?= $theme->url("images/avatar.jpg") ?>" - title="<?= t("Drag user onto group below to add as a new member") ?>" - width="20" height="20" /> - <strong><?= $user->name ?></strong> - (<?= $user->full_name ?>) - <span class="understate"> - <?= ($user->last_login == 0) ? "" : date("M j, Y", $user->last_login) ?> - </span> - - <span class="gActions"> - <a href="users/edit_form/<?= $user->id ?>" class="gPanelLink"><?= t("edit") ?></a> - <!--<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> - <label>Username</label> - <input type="text" /> - <label>Full name</label> - <input type="text" /> - <label>Email</label> - <input type="text" /> - ... - <input type="submit" value="Save changes" /> - <a href="#" class="gPanelLink"><?= t("cancel") ?></a> - </fieldset> - </form> - </li> + <li class="<?= ($i % 2 == 0) ? "gEvenRow" : "gOddRow" ?>"> + <img src="<?= $theme->url("images/avatar.jpg") ?>" + title="<?= t("Drag user onto group below to add as a new member") ?>" + width="20" height="20" /> + <strong><?= $user->name ?></strong> + (<?= $user->full_name ?>) + <span class="understate"> + <?= ($user->last_login == 0) ? "" : date("M j, Y", $user->last_login) ?> + </span> + <span class="gActions"> + <a href="users/edit_form/<?= $user->id ?>" class="gPanelLink"><?= 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> + </li> <? endforeach ?> </ul> <br /> @@ -143,7 +132,7 @@ <li class="gGroup"> <a href="groups/add_form" title="<?= t("Create a new group") ?>"> + <?= t("Add a new group") ?> - </a + </a> </li> </ul> </div> diff --git a/themes/admin_default/js/ui.init.js b/themes/admin_default/js/ui.init.js index 1acf3435..84a1021a 100644 --- a/themes/admin_default/js/ui.init.js +++ b/themes/admin_default/js/ui.init.js @@ -42,20 +42,43 @@ $(document).ready(function(){ 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>"); -// } - + function togglePanel(element, on_success) { + var parent = $(element).parent().parent(); + var sHref = $(element).attr("href"); + var ePanel = '<div class="gPanel"></div>'; + if ($(parent).children(".gPanel").length) { + console.log("In here"); + $(parent).children(".gPanel").slideToggle("slow"); + } else { + $(parent).append(ePanel); + var panel = $(parent).children(".gPanel"); + $(panel).html(sHref); + panel.show().slideDown("slow"); + $.get(sHref, function(data) { + $(panel).html(data); + ajaxify_panel = function() { + $(".gPanel form").ajaxForm({ + dataType: "json", + success: function(data) { + if (data.form) { + $(".gPanel form").replaceWith(data.form); + ajaxify_panel(); + } + if (data.result == "success") { + if (on_success) { + on_success(); + } else if (data.location) { + window.location = data.location; + } else { + window.location.reload(); + } + } + } + }); + }; + ajaxify_panel(); + }); + } return false; } |