Skip to content

Commit

Permalink
list previous analysis with links to delivery reports, fix #550
Browse files Browse the repository at this point in the history
  • Loading branch information
robinandeer committed Aug 30, 2017
1 parent 80fe1e5 commit bb72daa
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 2 deletions.
8 changes: 8 additions & 0 deletions scout/server/blueprints/cases/templates/cases/actionbar.html
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,14 @@ <h5>
case_name=case.display_name) }}" class="btn btn-default form-control" target="_blank">
View report
</a>
<hr>
{% for analysis in case.analyses %}
<a href="{{ url_for('cases.delivery_report', institute_id=institute._id,
case_name=case.display_name, date=analysis.date) }}" target="_blank">
{{ analysis.date.date() }}
</a>
<br />
{% endfor %}
</div>
{% endmacro %}

Expand Down
17 changes: 15 additions & 2 deletions scout/server/blueprints/cases/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from flask import (abort, Blueprint, current_app, redirect, render_template,
request, url_for, send_from_directory, jsonify)
from flask_login import current_user
from dateutil.parser import parse as parse_date

from scout.server.extensions import store, mail
from scout.server.utils import templated, institute_and_case, user_institutes
Expand Down Expand Up @@ -268,8 +269,20 @@ def delivery_report(institute_id, case_name):
if case_obj.get('delivery_report') is None:
return abort(404)

out_dir = os.path.dirname(case_obj['delivery_report'])
filename = os.path.basename(case_obj['delivery_report'])
date_str = request.args.get('date')
if date_str:
delivery_report = None
analysis_date = parse_date(date_str)
for analysis_data in case_obj['analyses']:
if analysis_data['date'] == analysis_date:
delivery_report = analysis_data['delivery_report']
if delivery_report is None:
return abort(404)
else:
delivery_report = case_obj['delivery_report']

out_dir = os.path.dirname(delivery_report)
filename = os.path.basename(delivery_report)
return send_from_directory(out_dir, filename)


Expand Down

0 comments on commit bb72daa

Please sign in to comment.