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