submit bulkactions with an AJAX call.

svn path=/plone.app.discussion/trunk/; revision=27720
This commit is contained in:
Timo Stollenwerk 2009-06-29 13:38:00 +00:00
parent 8df9ad9cf4
commit 502015b14e
3 changed files with 27 additions and 8 deletions

View File

@ -1,7 +1,7 @@
jq(document).ready(function() {
/*****************************************************************
* Check or uncheck all checkboxes.
* Check or uncheck all checkboxes
*****************************************************************/
jq("input[name='check_all']").click(function(){
if(jq(this).val()==0){
@ -16,4 +16,23 @@ jq(document).ready(function() {
}
});
});
/*****************************************************************
* Bulk actions
*****************************************************************/
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');
jq.post(target, params, function(data) {
valArray.each(function () {
row = jq(this).parent().parent();
row.fadeOut("normal", function() {
row.remove();
});
});
});
});
});

View File

@ -68,7 +68,7 @@
<form method="post"
action="#"
class="kssattr-serveraction-foldercontents_update_table"
class="bulkactions"
tal:attributes="action string:${context/absolute_url}/@@bulk-actions">
<select name="form.select.BulkAction">
<option selected="selected" value="-1" i18n:translate="title_bulkactions">Bulk Actions</option>
@ -77,6 +77,7 @@
<!--<option value="mark_as_spam" i18n:translate="bulkactions_markasspam">Mark as Spam</option>-->
<option value="delete" i18n:translate="bulkactions_delete">Delete</option>
</select>
<input type="hidden" name="form.button.Filter" tal:attributes="value filter" value="" />
<input id="dobulkaction"
type="submit"
class="standalone allowMultiSubmit"

View File

@ -6,7 +6,7 @@ from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
from Products.CMFCore.utils import getToolByName
class View(BrowserView):
"""
"""Moderation View
"""
template = ViewPageTemplateFile('moderation.pt')
@ -119,14 +119,15 @@ class BulkActionsView(BrowserView):
context = aq_inner(self.context)
if self.request.has_key('form.button.BulkAction'):
if self.request.has_key('form.select.BulkAction'):
bulkaction = self.request.get('form.select.BulkAction')
paths = self.request.get('paths')
if bulkaction == '-1':
return self.context.REQUEST.RESPONSE.redirect(self.context.REQUEST.HTTP_REFERER)
# no bulk action was selected
pass
elif bulkaction == 'retract':
self.retract(paths)
elif bulkaction == 'publish':
@ -138,8 +139,6 @@ class BulkActionsView(BrowserView):
else:
raise KeyError
return self.context.REQUEST.RESPONSE.redirect(self.context.REQUEST.HTTP_REFERER)
def retract(self, paths):
raise NotImplementedError