summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/user/views/admin_users.html.php71
-rw-r--r--themes/admin_default/js/ui.init.js51
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;
}