diff --git a/rowers/dataprep.py b/rowers/dataprep.py
index 393c5fc1..8e907486 100644
--- a/rowers/dataprep.py
+++ b/rowers/dataprep.py
@@ -2038,7 +2038,7 @@ def dataprep(rowdatadf, id=0, bands=True, barchart=True, otwpower=True,
if barchart:
# time increments for bar chart
time_increments = rowdatadf.ix[:, ' ElapsedTime (sec)'].diff()
- time_increments[0] = time_increments[1]
+ time_increments.ix[0] = time_increments.ix[1]
time_increments = 0.5 * time_increments + 0.5 * np.abs(time_increments)
x_right = (t2 + time_increments.apply(lambda x: timedeltaconv(x)))
diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py
index 6c465eba..9cde76f4 100644
--- a/rowers/interactiveplots.py
+++ b/rowers/interactiveplots.py
@@ -1482,13 +1482,14 @@ def interactive_cpchart(rower,thedistances,thesecs,theavpower,
# fitting the data to three parameter CP model
-
+ success = 0
p1 = p0
if len(thesecs)>=4:
p1, success = optimize.leastsq(errfunc, p0[:], args = (thesecs,theavpower))
else:
factor = fitfunc(p0,thesecs.mean())/theavpower.mean()
p1 = [p0[0]/factor,p0[1]/factor,p0[2],p0[3]]
+ success = 0
# Get stayer score
diff --git a/rowers/models.py b/rowers/models.py
index 5e0af42b..0a9a7eda 100644
--- a/rowers/models.py
+++ b/rowers/models.py
@@ -1238,38 +1238,59 @@ class RowerForm(ModelForm):
try:
rest = self.cleaned_data['rest']
except:
- rest = int(self.data['rest'])
+ try:
+ rest = int(self.data['rest'])
+ except ValueError:
+ rest = 0
try:
ut2 = self.cleaned_data['ut2']
except:
- ut2 = self.data['ut2']
+ try:
+ ut2 = self.data['ut2']
+ except ValueError:
+ ut2 = 0
try:
ut1 = self.cleaned_data['ut1']
except:
- ut1 = self.data['ut1']
+ try:
+ ut1 = self.data['ut1']
+ except ValueError:
+ ut1 = 0
try:
at = self.cleaned_data['at']
except:
- at = self.data['at']
+ try:
+ at = self.data['at']
+ except ValueError:
+ at = 0
try:
an = self.cleaned_data['an']
except:
- an = self.data['an']
+ try:
+ an = self.data['an']
+ except ValueError:
+ an = 0
try:
tr = self.cleaned_data['tr']
except:
- tr = self.data['tr']
+ try:
+ tr = self.data['tr']
+ except ValueError:
+ tr = 0
try:
max = self.cleaned_data['max']
except:
- max = self.data['max']
-
+ try:
+ max = self.data['max']
+ except ValueError:
+ max = 0
+
if rest>=ut2:
raise forms.ValidationError("Resting heart rate should be lower than UT2")
if ut2>=ut1:
diff --git a/rowers/templates/list_workouts.html b/rowers/templates/list_workouts.html
index d82399c7..4a1963a9 100644
--- a/rowers/templates/list_workouts.html
+++ b/rowers/templates/list_workouts.html
@@ -133,8 +133,7 @@
{% else %}
- No Name
+ No Name
|
{% endif %}
{% else %}
diff --git a/rowers/views.py b/rowers/views.py
index 745cc37b..09571a41 100644
--- a/rowers/views.py
+++ b/rowers/views.py
@@ -3585,7 +3585,7 @@ def rankings_view2(request,theuser=0,
promember=0
if not request.user.is_anonymous():
- r = getrower(theuser)
+ r = getrower(request.user)
wcdurations = []
wcpower = []
@@ -4129,7 +4129,7 @@ def otwrankings_view(request,theuser=0,
request.session['async_tasks'] += [(job.id,'updatecpwater')]
except KeyError:
request.session['async_tasks'] = [(job.id,'updatecpwater')]
- messages.info(request,'New calculation queued. Refresh page or resubmit the date form to get the result')
+ messages.info(request,'New calculation queued. Page will reload automatically. You can check the status of your calculations here')
powerdf = pd.DataFrame({
'Delta':delta,
@@ -4137,7 +4137,7 @@ def otwrankings_view(request,theuser=0,
})
if powerdf.empty:
- messages.info(request,'Your calculations are running in the background. Please reload this page.')
+ messages.info(request,'Your calculations are running in the background. Page will reload automatically. You can check the status of your calculations here')
powerdf = powerdf[powerdf['CP']>0]
powerdf.dropna(axis=0,inplace=True)
@@ -4383,7 +4383,7 @@ def oterankings_view(request,theuser=0,
request.session['async_tasks'] += [(job.id,'updatecp')]
except KeyError:
request.session['async_tasks'] = [(job.id,'updatecp')]
- messages.info(request,'New calculation queued.')
+ messages.info(request,'New calculation queued. Page will reload automatically. You can check the status of your calculations here')
powerdf = pd.DataFrame({
'Delta':delta,
@@ -4391,7 +4391,7 @@ def oterankings_view(request,theuser=0,
})
if powerdf.empty:
- messages.info(request,'Your calculations are running in the background. Please reload this page.')
+ messages.info(request,'Your calculations are running in the background. Page will reload automatically. You can check the status of your calculations here')
powerdf = powerdf[powerdf['CP']>0]
powerdf.dropna(axis=0,inplace=True)
@@ -6884,7 +6884,7 @@ def workout_otwsetpower_view(request,id=0,message="",successmessage=""):
except KeyError:
request.session['async_tasks'] = [(job.id,'otwsetpower')]
- successmessage = 'Your calculations have been submitted. You will receive an email when they are done. You can check the status of your calculations here'
+ successmessage = 'Your calculations have been submitted. You will receive an email when they are done. You can check the status of your calculations here'
messages.info(request,successmessage)
kwargs = {
'id':int(id)}
@@ -10182,7 +10182,13 @@ def workout_split_view(request,id=id):
else:
url = reverse(workouts_view)
- qdict = {'q':row.name}
+ rowname = row.name
+ if isinstance(rowname,unicode):
+ rowname = rowname.encode('utf8')
+ elif isinstance(rowname, str):
+ rowname = rowname.decode('utf8')
+
+ qdict = {'q':rowname}
url+='?'+urllib.urlencode(qdict)
return HttpResponseRedirect(url)