added links to workflow page
This commit is contained in:
@@ -2510,7 +2510,16 @@ def thumbnails_set(r,id,favorites):
|
|||||||
columns += [f.yparam2 for f in favorites]
|
columns += [f.yparam2 for f in favorites]
|
||||||
|
|
||||||
columns += ['time']
|
columns += ['time']
|
||||||
rowdata = dataprep.getsmallrowdata_db(columns,ids=[id],doclean=True)
|
try:
|
||||||
|
rowdata = dataprep.getsmallrowdata_db(columns,ids=[id],doclean=True)
|
||||||
|
except:
|
||||||
|
return [
|
||||||
|
{'script':"",
|
||||||
|
'div':"",
|
||||||
|
'notes':""
|
||||||
|
}]
|
||||||
|
|
||||||
|
|
||||||
rowdata.dropna(axis=1,how='all',inplace=True)
|
rowdata.dropna(axis=1,how='all',inplace=True)
|
||||||
|
|
||||||
if rowdata.empty:
|
if rowdata.empty:
|
||||||
|
|||||||
@@ -24,7 +24,12 @@
|
|||||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/edit">Edit Workout</a>
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/edit">Edit Workout</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_2 suffix_2 omega">
|
<div class="grid_2">
|
||||||
|
<p>
|
||||||
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/workflow">Workflow View</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="grid_2 omega">
|
||||||
<p>
|
<p>
|
||||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/export">Export</a>
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/export">Export</a>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -23,7 +23,12 @@
|
|||||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/edit">Edit Workout</a>
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/edit">Edit Workout</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_2 suffix_2 omega">
|
<div class="grid_2">
|
||||||
|
<p>
|
||||||
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/workflow">Workflow View</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="grid_2 omega">
|
||||||
<p>
|
<p>
|
||||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/export">Export</a>
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/export">Export</a>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -32,7 +32,12 @@
|
|||||||
<a class="button gray small" href="/rowers/workout/{{ id }}/edit">Edit Workout</a>
|
<a class="button gray small" href="/rowers/workout/{{ id }}/edit">Edit Workout</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_2 suffix_8 omega">
|
<div class="grid_2">
|
||||||
|
<p>
|
||||||
|
<a class="button gray small" href="/rowers/workout/{{ id }}/workflow">Workflow View</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="grid_2 suffix_6 omega">
|
||||||
<p>
|
<p>
|
||||||
<a class="button gray small" href="/rowers/workout/{{ id }}/advanced">Advanced Edit</a>
|
<a class="button gray small" href="/rowers/workout/{{ id }}/advanced">Advanced Edit</a>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -43,7 +43,13 @@
|
|||||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/edit">Edit Workout</a>
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/edit">Edit Workout</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_2 suffix_2 omega">
|
<div class="grid_2">
|
||||||
|
<p>
|
||||||
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/workflow">Workflow View</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="grid_2 omega">
|
||||||
<p>
|
<p>
|
||||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/advanced">Advanced Edit</a>
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/advanced">Advanced Edit</a>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -14,7 +14,13 @@
|
|||||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/edit">Edit Workout</a>
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/edit">Edit Workout</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_2 suffix_2 omega">
|
<div class="grid_2">
|
||||||
|
<p>
|
||||||
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/workflow">Workflow View</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="grid_2 omega">
|
||||||
<p>
|
<p>
|
||||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/advanced">Advanced Edit</a>
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/advanced">Advanced Edit</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -62,4 +68,4 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
9
rowers/templates/panel_map.html
Normal file
9
rowers/templates/panel_map.html
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<div style="height:100%;" id="theplot" class="grid_9 alpha flexplot">
|
||||||
|
{{ mapdiv|safe }}
|
||||||
|
|
||||||
|
|
||||||
|
{{ mapscript|safe }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
5
rowers/templates/panel_mapview.html
Normal file
5
rowers/templates/panel_mapview.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<div class="grid_2 alpha">
|
||||||
|
<p>
|
||||||
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/map">Map View</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
@@ -29,7 +29,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_6 alpha">
|
<div class="grid_6 alpha">
|
||||||
<div class="grid_2 prefix_4 alpha">
|
<div class="grid_2 prefix_2 alpha">
|
||||||
|
<p><a class="button gray small" href="/rowers/workout/{{ workout.id }}/workflow">Workflow View</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="grid_2 omega">
|
||||||
<p><a class="button blue small" href="/rowers/workout/{{ workout.id }}/wind">Wind Edit</a></p>
|
<p><a class="button blue small" href="/rowers/workout/{{ workout.id }}/wind">Wind Edit</a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="grid_2">
|
<div class="grid_2">
|
||||||
<p>
|
<p>
|
||||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/export">Export</a>
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/workflow">Workflow View</a>
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -28,7 +28,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_6 alpha">
|
<div class="grid_6 alpha">
|
||||||
<div class="grid_2 prefix_4 alpha">
|
<div class="grid_2 prefix_2 alpha">
|
||||||
|
<p><a class="button gray small" href="/rowers/workout/{{ workout.id }}/workflow">Workflow View</a></p>
|
||||||
|
</div>
|
||||||
|
<div class="grid_2 omega">
|
||||||
<p><a class="button blue small" href="/rowers/workout/{{ workout.id }}/stream">Stream Edit</a></p>
|
<p><a class="button blue small" href="/rowers/workout/{{ workout.id }}/stream">Stream Edit</a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -44,7 +44,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_6 alpha">
|
<div class="grid_6 alpha">
|
||||||
<div class="grid_2 prefix_2 alpha">
|
<div class="grid_2 alpha">
|
||||||
|
<p>
|
||||||
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/workflow">Workflow View</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="grid_2">
|
||||||
<p>
|
<p>
|
||||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/map">Map View</a>
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/map">Map View</a>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="grid_2">
|
<div class="grid_2">
|
||||||
<p>
|
<p>
|
||||||
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/export">Export</a>
|
<a class="button gray small" href="/rowers/workout/{{ workout.id }}/workflow">Workflow View</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ workflowmiddlepanel = (
|
|||||||
('panel_statcharts.html','Static Charts'),
|
('panel_statcharts.html','Static Charts'),
|
||||||
('flexthumbnails.html','Flex Charts'),
|
('flexthumbnails.html','Flex Charts'),
|
||||||
('panel_summary.html','Summary'),
|
('panel_summary.html','Summary'),
|
||||||
|
('panel_map.html','Map'),
|
||||||
)
|
)
|
||||||
|
|
||||||
defaultmiddle = ['panel_statcharts.html',
|
defaultmiddle = ['panel_statcharts.html',
|
||||||
@@ -25,7 +26,8 @@ workflowleftpanel = (
|
|||||||
('panel_geekyheader.html','Geeky Header'),
|
('panel_geekyheader.html','Geeky Header'),
|
||||||
('panel_editwind.html','Edit Wind Data'),
|
('panel_editwind.html','Edit Wind Data'),
|
||||||
('panel_editstream.html','Edit Stream Data'),
|
('panel_editstream.html','Edit Stream Data'),
|
||||||
('panel_otwpower.html','Run OTW Power Calculations')
|
('panel_otwpower.html','Run OTW Power Calculations'),
|
||||||
|
('panel_mapview.html','Map'),
|
||||||
)
|
)
|
||||||
|
|
||||||
defaultleft = [
|
defaultleft = [
|
||||||
|
|||||||
@@ -157,6 +157,27 @@ from interactiveplots import *
|
|||||||
# Define the API documentation
|
# Define the API documentation
|
||||||
schema_view = get_swagger_view(title='Rowsandall API')
|
schema_view = get_swagger_view(title='Rowsandall API')
|
||||||
|
|
||||||
|
# Test if row data include candidates
|
||||||
|
def rowhascoordinates(row):
|
||||||
|
# create interactive plot
|
||||||
|
f1 = row.csvfilename
|
||||||
|
u = row.user.user
|
||||||
|
r = getrower(u)
|
||||||
|
rowdata = rdata(f1)
|
||||||
|
hascoordinates = 1
|
||||||
|
if rowdata != 0:
|
||||||
|
try:
|
||||||
|
latitude = rowdata.df[' latitude']
|
||||||
|
if not latitude.std():
|
||||||
|
hascoordinates = 0
|
||||||
|
except KeyError,AttributeError:
|
||||||
|
hascoordinates = 0
|
||||||
|
|
||||||
|
else:
|
||||||
|
hascoordinates = 0
|
||||||
|
|
||||||
|
return hascoordinates
|
||||||
|
|
||||||
# Custom error pages with Rowsandall headers
|
# Custom error pages with Rowsandall headers
|
||||||
def error500_view(request):
|
def error500_view(request):
|
||||||
response = render_to_response('500.html', {},
|
response = render_to_response('500.html', {},
|
||||||
@@ -5231,7 +5252,11 @@ def workout_otwsetpower_view(request,id=0,message="",successmessage=""):
|
|||||||
kwargs = {
|
kwargs = {
|
||||||
'id':int(id)}
|
'id':int(id)}
|
||||||
|
|
||||||
url = reverse(workout_advanced_view,kwargs=kwargs)
|
try:
|
||||||
|
url = request.session['referer']
|
||||||
|
except KeyError:
|
||||||
|
url = reverse(workout_advanced_view,kwargs=kwargs)
|
||||||
|
|
||||||
response = HttpResponseRedirect(url)
|
response = HttpResponseRedirect(url)
|
||||||
return response
|
return response
|
||||||
|
|
||||||
@@ -6006,8 +6031,21 @@ def workout_workflow_view(request,id):
|
|||||||
|
|
||||||
charts = []
|
charts = []
|
||||||
|
|
||||||
if favorites:
|
if favorites and 'flexthumbnails.html' in r.workflowmiddlepanel:
|
||||||
charts = thumbnails_set(r,id,favorites)
|
charts = thumbnails_set(r,id,favorites)
|
||||||
|
if charts[0]['script'] == '':
|
||||||
|
charts = []
|
||||||
|
|
||||||
|
if 'panel_map.html' in r.workflowmiddlepanel and rowhascoordinates(row):
|
||||||
|
rowdata = rdata(row.csvfilename)
|
||||||
|
mapscript,mapdiv = leaflet_chart2(rowdata.df[' latitude'],
|
||||||
|
rowdata.df[' longitude'],
|
||||||
|
row.name)
|
||||||
|
else:
|
||||||
|
mapscript = ''
|
||||||
|
mapdiv = ''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
statcharts = GraphImage.objects.filter(workout=row)
|
statcharts = GraphImage.objects.filter(workout=row)
|
||||||
|
|
||||||
@@ -6023,6 +6061,8 @@ def workout_workflow_view(request,id):
|
|||||||
'leftTemplates':leftTemplates,
|
'leftTemplates':leftTemplates,
|
||||||
'charts':charts,
|
'charts':charts,
|
||||||
'workout':row,
|
'workout':row,
|
||||||
|
'mapscript':mapscript,
|
||||||
|
'mapdiv':mapdiv,
|
||||||
'statcharts':statcharts,
|
'statcharts':statcharts,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user