LT-117: Add warning icon in study list row and give tip about user when warning icon is hovered if study is in-use by another user

This commit is contained in:
Aysel Afsar committed 2016-04-04 00:00:33 -04:00
1 parent 064743a8f7
commit 2da841bab0
15 files changed
+206 -8

No files matched your search

@@ -183,6 +183,14 @@ changeLesionLocationCallback = function(measurementData, eventData, doneCallback
selected: true
}
});
// Set reviewer for this timepoint
Object.keys(measurement.timepoints).forEach(function(key) {
if (measurement.timepoints[key].studyInstanceUid) {
Meteor.call('setReviewer',measurement.timepoints[key].studyInstanceUid);
}
});
};
var config = {
@@ -1,6 +1,9 @@
<template name="lesionTrackerWorklistStudy">
<tr class="worklistStudy noselect">
<td>
{{#if reviewerTip}}
<i class="fa fa-exclamation-circle reviewerTip" data-toggle="tooltip" data-placement="bottom" title="{{reviewerTip}}"></i>
{{/if}}
{{formatPN patientName}}
</td>
<td>
@@ -27,5 +30,6 @@
{{numberOfStudyRelatedInstances}}
</td>
{{/unless}}
</tr>
</template>
@@ -26,5 +26,73 @@ Template[defaultTemplate].helpers({
}
return getTimepointName(timepoint);
},
reviewerTip: function() {
var data = this;
var study = Studies.findOne({
studyInstanceUid: data.studyInstanceUid
});
if (!study) {
return;
}
var timepoint = Timepoints.findOne({
timepointId: study.timepointId
});
if (!timepoint) {
return;
}
var timepointReviewers = Reviewers.findOne({timepointId: timepoint.timepointId});
if (!timepointReviewers) {
return;
}
return getReviewerTipText(timepointReviewers.reviewers);
}
});
function getReviewerTipText(reviewers) {
if (!reviewers || reviewers.length === 0) {
return;
}
var newReviewers = reviewers.filter(function ( reviewer ) {
return reviewer.userId !== Meteor.userId();
});
if (newReviewers.length === 0) {
return;
}
var tipText = 'The study is being reviewed by ';
newReviewers.forEach(function(reviewer, index) {
if (reviewer.userId === Meteor.userId()) {
return;
}
if (index > 0) {
tipText += ',';
}
tipText += reviewer.userName;
});
return tipText;
}
// Observe changes on WorklistTabs
WorklistTabs.find().observe({
removed: function(tab) {
var timepointId = tab.timepointId;
if (!timepointId) {
return;
}
// Remove the current user from Reviewers
Meteor.call('removeReviewer', timepointId);
}
});
@@ -1,2 +1,5 @@
.worklistStudy
cursor: pointer
cursor: pointer
.reviewerTip
color: darkred