From 09cbbffcacfb47c1843162bc93f76137d42694bc Mon Sep 17 00:00:00 2001 From: Mark Williams Date: Wed, 3 Jan 2024 11:54:24 +0000 Subject: [PATCH 1/2] LIMS-980: Add all samples to queue should obey filters --- api/src/Page/Sample.php | 12 ++++++++++++ .../src/js/modules/imaging/views/queuecontainer.js | 8 +++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/api/src/Page/Sample.php b/api/src/Page/Sample.php index b602f47e5..4a799b51c 100644 --- a/api/src/Page/Sample.php +++ b/api/src/Page/Sample.php @@ -122,6 +122,7 @@ class Sample extends Page 'UNQUEUE' => '\d', 'nodata' => '\d', 'notcompleted' => '\d', + 'filter' => '\w+', // external is a flag to indicate this protein/sample has a user office system id // whereas externalid is the actual reference @@ -594,6 +595,17 @@ function _queue_all_sub_samples() $args = array($this->proposalid, $this->arg('cid'), $this->arg('cid'), $this->arg('cid')); $where = ' AND c.containerid=:2 AND cq2.completedtimestamp IS NULL'; + + if ($this->has_arg('filter')) { + $filters = array( + 'manual' => " AND ss.source='manual'", + 'auto' => " AND ss.source='auto'", + 'point' => " AND dp.experimentkind='SAD'", + 'region' => " AND dp.experimentkind='MESH'", + ); + $where .= $filters[$this->arg('filter')]; + } + $first_inner_select_where = ' AND s.containerid=:3'; $second_inner_select_where = ' AND s.containerid=:4'; diff --git a/client/src/js/modules/imaging/views/queuecontainer.js b/client/src/js/modules/imaging/views/queuecontainer.js index e4c6d396d..d3453fcf8 100644 --- a/client/src/js/modules/imaging/views/queuecontainer.js +++ b/client/src/js/modules/imaging/views/queuecontainer.js @@ -567,12 +567,18 @@ define(['marionette', queueAllSamples: function(e) { e.preventDefault() + var data = {} + current = this.$el.find('.afilt').find('.current') + if (current.length > 0) { + data.filter = current.attr('id') + } + var self = this this.$el.addClass('loading'); Backbone.ajax({ url: app.apiurl+'/sample/sub/queue/cid/'+this.model.get('CONTAINERID'), method: "post", - data: {}, + data: data, success: function(resp) { _.each(resp, function (r) { var ss = self.subsamples.fullCollection.findWhere({ BLSUBSAMPLEID: r.BLSUBSAMPLEID }) From a77eb2fd01269ce969fb9dddc57e6f064d7715b4 Mon Sep 17 00:00:00 2001 From: Mark W <24956497+ndg63276@users.noreply.github.com> Date: Fri, 19 Jan 2024 11:49:31 +0000 Subject: [PATCH 2/2] Use const instead of var Co-authored-by: Guilherme Francisco --- client/src/js/modules/imaging/views/queuecontainer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/js/modules/imaging/views/queuecontainer.js b/client/src/js/modules/imaging/views/queuecontainer.js index d3453fcf8..e9e546e83 100644 --- a/client/src/js/modules/imaging/views/queuecontainer.js +++ b/client/src/js/modules/imaging/views/queuecontainer.js @@ -567,7 +567,7 @@ define(['marionette', queueAllSamples: function(e) { e.preventDefault() - var data = {} + const data = {} current = this.$el.find('.afilt').find('.current') if (current.length > 0) { data.filter = current.attr('id')