+
+
Map View
diff --git a/rowers/templates/workoutstats.html b/rowers/templates/workoutstats.html
index 75dc0f8c..3a02f214 100644
--- a/rowers/templates/workoutstats.html
+++ b/rowers/templates/workoutstats.html
@@ -18,7 +18,7 @@
diff --git a/rowers/utils.py b/rowers/utils.py
index 205c74e9..89f181d2 100644
--- a/rowers/utils.py
+++ b/rowers/utils.py
@@ -9,6 +9,7 @@ workflowmiddlepanel = (
('panel_statcharts.html','Static Charts'),
('flexthumbnails.html','Flex Charts'),
('panel_summary.html','Summary'),
+ ('panel_map.html','Map'),
)
defaultmiddle = ['panel_statcharts.html',
@@ -25,7 +26,8 @@ workflowleftpanel = (
('panel_geekyheader.html','Geeky Header'),
('panel_editwind.html','Edit Wind 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 = [
diff --git a/rowers/views.py b/rowers/views.py
index 0faed633..7cbeaaf6 100644
--- a/rowers/views.py
+++ b/rowers/views.py
@@ -157,6 +157,27 @@ from interactiveplots import *
# Define the API documentation
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
def error500_view(request):
response = render_to_response('500.html', {},
@@ -5231,7 +5252,11 @@ def workout_otwsetpower_view(request,id=0,message="",successmessage=""):
kwargs = {
'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)
return response
@@ -6006,8 +6031,21 @@ def workout_workflow_view(request,id):
charts = []
- if favorites:
+ if favorites and 'flexthumbnails.html' in r.workflowmiddlepanel:
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)
@@ -6023,6 +6061,8 @@ def workout_workflow_view(request,id):
'leftTemplates':leftTemplates,
'charts':charts,
'workout':row,
+ 'mapscript':mapscript,
+ 'mapdiv':mapdiv,
'statcharts':statcharts,
})