summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/user/controllers/admin_users.php1
-rw-r--r--modules/user/views/admin_users.html.php50
-rw-r--r--themes/admin_default/js/ui.init.js40
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