view gpp/comments/static/js/comments.js @ 334:6805d15cda13

Adding a script I had to write on the fly to filter out posts from the posts csv file that had no parent topics. MyISAM let me get away with that, but InnoDB won't.
author Brian Neal <bgneal@gmail.com>
date Sat, 26 Feb 2011 01:28:22 +0000
parents 88b2b9cb8c1f
children f785a646a5fc
line wrap: on
line source
$(document).ready(function() {
    var postText = $('#id_comment');
    var postButton = $('#comment-form-post');
    postButton.click(function () {
        var text = $.trim(postText.val());
        if (text.length == 0) {
           alert('Please enter some text.');
           return false;
        }
        postButton.attr('disabled', 'disabled').val('Posting Comment...');
        $.ajax({
            url: '/comments/post/',
            type: 'POST',
            data: {
               comment : text,
               content_type : $('#id_content_type').val(), 
               object_pk : $('#id_object_pk').val() 
            }, 
            dataType: 'html',
            success: function (data, textStatus) {
                postText.val(''); 
                $('#comment-container').append(data);
                var newDiv = $('#comment-container > div:last');
                newDiv.hide();
                var num = $('.comment-list', newDiv);
                num.html($('#comment-container > div').size() + ".");
                newDiv.fadeIn(3000);
                postButton.removeAttr('disabled').val('Post Comment');
                var count = $('#comment-count');
                if (count.length) {
                    count.html(parseInt(count.html()) + 1);
                }
            }, 
            error: function (xhr, textStatus, ex) {
               alert('Oops, an error occurred. ' + xhr.statusText + ' - ' + 
                  xhr.responseText);
               postButton.removeAttr('disabled').val('Post Comment');
            }
        });
        return false;
    });
    $('a.comment-flag').click(function () {
        var id = this.id;
        if (id.match(/fc-(\d+)/)) {
            id = RegExp.$1;
            if (confirm('Only flag a comment if you feel it is spam, abuse, violates site rules, ' +
                    'or is not appropriate. ' +
                    'A moderator will be notified and will review the comment. ' +
                    'Are you sure you want to flag this comment?')) {
                $.ajax({
                  url: '/comments/flag/',
                  type: 'POST',
                  data: {id: id}, 
                  dataType: 'text',
                  success: function (response, textStatus) {
                     alert(response);
                  },
                  error: function (xhr, textStatus, ex) {
                     alert('Oops, an error occurred: ' + xhr.statusText + ' - ' + xhr.responseText);
                  }
                });
            }
        }
        return false;
    });
});