diff --git a/bika/lims/browser/js/bika.lims.worksheet.js b/bika/lims/browser/js/bika.lims.worksheet.js index a121d94651..781c842478 100644 --- a/bika/lims/browser/js/bika.lims.worksheet.js +++ b/bika/lims/browser/js/bika.lims.worksheet.js @@ -43,7 +43,7 @@ function WorksheetAddAnalysesView() { // search form - selecting a category fills up the service selector $('[name="list_getCategoryTitle"]').live("change", function(){ - val = $('[name="list_getCategoryTitle"]').val(); + val = $('[name="list_getCategoryTitle"]').find(":selected").val(); if(val == 'any'){ $('[name="list_Title"]').empty(); $('[name="list_Title"]').append(""); @@ -53,7 +53,7 @@ function WorksheetAddAnalysesView() { url: window.location.href.split("?")[0].replace("/add_analyses","") + "/getServices", type: 'POST', data: {'_authenticator': $('input[name="_authenticator"]').val(), - 'getCategoryTitle': val}, + 'getCategoryUID': val}, dataType: "json", success: function(data, textStatus, $XHR){ current_service_selection = $('[name="list_Title"]').val(); @@ -65,7 +65,9 @@ function WorksheetAddAnalysesView() { } else { selected = ''; } - $('[name="list_Title"]').append(""); + $('[name="list_Title"]').append( + ""); } } }); @@ -102,6 +104,8 @@ function WorksheetAddAnalysesView() { replaceTarget: true, data: form.formToArray(), success: function () { + // Reload bika listing transitions watchers + window.bika.lims.BikaListingTableView.load(); } } var url = window.location.href.split("?")[0].split("/add_analyses")[0]; diff --git a/bika/lims/browser/worksheet/ajax.py b/bika/lims/browser/worksheet/ajax.py index 4d2fcbf6a4..6675d47b8b 100644 --- a/bika/lims/browser/worksheet/ajax.py +++ b/bika/lims/browser/worksheet/ajax.py @@ -26,11 +26,13 @@ def __init__(self, context, request): def __call__(self): plone.protect.CheckAuthenticator(self.request) bsc = getToolByName(self.context, 'bika_setup_catalog') - return json.dumps([c.Title for c in - bsc(portal_type = 'AnalysisService', - getCategoryTitle = self.request.get('getCategoryTitle', ''), - inactive_state = 'active', - sort_on = 'sortable_title')]) + brains = bsc( + portal_type='AnalysisService', + getCategoryUID=self.request.get('getCategoryUID', ''), + inactive_state='active', + sort_on='sortable_title') + voc = [[brain.UID, brain.Title] for brain in brains] + return json.dumps(voc) class AttachAnalyses(): diff --git a/bika/lims/browser/worksheet/templates/add_analyses.pt b/bika/lims/browser/worksheet/templates/add_analyses.pt index a3e944f837..cb0544a68c 100644 --- a/bika/lims/browser/worksheet/templates/add_analyses.pt +++ b/bika/lims/browser/worksheet/templates/add_analyses.pt @@ -43,14 +43,15 @@ - - +   Category @@ -81,14 +83,15 @@ i18n:translate="">Service @@ -96,14 +99,15 @@ i18n:translate="">Client