From e3892e09c908cc9acec04a6a8666e2616474fc29 Mon Sep 17 00:00:00 2001 From: albert Date: Thu, 28 Feb 2013 15:06:22 -0800 Subject: [PATCH] fixes #653 --- app/assets/javascripts/post_mode_menu.js | 2 ++ app/assets/javascripts/posts.js | 23 ++++++++++++++++--- .../moderator/post/approvals/create.json.erb | 1 + .../posts/partials/index/_mode_menu.html.erb | 3 +++ 4 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 app/views/moderator/post/approvals/create.json.erb diff --git a/app/assets/javascripts/post_mode_menu.js b/app/assets/javascripts/post_mode_menu.js index eef6b3b92..02c87ef4d 100644 --- a/app/assets/javascripts/post_mode_menu.js +++ b/app/assets/javascripts/post_mode_menu.js @@ -109,6 +109,8 @@ Danbooru.Post.update(post_id, {"post[is_rating_locked]": "1"}); } else if (s === 'lock-note') { Danbooru.Post.update(post_id, {"post[is_note_locked]": "1"}); + } else if (s === 'approve') { + Danbooru.Post.approve(post_id); } else if (s === "apply-tag-script") { var tag_script = Danbooru.Cookie.get("tag-script"); Danbooru.TagScript.run(post_id, tag_script); diff --git a/app/assets/javascripts/posts.js b/app/assets/javascripts/posts.js index bb81a72bb..ec0d11d97 100644 --- a/app/assets/javascripts/posts.js +++ b/app/assets/javascripts/posts.js @@ -308,16 +308,33 @@ complete: function() { Danbooru.Post.notice_update("dec"); }, - success: function(data, status, xhr) { + success: function(data) { Danbooru.Post.update_data(data); - }, - error: function(data, status, xhr) { + error: function(data) { Danbooru.notice("Error: " + data.reason); $("#post_" + data.id).effect("shake", {"distance": 20}, "fast"); } }); } + + Danbooru.Post.approve = function(post_id) { + $.ajax({ + type: "POST", + url: "/moderator/post/approval.json", + data: {"post_id": post_id}, + dataType: "json", + success: function(data) { + if (!data.success) { + Danbooru.error("Error: " + data.reason); + } else { + var $post = $("#post_" + post_id); + $post.data("flags", $post.data("flags").replace(/pending/, "")); + $post.removeClass("post-status-pending"); + } + } + }); + } Danbooru.Post.place_jlist_ads = function() { var jlist = $("#jlist-rss-ads-for-show"); diff --git a/app/views/moderator/post/approvals/create.json.erb b/app/views/moderator/post/approvals/create.json.erb new file mode 100644 index 000000000..8de51cd29 --- /dev/null +++ b/app/views/moderator/post/approvals/create.json.erb @@ -0,0 +1 @@ +{"success": <%= @post.errors.empty? %>, "reason": <%= raw @post.errors.full_messages.join("; ").to_json %>} \ No newline at end of file diff --git a/app/views/posts/partials/index/_mode_menu.html.erb b/app/views/posts/partials/index/_mode_menu.html.erb index ce2bfb157..4576b4771 100644 --- a/app/views/posts/partials/index/_mode_menu.html.erb +++ b/app/views/posts/partials/index/_mode_menu.html.erb @@ -14,6 +14,9 @@ + <% if CurrentUser.is_janitor? %> + + <% end %>