aboutsummaryrefslogtreecommitdiff
path: root/public/js/moderators.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/js/moderators.js')
-rw-r--r--public/js/moderators.js39
1 files changed, 38 insertions, 1 deletions
diff --git a/public/js/moderators.js b/public/js/moderators.js
index 2b192f8..1a61075 100644
--- a/public/js/moderators.js
+++ b/public/js/moderators.js
@@ -20,10 +20,17 @@ $(document).ready(function(){
var vote = parseInt($(this).data('vote'));
var verbId = $(this).data('verb');
- var container = $(this).parent();
+ var container = $(this).closest('tr');
+
+ var fail = function(msg) {
+ alert('Voting failed with the message: "' + msg + '". Please try again.');
+ }
$.ajax({
url: app_url + 'verb/' + verbId + '/vote/' + vote,
+ error: function(jqxhr, stat, error) {
+ fail(stat);
+ },
success: function(data) {
if (!data.success) {
fail(data.message);
@@ -54,4 +61,34 @@ $(document).ready(function(){
return true;
});
+
+ $('form#suggest').submit(function(){
+ var data = $(this).serialize();
+ var form = $(this);
+
+ form.clearAlerts();
+
+ $.ajax({
+ url: app_url + 'verb/suggest',
+ method: 'post',
+ data: data,
+ error: function(jqxhr, stat, error) {
+ form.addAlert('danger', stat);
+ },
+ success: function(data) {
+ if (!data.success) {
+ form.addAlert('danger', data.message);
+ return;
+ }
+
+ if (data.accepted) {
+ form.addAlert('success', 'The new verb has been <b>accepted immediately</b>.');
+ } else {
+ form.addAlert('success', 'The new verb has been proposed for peer review.');
+ }
+ }
+ });
+
+ return false;
+ });
});