diff --git a/Packages/lesiontracker/client/components/lesionTrackerLayout/lesionTrackerLayout.js b/Packages/lesiontracker/client/components/lesionTrackerLayout/lesionTrackerLayout.js index b431fc453..c90d9b4c1 100644 --- a/Packages/lesiontracker/client/components/lesionTrackerLayout/lesionTrackerLayout.js +++ b/Packages/lesiontracker/client/components/lesionTrackerLayout/lesionTrackerLayout.js @@ -62,7 +62,9 @@ Template.lesionTrackerLayout.onCreated(function() { clearInterval(handle); // Close the dialog dialog.css('display', 'none'); - + + // Remove reviewers info for the user + Meteor.call('removeUserFromReviewers', Meteor.userId()); } }); }); diff --git a/Packages/lesiontracker/client/components/lesionTrackerWorklistStudy/lesionTrackerWorklistStudy.js b/Packages/lesiontracker/client/components/lesionTrackerWorklistStudy/lesionTrackerWorklistStudy.js index 100a12bb0..dbaccfe2e 100644 --- a/Packages/lesiontracker/client/components/lesionTrackerWorklistStudy/lesionTrackerWorklistStudy.js +++ b/Packages/lesiontracker/client/components/lesionTrackerWorklistStudy/lesionTrackerWorklistStudy.js @@ -89,7 +89,7 @@ WorklistTabs.find().observe({ removed: function(tab) { var contentId = tab.contentid; var timepointIds = ViewerData[contentId].timepointIds; - if (timepointIds.length > 0) { + if (timepointIds && timepointIds.length > 0) { timepointIds.forEach(function(timepointId) { // Remove the current user from Reviewers Meteor.call('removeReviewer', timepointId); diff --git a/Packages/lesiontracker/server/reviewers.js b/Packages/lesiontracker/server/reviewers.js index 18a7420ff..2ed801c47 100644 --- a/Packages/lesiontracker/server/reviewers.js +++ b/Packages/lesiontracker/server/reviewers.js @@ -1,5 +1,8 @@ Meteor.methods({ setReviewer: function (studyInstanceUid) { + if (!studyInstanceUid) { + return; + } var study = Studies.findOne({ studyInstanceUid: studyInstanceUid }); @@ -45,6 +48,9 @@ Meteor.methods({ }, removeReviewer: function (timepointId) { + if (!timepointId) { + return; + } var reviewerTimepoint = Reviewers.findOne({timepointId: timepointId}); if (!reviewerTimepoint || !reviewerTimepoint.reviewers) { return; @@ -58,6 +64,9 @@ Meteor.methods({ }, removeUserFromReviewers: function(userId) { + if (!userId) { + return; + } Reviewers.find().map(function (timepoint) { Reviewers.update({_id: timepoint._id}, {"$pull": {"reviewers": {"userId": userId}}}); });