summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/user/controllers/admin_users.php15
-rw-r--r--modules/user/helpers/user_block.php5
-rw-r--r--modules/user/js/admin_users.js16
-rw-r--r--modules/user/views/admin_users.html.php4
4 files changed, 35 insertions, 5 deletions
diff --git a/modules/user/controllers/admin_users.php b/modules/user/controllers/admin_users.php
index 8bf70f77..8aac0695 100644
--- a/modules/user/controllers/admin_users.php
+++ b/modules/user/controllers/admin_users.php
@@ -27,6 +27,7 @@ class Admin_Users_Controller extends Controller {
}
public function create() {
+ rest::http_content_type(rest::JSON);
$form = user::get_add_form_admin();
if ($form->validate()) {
$user = user::create($form->add_user->inputs["name"]->value,
@@ -35,10 +36,18 @@ class Admin_Users_Controller extends Controller {
$user->save();
log::add("user", sprintf(_("Created user %s"), $user->name));
message::add(sprintf(_("Created user %s"), $user->name));
- url::redirect("admin/users");
+ $output = '<li>' . $user->name . ' <a href="#">edit</a><div>' .
+ user::get_edit_form_admin($user) . '</div><a href="#">delete</a><div>' .
+ user::get_delete_form_admin($user, "admin/users/delete/{$user->id}") .
+ '</div></li>';
+ print json_encode(
+ array("result" => "success", "operation" => "create",
+ "output" => $output));
+ } else {
+ print json_encode(
+ array("result" => "error",
+ "form" => $form->__toString()));
}
-
- print $form;
}
public function delete($id) {
diff --git a/modules/user/helpers/user_block.php b/modules/user/helpers/user_block.php
index 5e406fef..c3ea3bdf 100644
--- a/modules/user/helpers/user_block.php
+++ b/modules/user/helpers/user_block.php
@@ -27,6 +27,11 @@ class user_block_Core {
}
}
+ public static function admin_head($theme) {
+ $url = url::file("modules/user/js/admin_users.js");
+ return "<script src=\"$url\" type=\"text/javascript\"></script>";
+ }
+
public static function header_top($theme) {
$view = new View("login.html");
$view->user = user::active();
diff --git a/modules/user/js/admin_users.js b/modules/user/js/admin_users.js
new file mode 100644
index 00000000..678445f7
--- /dev/null
+++ b/modules/user/js/admin_users.js
@@ -0,0 +1,16 @@
+$("document").ready(function() {
+ ajaxify_admin_users_form();
+});
+
+function ajaxify_admin_users_form() {
+ $("#gAddUser form").ajaxForm({
+ dataType: "json",
+ success: function(data) {
+ if (data.result == "success") {
+ $(data.output).insertBefore("#gUsers li:last-child");
+ $('.ui-accordion-container').accordion();
+ $("#gUser li:last-child form").clearForm();
+ }
+ }
+ });
+};
diff --git a/modules/user/views/admin_users.html.php b/modules/user/views/admin_users.html.php
index 96a734ee..5a9e44e6 100644
--- a/modules/user/views/admin_users.html.php
+++ b/modules/user/views/admin_users.html.php
@@ -3,7 +3,7 @@
<h2>User Administration</h2>
<div class="gBlockContent">
<p>These are the users in your system</p>
- <ul class="ui-accordion-container">
+ <ul class="ui-accordion-container" id="gUsers">
<? foreach ($users as $i => $user): ?>
<li>
<?= $user->name ?>
@@ -21,7 +21,7 @@
</li>
<? endforeach ?>
<li><a href="#">Add user</a>
- <div>
+ <div id="gAddUser">
<?= user::get_add_form_admin(); ?>
</div>
</li>