diff --git a/bika/lims/browser/analysisrequest/manage_analyses.py b/bika/lims/browser/analysisrequest/manage_analyses.py index 59d08f77f1..bba035570d 100644 --- a/bika/lims/browser/analysisrequest/manage_analyses.py +++ b/bika/lims/browser/analysisrequest/manage_analyses.py @@ -64,7 +64,8 @@ def __init__(self, context, request): 'Price': {'title': _('Price'), 'sortable': False, }, 'Partition': {'title': _('Partition'), - 'sortable': False, }, + 'sortable': False, + 'type': 'choices'}, 'min': {'title': _('Min')}, 'max': {'title': _('Max')}, 'error': {'title': _('Permitted Error %')}, @@ -171,13 +172,8 @@ def folderitems(self): self.expand_all_categories = False wf = getToolByName(self.context, 'portal_workflow') - mtool = getToolByName(self.context, 'portal_membership') - - self.allow_edit = mtool.checkPermission('Modify portal content', - self.context) items = BikaListingView.folderitems(self) - analyses = self.context.getAnalyses(full_objects=True) parts = self.context.getSample().objectValues('SamplePartition') partitions = [{'ResultValue': o.Title(), @@ -280,7 +276,7 @@ def folderitems(self): # Display analyses for this Analysis Service in results? ser = self.context.getAnalysisServiceSettings(obj.UID()) - items[x]['allow_edit'] = ['Hidden', ] + items[x]['allow_edit'].append('Hidden') items[x]['Hidden'] = ser.get('hidden', obj.getHidden()) self.categories.sort() diff --git a/bika/lims/browser/analysisrequest/workflow.py b/bika/lims/browser/analysisrequest/workflow.py index 356ee96cfa..4734b5f4bf 100644 --- a/bika/lims/browser/analysisrequest/workflow.py +++ b/bika/lims/browser/analysisrequest/workflow.py @@ -143,7 +143,7 @@ def workflow_action_save_analyses_button(self): specs = {} if form.get("min", None): for service_uid in Analyses: - service = bsc(UID=service_uid)[0].getObject() + service = objects[service_uid] keyword = service.getKeyword() specs[service_uid] = { "min": form["min"][0][service_uid], @@ -154,7 +154,7 @@ def workflow_action_save_analyses_button(self): } else: for service_uid in Analyses: - service = bsc(UID=service_uid)[0].getObject() + service = objects[service_uid] keyword = service.getKeyword() specs[service_uid] = {"min": "", "max": "", "error": "", "keyword": keyword, "uid": service_uid} diff --git a/bika/lims/browser/js/bika.lims.analysisrequest.js b/bika/lims/browser/js/bika.lims.analysisrequest.js index 538d1fadfe..4f227fdaf6 100644 --- a/bika/lims/browser/js/bika.lims.analysisrequest.js +++ b/bika/lims/browser/js/bika.lims.analysisrequest.js @@ -487,7 +487,7 @@ function AnalysisRequestAnalysesView() { //////////////////////////////////////// // checkboxes in services list $("[name='uids:list']").live("click", function(){ - calcdependencies([this]); + calcdependencies([this], true); var service_uid = $(this).val(); if ($(this).prop("checked")){ check_service(service_uid); @@ -497,12 +497,12 @@ function AnalysisRequestAnalysesView() { }); } - + /** + * This function validates specification inputs + * @param {element} The input field from specifications (min, max, err) + */ function validate_spec_field_entry(element) { var uid = $(element).attr("uid"); - // no spec selector here yet! - // $("[name^='ar\\."+sb_col+"\\.Specification']").val(""); - // $("[name^='ar\\."+sb_col+"\\.Specification_uid']").val(""); var min_element = $("[name='min\\."+uid+"\\:records']"); var max_element = $("[name='max\\."+uid+"\\:records']"); var error_element = $("[name='error\\."+uid+"\\:records']"); @@ -528,7 +528,11 @@ function AnalysisRequestAnalysesView() { } } } - + /** + * This functions runs the logic needed after setting the checkbox of a + * service. + * @param {service_uid} the service uid checked. + */ function check_service(service_uid){ var new_element, element; @@ -573,7 +577,11 @@ function AnalysisRequestAnalysesView() { } } - + /** + * This functions runs the logic needed after unsetting the checkbox of a + * service. + * @param {service_uid} the service uid unchecked. + */ function uncheck_service(service_uid){ var new_element, element; @@ -604,15 +612,18 @@ function AnalysisRequestAnalysesView() { } function add_Yes(dlg, element, dep_services){ + var service_uid; for(var i = 0; i 0) { if (auto_yes) { - add_Yes(this, element, dep_services); + add_Yes(false, element, dep_services); } else { var html = "