diff --git a/bika/lims/browser/js/bika.lims.worksheet.js b/bika/lims/browser/js/bika.lims.worksheet.js
index 781c842478..ef3a62e242 100644
--- a/bika/lims/browser/js/bika.lims.worksheet.js
+++ b/bika/lims/browser/js/bika.lims.worksheet.js
@@ -78,50 +78,43 @@ function WorksheetAddAnalysesView() {
$('.ws-analyses-search-button').live('click', function (event) {
// in this context we already know there is only one bika-listing-form
var form_id = "list";
- var form = $("#list");
+ var form = $('form[id="'+form_id+'"]');
+ var params = {};
- // request new table content by re-routing bika_listing_table form submit
- $(form).append("");
// dropdowns are printed in ../templates/worksheet_add_analyses.pt
// We add _=, which are checked in bika_listing.py
var filter_indexes = ['getCategoryTitle', 'Title', 'getClientTitle'];
- var i, fi;
- for (i = 0; i < filter_indexes.length; i++) {
- fi = form_id + "_" + filter_indexes[i];
- var value = $("[name='" + fi + "']").val();
+ var field_set = $(this).parent('fieldset');
+ for (var i=0; i [name='" + fi + "']").remove();
- $.query.REMOVE(fi);
- }
- else {
- $(form).append("");
- $.query.SET(fi, value);
+ continue;
}
+ params[idx_name] = value;
}
-
- var options = {
- target: $('.bika-listing-table'),
- replaceTarget: true,
- data: form.formToArray(),
- success: function () {
- // Reload bika listing transitions watchers
- window.bika.lims.BikaListingTableView.load();
+ // Add other fields required from bikalisting form
+ params['form_id'] = form_id;
+ params['table_only'] = form_id;
+ params['portal_type'] = 'Analysis';
+ params['submitted'] = '1';
+ var base_fields = ['_authenticator', 'view_url', 'list_sort_on', 'list_sort_order'];
+ for (var i=0; i [name='" + fi + "']").remove();
- }
- $(form).attr("action", stored_form_action);
- $("[name='table_only']").remove();
+ $.post(window.location.href, params).done(function(data) {
+ $(form).find('.bika-listing-table-container').html(data);
+ window.bika.lims.BikaListingTableView.load();
+ });
return false;
});
diff --git a/bika/lims/browser/worksheet/views/add_analyses.py b/bika/lims/browser/worksheet/views/add_analyses.py
index cf639f845d..29f9f08a06 100644
--- a/bika/lims/browser/worksheet/views/add_analyses.py
+++ b/bika/lims/browser/worksheet/views/add_analyses.py
@@ -128,22 +128,22 @@ def __call__(self):
self.request.RESPONSE.redirect(self.context.absolute_url() +
"/add_analyses")
elif (
- 'list_getCategoryTitle' in form or
- 'list_Title' in form or
- 'list_getClientTitle' in form
+ 'getCategoryTitle' in form or
+ 'Title' in form or
+ 'getClientTitle' in form
):
# Apply filter elements
# Note that the name of those fields is '..Title', but we
# are getting their UID.
- category = form.get('list_getCategoryTitle', '')
+ category = form.get('getCategoryTitle', '')
if category:
self.contentFilter['getCategoryUID'] = category
- service = form.get('list_Title', '')
+ service = form.get('Title', '')
if service:
self.contentFilter['getServiceUID'] = service
- client = form.get('list_getClientTitle', '')
+ client = form.get('getClientTitle', '')
if client:
self.contentFilter['getClientUID'] = client