differentiate between delete and publish AJAX calls.

svn path=/plone.app.discussion/trunk/; revision=27725
This commit is contained in:
Timo Stollenwerk 2009-06-29 15:09:41 +00:00
parent 4a934a2967
commit a00dea41e3
3 changed files with 126 additions and 100 deletions

View File

@ -16,6 +16,7 @@ jq(document).ready(function() {
}
});
/*****************************************************************
* Comment actions (delete, publish)
*****************************************************************/
@ -25,31 +26,56 @@ jq(document).ready(function() {
var params = jq(this).serialize();
var cell = jq(this).parent().get(0);
var row = jq(cell).parent().get(0);
var currentFilter = jq(this).find("[name='form.button.Filter']").attr("value");
var currentAction = jq(this).attr("class");
jq.post(target, params, function(data) {
jq(row).fadeOut("normal", function() {
if (currentAction == 'background-form workflow_action' && currentFilter == '') {
alert("NotImplementedError: AJAX switch workflow state")
}
else {
jq(row).fadeOut("normal", function(){
jq(this).remove();
});
}
});
});
/*****************************************************************
* Bulk actions
* Bulk actions (delete, publish)
*****************************************************************/
jq('form.bulkactions').submit(function(e) {
e.preventDefault();
var target = jq(this).attr('action');
var params = jq(this).serialize();
var valArray = jq('input:checkbox:checked');
var currentFilter = jq(this).find("[name='form.button.Filter']").attr("value");
var currentAction = jq(this).find("[name='form.select.BulkAction']").val();
if (valArray.length) {
jq.post(target, params, function(data) {
valArray.each(function () {
// if bulkaction is delete, or the current filter is
// pending (because then publish also removes the comment),
// remove all selected comments.
if (currentAction == 'delete' || currentFilter == 'pending') {
row = jq(this).parent().parent();
row.fadeOut("normal", function() {
row.remove();
});
}
// if bulkaction is publish and there is no current filter,
// change the workflow action
if (currentAction == 'publish') {
alert("NotImplementedError: AJAX switch workflow state")
}
});
});
} else {
// The user has submitted a bulk action, but no comment
// was selected.
// Todo: nicer and translated message
alert("You haven't selected anything for this bulk action.");
}
});
});

View File

@ -13,7 +13,7 @@
filter view/filter|nothing;">
<h1 class="documentFirstHeading" i18n:translate="title_review">
Review comments
Moderate comments
</h1>
<ul class="filter">
<li class="all">

View File

@ -124,7 +124,7 @@ class BulkActionsView(BrowserView):
bulkaction = self.request.get('form.select.BulkAction')
self.paths = self.request.get('paths')
if self.paths:
if bulkaction == '-1':
# no bulk action was selected
pass