From 1363ed046bcb58cb497cafa72939fdd291c74bca Mon Sep 17 00:00:00 2001
From: gakin <gakin>
Date: Fri, 14 Aug 2015 13:06:36 +0000
Subject: [PATCH] SSDM-2225: ELN: Find better convention to generate "Create
 button" for sample type

SVN: 34457
---
 .../js/views/SampleTable/SampleTableView.js     | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js
index dbc7b52a7f0..1865636aa46 100644
--- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js
+++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js
@@ -27,11 +27,22 @@ function SampleTableView(sampleTableController, sampleTableModel) {
 			
 			if(this._sampleTableModel.experimentIdentifier) {
 				var experimentCode = this._sampleTableModel.experimentIdentifier.split("/")[3];
-				var sampleTypeCode = experimentCode.substring(0,experimentCode.indexOf("_COLLECTION"));
+				var allSampleTypes = profile.getAllSampleTypes();
+				var sampleTypeCodesFound = [];
+				for(var aIdx = 0; aIdx < allSampleTypes.length; aIdx++) {
+					var auxSampleTypeCode = allSampleTypes[aIdx].code;
+					if(experimentCode.indexOf(auxSampleTypeCode) !== -1) {
+						sampleTypeCodesFound.push(auxSampleTypeCode);
+					}
+				}
+				
+				var sampleTypeCode = null;
+				if(sampleTypeCodesFound.length === 1) {
+					sampleTypeCode = sampleTypeCodesFound[0];
+				}
 				
 				//Add Sample Type
-				if(profile.getSampleTypeForSampleTypeCode(sampleTypeCode) &&
-					!profile.isSampleTypeHidden(sampleTypeCode)) {
+				if(sampleTypeCode !== null && !profile.isSampleTypeHidden(sampleTypeCode)) {
 					
 					$title.append("&nbsp;");
 					$title.append(FormUtil.getButtonWithText("Create " + sampleTypeCode, function() {
-- 
GitLab