Private
Public Access
1
0

passes tests now - for what it's worth

This commit is contained in:
Sander Roosendaal
2019-01-03 21:54:34 +01:00
parent f901258b9b
commit 6c20c3ab7f
5 changed files with 165 additions and 152 deletions

View File

@@ -23,7 +23,7 @@ from rowers.mailprocessing import make_new_workout_from_email, send_confirm
import rowers.polarstuff as polarstuff
import rowers.c2stuff as c2stuff
import rowers.stravastuff as stravastuff
from rowers.opaque import encoder
workoutmailbox = Mailbox.objects.get(name='workouts')
failedmailbox = Mailbox.objects.get(name='Failed')
@@ -82,7 +82,7 @@ def processattachment(rower, fileobj, title, uploadoptions,testing=False):
)
if uploadoptions and not 'error' in uploadoptions:
workout = Workout.objects.get(id=workoutid[0])
workout = Workout.objects.get(id=encoder.decode_hex(workoutid[0]))
uploads.make_private(workout, uploadoptions)
uploads.set_workouttype(workout, uploadoptions)
uploads.do_sync(workout, uploadoptions)

View File

@@ -32,6 +32,9 @@ from mock import Mock, patch
from minimocktest import MockTestCase
import pandas as pd
import rowers.c2stuff as c2stuff
from rowers.opaque import encoder
encoded1 = str(encoder.encode_hex(1))
encoded2 = str(encoder.encode_hex(2))
import json
import numpy as np
@@ -123,13 +126,13 @@ class C2Objects(DjangoTestCase):
@patch('rowers.c2stuff.requests.post', side_effect=mocked_requests)
@patch('rowers.c2stuff.requests.get', side_effect=mocked_requests)
def test_c2_upload(self, mock_get, mock_post):
response = self.c.get('/rowers/workout/1/c2uploadw/')
response = self.c.get('/rowers/workout/'+encoded1+'/c2uploadw/')
self.assertRedirects(response,
expected_url = '/rowers/workout/1/edit',
expected_url = '/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.url, '/rowers/workout/1/edit')
self.assertEqual(response.url, '/rowers/workout/'+encoded1+'/edit')
self.assertEqual(response.status_code, 302)
@patch('rowers.c2stuff.requests.post', side_effect=mocked_requests)
@@ -146,7 +149,7 @@ class C2Objects(DjangoTestCase):
response = self.c.get('/rowers/workout/c2import/12/',follow=True)
self.assertRedirects(response,
expected_url='/rowers/workout/2/edit',
expected_url='/rowers/workout/'+encoded2+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -294,7 +297,7 @@ class StravaObjects(DjangoTestCase):
response = self.c.get('/rowers/workout/stravaimport/12',follow=True)
self.assertRedirects(response,
expected_url='/rowers/workout/1/edit',
expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=301,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -375,13 +378,13 @@ class STObjects(DjangoTestCase):
@patch('rowers.sporttracksstuff.requests.post', side_effect=mocked_requests)
@patch('rowers.sporttracksstuff.requests.get', side_effect=mocked_requests)
def test_sporttracks_upload(self, mock_get, mock_post):
response = self.c.get('/rowers/workout/1/sporttracksuploadw/')
response = self.c.get('/rowers/workout/'+encoded1+'/sporttracksuploadw/')
self.assertRedirects(response,
expected_url = '/rowers/workout/1/edit',
expected_url = '/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.url, '/rowers/workout/1/edit')
self.assertEqual(response.url, '/rowers/workout/'+encoded1+'/edit')
self.assertEqual(response.status_code, 302)
@patch('rowers.sporttracksstuff.requests.get', side_effect=mocked_requests)
@@ -396,7 +399,7 @@ class STObjects(DjangoTestCase):
response = self.c.get('/rowers/workout/sporttracksimport/12/',follow=True)
self.assertRedirects(response,
expected_url='/rowers/workout/2/edit',
expected_url='/rowers/workout/'+encoded2+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -485,13 +488,13 @@ class RunKeeperObjects(DjangoTestCase):
@patch('rowers.runkeeperstuff.requests.post', side_effect=mocked_requests)
@patch('rowers.runkeeperstuff.requests.get', side_effect=mocked_requests)
def test_runkeeper_upload(self, mock_get, mock_post):
response = self.c.get('/rowers/workout/1/runkeeperuploadw/')
response = self.c.get('/rowers/workout/'+encoded1+'/runkeeperuploadw/')
self.assertRedirects(response,
expected_url = '/rowers/workout/1/edit',
expected_url = '/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.url, '/rowers/workout/1/edit')
self.assertEqual(response.url, '/rowers/workout/'+encoded1+'/edit')
self.assertEqual(response.status_code, 302)
@patch('rowers.runkeeperstuff.requests.get', side_effect=mocked_requests)
@@ -506,7 +509,7 @@ class RunKeeperObjects(DjangoTestCase):
response = self.c.get('/rowers/workout/runkeeperimport/12/',follow=True)
self.assertRedirects(response,
expected_url='/rowers/workout/2/edit',
expected_url='/rowers/workout/'+encoded2+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -587,13 +590,13 @@ class UAObjects(DjangoTestCase):
@patch('rowers.underarmourstuff.requests.post', side_effect=mocked_requests)
@patch('rowers.underarmourstuff.requests.get', side_effect=mocked_requests)
def test_underarmour_upload(self, mock_get, mock_post):
response = self.c.get('/rowers/workout/1/underarmouruploadw/')
response = self.c.get('/rowers/workout/'+encoded1+'/underarmouruploadw/')
self.assertRedirects(response,
expected_url = '/rowers/workout/1/edit',
expected_url = '/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.url, '/rowers/workout/1/edit')
self.assertEqual(response.url, '/rowers/workout/'+encoded1+'/edit')
self.assertEqual(response.status_code, 302)
@patch('rowers.underarmourstuff.requests.get', side_effect=mocked_requests)
@@ -609,7 +612,7 @@ class UAObjects(DjangoTestCase):
response = self.c.get('/rowers/workout/underarmourimport/12/',follow=True)
self.assertRedirects(response,
expected_url='/rowers/workout/2/edit',
expected_url='/rowers/workout/'+encoded2+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -689,13 +692,15 @@ class TPObjects(DjangoTestCase):
@patch('rowers.tpstuff.requests.post', side_effect=mocked_requests)
@patch('rowers.tpstuff.requests.get', side_effect=mocked_requests)
def test_tp_upload(self, mock_get, mock_post):
response = self.c.get('/rowers/workout/1/tpuploadw/')
url = '/rowers/workout/'+encoded1+'/tpuploadw/'
response = self.c.get(url)
self.assertRedirects(response,
expected_url = '/rowers/workout/1/edit',
expected_url = '/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.url, '/rowers/workout/1/edit')
self.assertEqual(response.url, '/rowers/workout/'+encoded1+'/edit')
self.assertEqual(response.status_code, 302)

View File

@@ -2,6 +2,9 @@
import pytest
pytestmark = pytest.mark.django_db
from rowers.opaque import encoder
encoded1 = str(encoder.encode_hex(1))
from bs4 import BeautifulSoup
import re
@@ -223,52 +226,52 @@ class URLTests(TestCase):
'/rowers/user-multiflex-select/user/1/2016-01-01/2016-12-31',
'/rowers/user-multiflex/',
'/rowers/user-multiflex/user/1',
'/rowers/workout/1/',
'/rowers/workout/1/adddistanceplot',
'/rowers/workout/1/adddistanceplot2',
'/rowers/workout/1/addotwpowerplot',
'/rowers/workout/1/addpiechart',
'/rowers/workout/1/addpowerpiechart',
'/rowers/workout/1/addstatic',
'/rowers/workout/1/addstatic/3',
'/rowers/workout/1/addtimeplot',
'/rowers/workout/1/addtimeplot2',
'/rowers/workout/1/comment',
'/rowers/workout/1/darkskywind',
'/rowers/workout/1/data',
'/rowers/workout/1/edit',
'/rowers/workout/1/editintervals',
'/rowers/workout/1/flexchart',
'/rowers/workout/1/flexchart/spm/hr/None',
'/rowers/workout/1/flexchart/spm/hr/None/scatter',
'/rowers/workout/1/flexchart/spm/hr/None/scatter/',
'/rowers/workout/1/forcecurve',
'/rowers/workout/1/get-testscript',
'/rowers/workout/1/get-thumbnails',
'/rowers/workout/1/histo',
'/rowers/workout/1/image',
'/rowers/workout/1/instroke',
'/rowers/workout/1/interactiveotwplot',
'/rowers/workout/1/map',
'/rowers/workout/1/otwsetpower',
'/rowers/workout/1/recalcsummary/',
'/rowers/workout/1/restore',
'/rowers/workout/1/smoothenpace',
'/rowers/workout/1/split',
'/rowers/workout/1/stats',
'/rowers/workout/1/stream',
'/rowers/workout/1/task',
'/rowers/workout/1/test_strokedata',
'/rowers/workout/1/toggle-ranking',
'/rowers/workout/1/undosmoothenpace',
'/rowers/workout/1/unsubscribe',
'/rowers/workout/1/updatecp',
'/rowers/workout/1/view',
'/rowers/workout/1/wind',
'/rowers/workout/1/workflow',
'/rowers/workout/compare/1/2016-01-01/2016-12-31',
'/rowers/workout/fusion/1/',
'/rowers/workout/fusion/1/2016-01-01/2016-12-31',
'/rowers/workout/'+encoded1+'/',
'/rowers/workout/'+encoded1+'/adddistanceplot',
'/rowers/workout/'+encoded1+'/adddistanceplot2',
'/rowers/workout/'+encoded1+'/addotwpowerplot',
'/rowers/workout/'+encoded1+'/addpiechart',
'/rowers/workout/'+encoded1+'/addpowerpiechart',
'/rowers/workout/'+encoded1+'/addstatic',
'/rowers/workout/'+encoded1+'/addstatic/3',
'/rowers/workout/'+encoded1+'/addtimeplot',
'/rowers/workout/'+encoded1+'/addtimeplot2',
'/rowers/workout/'+encoded1+'/comment',
'/rowers/workout/'+encoded1+'/darkskywind',
'/rowers/workout/'+encoded1+'/data',
'/rowers/workout/'+encoded1+'/edit',
'/rowers/workout/'+encoded1+'/editintervals',
'/rowers/workout/'+encoded1+'/flexchart',
'/rowers/workout/'+encoded1+'/flexchart/spm/hr/None',
'/rowers/workout/'+encoded1+'/flexchart/spm/hr/None/scatter',
'/rowers/workout/'+encoded1+'/flexchart/spm/hr/None/scatter/',
'/rowers/workout/'+encoded1+'/forcecurve',
'/rowers/workout/'+encoded1+'/get-testscript',
'/rowers/workout/'+encoded1+'/get-thumbnails',
'/rowers/workout/'+encoded1+'/histo',
'/rowers/workout/'+encoded1+'/image',
'/rowers/workout/'+encoded1+'/instroke',
'/rowers/workout/'+encoded1+'/interactiveotwplot',
'/rowers/workout/'+encoded1+'/map',
'/rowers/workout/'+encoded1+'/otwsetpower',
'/rowers/workout/'+encoded1+'/recalcsummary/',
'/rowers/workout/'+encoded1+'/restore',
'/rowers/workout/'+encoded1+'/smoothenpace',
'/rowers/workout/'+encoded1+'/split',
'/rowers/workout/'+encoded1+'/stats',
'/rowers/workout/'+encoded1+'/stream',
'/rowers/workout/'+encoded1+'/task',
'/rowers/workout/'+encoded1+'/test_strokedata',
'/rowers/workout/'+encoded1+'/toggle-ranking',
'/rowers/workout/'+encoded1+'/undosmoothenpace',
'/rowers/workout/'+encoded1+'/unsubscribe',
'/rowers/workout/'+encoded1+'/updatecp',
'/rowers/workout/'+encoded1+'/view',
'/rowers/workout/'+encoded1+'/wind',
'/rowers/workout/'+encoded1+'/workflow',
'/rowers/workout/compare/'+encoded1+'/2016-01-01/2016-12-31',
'/rowers/workout/fusion/'+encoded1+'/',
'/rowers/workout/fusion/'+encoded1+'/2016-01-01/2016-12-31',
'/rowers/workout/upload/',
'/rowers/workout/upload/team/',
'/rowers/workouts-join',

View File

@@ -41,6 +41,10 @@ from rowers.views import error500_view,error404_view,error400_view,error403_view
from rowers.dataprep import delete_strokedata
from rowers.opaque import encoder
encoded1 = str(encoder.encode_hex(1))
from redis import StrictRedis
redis_connection = StrictRedis()
@@ -429,22 +433,22 @@ class ViewTest(TestCase):
f.close()
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
response = self.c.get('/rowers/workout/1/', form_data, follow=True)
response = self.c.get('/rowers/workout/'+encoded1+'/', form_data, follow=True)
self.assertEqual(response.status_code, 200)
response = self.c.get('/rowers/workout/1/edit', form_data, follow=True)
response = self.c.get('/rowers/workout/'+encoded1+'/edit', form_data, follow=True)
self.assertEqual(response.status_code, 200)
response = self.c.get('/rowers/workout/1/histo', form_data, follow=True)
response = self.c.get('/rowers/workout/'+encoded1+'/histo', form_data, follow=True)
self.assertEqual(response.status_code, 200)
response = self.c.get('/rowers/workout/1/workflow',
response = self.c.get('/rowers/workout/'+encoded1+'/workflow',
follow=True)
self.assertEqual(response.status_code, 200)
@@ -465,7 +469,7 @@ class ViewTest(TestCase):
}
form = WorkoutForm(data=form_data)
self.assertTrue(form.is_valid())
response = self.c.post('/rowers/workout/1/edit', form_data, follow=True)
response = self.c.post('/rowers/workout/'+encoded1+'/edit', form_data, follow=True)
self.assertEqual(response.status_code, 200)
@@ -518,12 +522,12 @@ class ViewTest(TestCase):
f.close()
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
response = self.c.get('/rowers/workout/1/', form_data, follow=True)
response = self.c.get('/rowers/workout/'+encoded1+'/', form_data, follow=True)
self.assertEqual(response.status_code, 200)
@@ -560,7 +564,7 @@ class ViewTest(TestCase):
f.close()
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -629,7 +633,7 @@ class ViewTest(TestCase):
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
f.close()
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -640,7 +644,7 @@ class ViewTest(TestCase):
form_data = {}
form = CNsummaryForm(form_data,file_data)
response = self.c.post('rowers/workout/1/crewnerdsummary',
response = self.c.post('rowers/workout/'+encoded1+'/crewnerdsummary',
form_data,
follow=True)
@@ -679,7 +683,7 @@ class ViewTest(TestCase):
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
f.close()
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -716,7 +720,7 @@ class ViewTest(TestCase):
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
f.close()
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -755,7 +759,7 @@ class ViewTest(TestCase):
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
f.close()
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -791,7 +795,7 @@ class ViewTest(TestCase):
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
f.close()
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -828,7 +832,7 @@ class ViewTest(TestCase):
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
f.close()
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -867,7 +871,7 @@ class ViewTest(TestCase):
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
f.close()
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -903,7 +907,7 @@ class ViewTest(TestCase):
form = DocumentsForm(form_data,file_data)
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -936,7 +940,7 @@ class ViewTest(TestCase):
form = DocumentsForm(form_data,file_data)
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -969,7 +973,7 @@ class ViewTest(TestCase):
form = DocumentsForm(form_data,file_data)
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -1002,7 +1006,7 @@ class ViewTest(TestCase):
form = DocumentsForm(form_data,file_data)
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -1036,7 +1040,7 @@ class ViewTest(TestCase):
form = DocumentsForm(form_data,file_data)
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -1068,7 +1072,7 @@ class ViewTest(TestCase):
form = DocumentsForm(form_data,file_data)
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -1100,7 +1104,7 @@ class ViewTest(TestCase):
form = DocumentsForm(form_data,file_data)
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -1132,7 +1136,7 @@ class ViewTest(TestCase):
form = DocumentsForm(form_data,file_data)
response = self.c.post('/rowers/workout/upload/', form_data, follow=True)
self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
status_code=302,target_status_code=200)
self.assertEqual(response.status_code, 200)
@@ -1169,7 +1173,7 @@ class ViewTest(TestCase):
# form_data, follow=True,
# format='multipart')
# f.close()
# self.assertRedirects(response, expected_url='/rowers/workout/1/edit',
# self.assertRedirects(response, expected_url='/rowers/workout/'+encoded1+'/edit',
# status_code=302,target_status_code=200)
# self.assertEqual(response.status_code, 200)

View File

@@ -1551,7 +1551,7 @@ def rower_register_view(request):
response = dataprep.new_workout_from_file(therower,f2,
title='New User Sample Data',
notes='This is an example workout to get you started')
newworkoutid = response[0]
newworkoutid = encoder.decode_hex(response[0])
w = Workout.objects.get(id=newworkoutid)
w.startdatetime = timezone.now()
w.save()
@@ -1878,7 +1878,7 @@ def workout_tcxemail_view(request,id=0):
url = reverse(r.defaultlandingpage,
kwargs = {
'id':int(id)
'id':encoder.encode_hex(id)
})
return HttpResponseRedirect(url)
@@ -1891,7 +1891,7 @@ def workout_tcxemail_view(request,id=0):
messages.error(request,message)
url = reverse(r.defaultlandingpage,
kwargs = {
'id':int(id)
'id':encoder.encode_hex(id)
})
return HttpResponseRedirect(url)
if tcxfile:
@@ -1909,7 +1909,7 @@ def workout_tcxemail_view(request,id=0):
url = reverse(r.defaultlandingpage,
kwargs = {
'id':int(id)
'id':encoder.encode_hex(id)
})
response = HttpResponseRedirect(url)
@@ -1918,7 +1918,7 @@ def workout_tcxemail_view(request,id=0):
messages.error(request,message)
url = reverse(r.defaultlandingpage,
kwargs = {
'id':int(id)
'id':encoder.encode_hex(id)
})
response = HttpResponseRedirect(url)
@@ -2038,7 +2038,7 @@ def workout_gpxemail_view(request,id=0):
messages.error(request, message)
url = reverse(r.defaultlandingpage,
kwargs = {
'id':int(id)
'id':encoder.encode_hex(id)
})
return HttpResponseRedirect(url)
@@ -2062,7 +2062,7 @@ def workout_gpxemail_view(request,id=0):
messages.info(request,successmessage)
url = reverse(r.defaultlandingpage,
kwargs = {
'id':int(id)
'id':encoder.encode_hex(id)
})
response = HttpResponseRedirect(url)
@@ -2072,7 +2072,7 @@ def workout_gpxemail_view(request,id=0):
messages.error(request,message)
url = reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
})
response = HttpResponseRedirect(url)
@@ -2086,10 +2086,7 @@ def workouts_summaries_email_view(request):
message = "Please check your email address first. Email to this address bounced."
messages.error(request, message)
return HttpResponseRedirect(
reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
})
reverse(workouts_view)
)
if request.method == 'POST':
@@ -2132,7 +2129,7 @@ def workout_csvemail_view(request,id=0):
return HttpResponseRedirect(
reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
})
)
@@ -2150,7 +2147,7 @@ def workout_csvemail_view(request,id=0):
messages.info(request,successmessage)
url = reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
})
response = HttpResponseRedirect(url)
@@ -2159,7 +2156,7 @@ def workout_csvemail_view(request,id=0):
messages.error(request,message)
url = reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
})
response = HttpResponseRedirect(url)
@@ -2186,7 +2183,7 @@ def workout_csvtoadmin_view(request,id=0):
messages.info(request,successmessage)
url = reverse(workout_view,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
})
response = HttpResponseRedirect(url)
@@ -2243,7 +2240,7 @@ def workout_tp_upload_view(request,id=0):
url = reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
})
return HttpResponseRedirect(url)
@@ -2299,7 +2296,7 @@ def workout_strava_upload_view(request,id=0):
pass
url = reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
})
response = HttpResponseRedirect(url)
return response
@@ -2330,14 +2327,14 @@ def workout_strava_upload_view(request,id=0):
w.save()
url = reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
})
response = HttpResponseRedirect(url)
url = reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
}
)
response = HttpResponseRedirect(url)
@@ -2349,7 +2346,7 @@ def workout_strava_upload_view(request,id=0):
os.remove(tcxfile)
url = reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
})
response = HttpResponseRedirect(url)
@@ -2377,7 +2374,7 @@ def workout_c2_upload_view(request,id=0):
url = reverse(r.defaultlandingpage,
kwargs = {
'id':int(id)
'id':encoder.encode_hex(id)
})
@@ -2407,7 +2404,7 @@ def workout_runkeeper_upload_view(request,id=0):
messages.error(request,message)
url = reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
})
return HttpResponseRedirect(url)
@@ -2430,7 +2427,7 @@ def workout_runkeeper_upload_view(request,id=0):
runkeeperid = runkeeperstuff.getidfromresponse(response)
w.uploadedtorunkeeper = runkeeperid
w.save()
url = reverse(workout_edit_view, kwargs={'id':w.id})
url = reverse(workout_edit_view, kwargs={'id':encoder.encode_hex(w.id)})
return HttpResponseRedirect(url)
else:
@@ -2444,7 +2441,7 @@ def workout_runkeeper_upload_view(request,id=0):
url = reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
})
return HttpResponseRedirect(url)
@@ -2471,7 +2468,7 @@ def workout_underarmour_upload_view(request,id=0):
messages.error(request,message)
url = reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
})
return HttpResponseRedirect(url)
@@ -2496,7 +2493,8 @@ def workout_underarmour_upload_view(request,id=0):
underarmourid = underarmourstuff.getidfromresponse(response)
w.uploadedtounderarmour = underarmourid
w.save()
url = reverse(workout_edit_view,kwargs={'id':w.id})
url = reverse(workout_edit_view,
kwargs={'id':encoder.encode_hex(w.id)})
return HttpResponseRedirect(url)
else:
@@ -2509,7 +2507,7 @@ def workout_underarmour_upload_view(request,id=0):
url = reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
})
return HttpResponseRedirect(url)
@@ -2537,7 +2535,7 @@ def workout_sporttracks_upload_view(request,id=0):
messages.error(request,message)
url = reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
})
return HttpResponseRedirect(url)
@@ -2564,7 +2562,8 @@ def workout_sporttracks_upload_view(request,id=0):
message = "Upload to SportTracks was successful"
messages.info(request,message)
url = reverse(workout_edit_view,kwargs={'id':w.id})
url = reverse(workout_edit_view,
kwargs={'id':encoder.encode_hex(w.id)})
return HttpResponseRedirect(url)
else:
s = response
@@ -2576,7 +2575,7 @@ def workout_sporttracks_upload_view(request,id=0):
url = reverse(r.defaultlandingpage,
kwargs = {
'id':str(w.id),
'id':encoder.encode_hex(w.id),
})
return HttpResponseRedirect(url)
@@ -3643,7 +3642,7 @@ def workout_test_task_view(request,id=0):
url = reverse(workout_edit_view,
kwargs = {
'id':int(id),
'id':encoder.encode_hex(id),
})
return HttpResponseRedirect(url)
@@ -5622,14 +5621,14 @@ def workout_recalcsummary_view(request,id=0):
messages.info(request,successmessage)
url = reverse(workout_edit_view,
kwargs = {
'id':int(id),
'id':encoder.encode_hex(id),
})
else:
message = "Something went wrong. Could not update summary"
messages.error(request,message)
url = reverse(workout_edit_view,
kwargs = {
'id':int(id),
'id':encoder.encode_hex(id),
})
return HttpResponseRedirect(url)
@@ -5663,7 +5662,7 @@ def workout_makepublic_view(request,id,
url = reverse(workout_edit_view,
kwargs = {
'id':int(id),
'id':encoder.encode_hex(id),
})
return HttpResponseRedirect(url)
@@ -5692,7 +5691,7 @@ def workout_setprivate_view(request,id,
url = reverse(workout_edit_view,
kwargs = {
'id':int(id),
'id':encoder.encode_hex(id),
})
return HttpResponseRedirect(url)
@@ -5731,7 +5730,7 @@ def workouts_join_view(request):
url = reverse(r.defaultlandingpage,
kwargs = {
'id':int(id),
'id':encoder.encode_hex(id),
})
return HttpResponseRedirect(url)
@@ -6306,6 +6305,8 @@ def plannedsession_compare_view(request,id=0,userid=0):
# Team comparison
@login_required()
def multi_compare_view(request,id=0,userid=0):
if id != 0:
id = encoder.decode_hex(id)
promember=0
if not request.user.is_anonymous():
r = getrower(request.user)
@@ -8170,7 +8171,7 @@ def workout_crewnerd_summary_view(request,id=0,message="",successmessage=""):
messages.info(request,successmessage)
url = reverse(workout_edit_view,
kwargs = {
'id':int(id),
'id':encoder.encode_hex(id),
})
return HttpResponseRedirect(url)
@@ -8183,7 +8184,7 @@ def workout_crewnerd_summary_view(request,id=0,message="",successmessage=""):
messages.error(request,message)
url = reverse(workout_edit_view,
kwargs = {
'id':int(id),
'id':encoder.encode_hex(id),
})
return HttpResponseRedirect(url)
else:
@@ -8261,7 +8262,7 @@ def workout_downloadwind_view(request,id=0,
messages.info(request,message)
kwargs = {
'id':int(id)}
'id':encoder.encode_hex(id)}
url = reverse(workout_wind_view,kwargs=kwargs)
response = HttpResponseRedirect(url)
@@ -8269,7 +8270,7 @@ def workout_downloadwind_view(request,id=0,
message = "No latitude/longitude data"
messages.error(request,message)
kwargs = {
'id':int(id)
'id':encoder.encode_hex(id)
}
url = reverse(workout_wind_view,kwargs=kwargs)
response = HttpResponseRedirect(url)
@@ -8328,7 +8329,7 @@ def workout_downloadmetar_view(request,id=0,
messages.info(request,message)
kwargs = {
'id':int(id)}
'id':encoder.encode_hex(id)}
url = reverse(workout_wind_view,kwargs=kwargs)
response = HttpResponseRedirect(url)
@@ -8336,7 +8337,7 @@ def workout_downloadmetar_view(request,id=0,
message = "No latitude/longitude data"
messages.error(request,message)
kwargs = {
'id':int(id)
'id':encoder.encode_hex(id)
}
url = reverse(workout_wind_view,kwargs=kwargs)
response = HttpResponseRedirect(url)
@@ -8441,7 +8442,7 @@ def workout_wind_view(request,id=0,message="",successmessage=""):
message = "Invalid Form"
messages.error(request,message)
kwargs = {
'id':int(id)
'id':encoder.encode_hex(id)
}
url = reverse(workout_wind_view,kwargs=kwargs)
response = HttpResponseRedirect(url)
@@ -8529,7 +8530,7 @@ def workout_stream_view(request,id=0,message="",successmessage=""):
message = "Invalid Form"
messages.error(request,message)
kwargs = {
'id':int(id)}
'id':encoder.encode_hex(id)}
url = reverse(workout_wind_view,kwargs=kwargs)
response = HttpResponseRedirect(url)
@@ -8653,7 +8654,7 @@ def workout_otwsetpower_view(request,id=0,message="",successmessage=""):
successmessage = 'Your calculations have been submitted. You will receive an email when they are done. You can check the status of your calculations <a href="/rowers/jobs-status/" target="_blank">here</a>'
messages.info(request,successmessage)
kwargs = {
'id':int(id)}
'id':encoder.encode_hex(id)}
try:
url = request.session['referer']
@@ -8667,7 +8668,7 @@ def workout_otwsetpower_view(request,id=0,message="",successmessage=""):
message = "Invalid Form"
messages.error(request,message)
kwargs = {
'id':int(id)}
'id':encoder.encode_hex(id)}
url = reverse(workout_otwsetpower_view,kwargs=kwargs)
response = HttpResponseRedirect(url)
@@ -11201,7 +11202,7 @@ def workout_uploadimage_view(request,id):
messages.error(request,message)
url = reverse(r.defaultlandingpage,
kwargs = {
'id':int(id),
'id':encoder.encode_hex(id),
})
return HttpResponseRedirect(url)
@@ -11359,7 +11360,7 @@ def workout_add_chart_view(request,id,plotnr=1):
request.session['async_tasks'] = [(jobid,'make_plot')]
url = reverse(r.defaultlandingpage,kwargs={'id':str(w.id)})
url = reverse(r.defaultlandingpage,kwargs={'id':encoder.encode_hex(w.id)})
return HttpResponseRedirect(url)
@@ -11917,7 +11918,7 @@ def workout_getimportview(request,externalid,source = 'c2'):
startdatetime,
workouttype=workouttype)
w = Workout.objects.get(id=id)
w = Workout.objects.get(id=encoder.decode_hex(id))
w.uploadedtoc2 = c2id
w.name = 'Imported from C2'
w.workouttype = workouttype
@@ -11927,7 +11928,7 @@ def workout_getimportview(request,externalid,source = 'c2'):
messages.info(request,message)
url = reverse(r.defaultlandingpage,
kwargs = {
'id':int(id),
'id':encoder.encode_hex(w.id),
})
return HttpResponseRedirect(url)
@@ -11940,7 +11941,7 @@ def workout_getimportview(request,externalid,source = 'c2'):
source=source,
workoutsource=source)
w = get_workout(id)
w = get_workout(encoder.decode_hex(id))
if 'workout' in data:
if 'splits' in data['workout']:
@@ -11996,7 +11997,7 @@ def workout_getimportview(request,externalid,source = 'c2'):
url = reverse(r.defaultlandingpage,
kwargs = {
'id':int(id)
'id':id
})
return HttpResponseRedirect(url)
@@ -12947,7 +12948,7 @@ def workout_summary_restore_view(request,id,message="",successmessage=""):
messages.info(request,'Original Interval Data Restored')
url = reverse(workout_summary_edit_view,
kwargs={
'id':int(id),
'id':encoder.encode_hex(id),
}
)
return HttpResponseRedirect(url)
@@ -14652,13 +14653,13 @@ def rower_update_empower_view(
message = "You can only alter your own workouts"
messages.error(request,message)
if 'x' in w.boattype and w.oarlength is not None and w.oarlength > 3.30:
message = "Oarlength and boat type mismatch for workout "+str(w.id)+". Skipping workout"
message = "Oarlength and boat type mismatch for workout "+encoder.encode_hex(w.id)+". Skipping workout"
messages.error(request,message)
elif 'x' not in w.boattype and w.oarlength is not None and w.oarlength <= 3.30:
message = "Oarlength and boat type mismatch for workout "+str(w.id)+". Skipping workout"
message = "Oarlength and boat type mismatch for workout "+encoder.encode_hex(w.id)+". Skipping workout"
messages.error(request,message)
elif w.oarlength is None:
message = "Incorrect oarlength in workout "+str(w.id)+". Skipping workout"
message = "Incorrect oarlength in workout "+encoder.encode_hex(w.id)+". Skipping workout"
messages.error(request,message)
else:
@@ -18751,7 +18752,7 @@ class GraphDelete(DeleteView):
def get_success_url(self):
w = self.object.workout
return reverse(workout_edit_view,kwargs={'id':str(w.id)})
return reverse(workout_edit_view,kwargs={'id':encoder.encode_hex(w.id)})
def get_object(self, *args, **kwargs):
obj = super(GraphDelete, self).get_object(*args, **kwargs)