Completes POCONSOLE-71 for card CSV downloads
This commit is contained in:
@@ -176,3 +176,30 @@ def get_tags_at_time(datetime):
|
||||
@app.route('/api/today_totals')
|
||||
def today_totals():
|
||||
return jsonify(getTotals())
|
||||
|
||||
|
||||
@app.route('/api/csv_stroke/<int:stroke_number>')
|
||||
def get_csv_for_stroke(stroke_number):
|
||||
"""returns a CSV of the given stroke"""
|
||||
res = Card.query.filter(Card._id == stroke_number).one()
|
||||
res.surf_pos = json.loads(res.surf_pos)
|
||||
res.surf_lod = json.loads(res.surf_lod)
|
||||
res.down_pos = json.loads(res.down_pos)
|
||||
res.down_lod = json.loads(res.down_lod)
|
||||
nl = "\n"
|
||||
csv_string = ""
|
||||
csv_string += "Card_ID,{}".format(res._id) + nl
|
||||
csv_string += "datetime,{}".format(res.created_on) + nl
|
||||
csv_string += nl
|
||||
csv_string += "Surface Position,Surface Load" + nl
|
||||
for i in range(0, len(res.surf_pos)):
|
||||
csv_string += "{},{}".format(res.surf_pos[i], res.surf_lod[i]) + nl
|
||||
csv_string += nl
|
||||
csv_string += "Downhole Position, Downhole Load" + nl
|
||||
for i in range(0, len(res.down_pos)):
|
||||
csv_string += "{},{}".format(res.down_pos[i], res.down_lod[i]) + nl
|
||||
return Response(
|
||||
csv_string,
|
||||
mimetype="text/csv",
|
||||
headers={"Content-disposition":
|
||||
"attachment; filename=card_{}.csv".format(res._id)})
|
||||
|
||||
@@ -29,7 +29,7 @@ poconsole.controller('cardListCtrl', function($scope, $routeParams, Card, Page)
|
||||
for(var j = 0; j < d.cards.length; j++){
|
||||
d.cards[j].created_on = Date.create(d.cards[j].created_on);
|
||||
}
|
||||
$scope.cards = d.cards.reverse();
|
||||
$scope.cards = d.cards;
|
||||
$scope.num_pages = d.num_pages;
|
||||
$scope.per_page = d.per_page;
|
||||
$scope.page_list = [];
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<div ng-if="!error">
|
||||
<ul class="nav nav-tabs" role="tablist">
|
||||
<li class="active"><a href="/#/card/{{_id}}/overview">Overview - Stroke {{stroke_number}}</a></li>
|
||||
<li><a href="/csv_stroke/{{_id}}">CSV</a></li>
|
||||
<li><a href="/api/csv_stroke/{{_id}}">CSV</a></li>
|
||||
</ul>
|
||||
|
||||
<h5><a href="/#/cards/{{_id - 1}}" class="pull-left"><< Prev. Card</a> <a href="/#/cards/{{_id + 1}}" class="pull-right">Next Card >></a></h5>
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
<td style="vertical-align: middle;text-align:center;"><a href="/#/cards/{{card._id}}">{{card.created_on | date: "medium"}}</a></td>
|
||||
<!-- <td style="vertical-align: middle;text-align:center;">{{card.Fillage_Percent | number: 2}} %</td> -->
|
||||
<td style="vertical-align: middle;text-align:center;"><h5><span class="label" ng-class="{'label-success':card.stroke_type=='Normal', 'label-primary': card.stroke_type=='Shutdown', 'label-danger': card.stroke_type=='Alarm', 'label-warning':card.stroke_type=='Low Fillage'}">{{card.stroke_type}}</span></h5></td>
|
||||
<td style="vertical-align: middle;text-align:center;"><a href="/csv/{{card.id}}" class="btn btn-primary active">Download CSV</a></td>
|
||||
<td style="vertical-align: middle;text-align:center;"><a href="/api/csv_stroke/{{card._id}}" class="btn btn-primary active">Download CSV</a></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
Reference in New Issue
Block a user