diff --git a/rowers/tests/test_user.py b/rowers/tests/test_user.py index 693d6bed..5617547e 100644 --- a/rowers/tests/test_user.py +++ b/rowers/tests/test_user.py @@ -185,6 +185,9 @@ class UserPreferencesTest(TestCase): 'otwslack':14 } + form = RowerPowerForm(form_data) + self.assertTrue(form.is_valid) + response = self.c.post(url,form_data,follow=True) self.assertEqual(response.status_code,200) diff --git a/rowers/tests/testdata/testdata.csv.gz b/rowers/tests/testdata/testdata.csv.gz index 5fc0d2b7..52cc784b 100644 Binary files a/rowers/tests/testdata/testdata.csv.gz and b/rowers/tests/testdata/testdata.csv.gz differ diff --git a/rowers/tests/testdata/testdata.tcx b/rowers/tests/testdata/testdata.tcx index 89510252..7b097fff 100644 --- a/rowers/tests/testdata/testdata.tcx +++ b/rowers/tests/testdata/testdata.tcx @@ -2502,7 +2502,7 @@ - <Element 'Notes' at 0x160cfa20> + <Element 'Notes' at 0x147c0f60> diff --git a/rowers/views.py b/rowers/views.py index d6f71146..74673bf7 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -12991,190 +12991,8 @@ def rower_edit_view(request,rowerid=0,userid=0,message=""): } ] - if request.method == 'POST' and "ut2" in request.POST: - form = RowerForm(request.POST) - if form.is_valid(): - # something - cd = form.cleaned_data - hrmax = cd['max'] - ut2 = cd['ut2'] - ut1 = cd['ut1'] - at = cd['at'] - tr = cd['tr'] - an = cd['an'] - rest = cd['rest'] - try: - r.max = max(min(hrmax,250),10) - r.ut2 = max(min(ut2,250),10) - r.ut1 = max(min(ut1,250),10) - r.at = max(min(at,250),10) - r.tr = max(min(tr,250),10) - r.an = max(min(an,250),10) - r.rest = max(min(rest,250),10) - r.save() - successmessage = "Your Heart Rate data were changed" - messages.info(request,successmessage) - form = RowerForm(instance=r) - powerform = RowerPowerForm(instance=r) - powerzonesform = RowerPowerZonesForm(instance=r) - accountform = AccountRowerForm(instance=r) - userform = UserForm(instance=r.user) - return render(request, 'rower_form.html', - {'form':form, - 'powerzonesform':powerzonesform, - 'teams':get_my_teams(request.user), - 'powerform':powerform, - 'rower':r, - 'breadcrumbs':breadcrumbs, - 'accountform':accountform, - 'userform':userform, - }) - except Rower.DoesNotExist: - message = "Funny. This user doesn't exist." - messages.error(request,message) - url = reverse(workouts_view) - response = HttpResponseRedirect(url) - else: - message = HttpResponse("invalid form") - #form = RowerForm(instance=r) - powerform = RowerPowerForm(instance=r) - powerzonesform = RowerPowerZonesForm(instance=r) - userform = UserForm(instance=r.user) - accountform = AccountRowerForm(instance=r) - return render(request, 'rower_form.html', - {'form':form, - 'teams':get_my_teams(request.user), - 'breadcrumbs':breadcrumbs, - 'powerzonesform':powerzonesform, - 'userform':userform, - 'accountform':accountform, - 'powerform':powerform, - 'rower':r, - }) - - - return response - elif request.method == 'POST' and "ftp" in request.POST: - powerform = RowerPowerForm(request.POST) - if powerform.is_valid(): - cd = powerform.cleaned_data - hrftp = cd['hrftp'] - if hrftp == 0: - hrftp = int((r.an+r.tr)/2.) - ftp = cd['ftp'] - otwslack = cd['otwslack'] - try: - powerfrac = 100*np.array([r.pw_ut2, - r.pw_ut1, - r.pw_at, - r.pw_tr,r.pw_an])/r.ftp - r.ftp = max(min(ftp,650),50) - r.otwslack = max(min(otwslack,50),0) - ut2,ut1,at,tr,an = (r.ftp*powerfrac/100.).astype(int) - r.pw_ut2 = ut2 - r.pw_ut1 = ut1 - r.pw_at = at - r.pw_tr = tr - r.pw_an = an - r.hrftp = hrftp - r.save() - message = "FTP and/or OTW slack values changed." - messages.info(request,message) - url = reverse(rower_edit_view, - kwargs = { - 'userid':r.user.id, - }) - response = HttpResponseRedirect(url) - except Rower.DoesNotExist: - message = "Funny. This user doesn't exist." - messages.error(request,message) - url = reverse(rower_edit_view) - response = HttpResponseRedirect(url) - else: - message = HttpResponse("invalid form") - form = RowerForm(instance=r) - #powerform = RowerPowerForm(instance=r) - powerzonesform = RowerPowerZonesForm(instance=r) - userform = UserForm(instance=r.user) - accountform = AccountRowerForm(instance=r) - return render(request, 'rower_form.html', - {'form':form, - 'teams':get_my_teams(request.user), - 'powerform':powerform, - 'rower':r, - 'breadcrumbs':breadcrumbs, - 'userform':userform, - 'accountform':accountform, - }) - - - return response - elif request.method == 'POST' and "ut3name" in request.POST: - powerzonesform = RowerPowerZonesForm(request.POST) - if powerzonesform.is_valid(): - cd = powerzonesform.cleaned_data - pw_ut2 = cd['pw_ut2'] - pw_ut1 = cd['pw_ut1'] - pw_at = cd['pw_at'] - pw_tr = cd['pw_tr'] - pw_an = cd['pw_an'] - ut3name = cd['ut3name'] - ut2name = cd['ut2name'] - ut1name = cd['ut1name'] - atname = cd['atname'] - trname = cd['trname'] - anname = cd['anname'] - powerzones = [ut3name,ut2name,ut1name,atname,trname,anname] - try: - r.pw_ut2 = pw_ut2 - r.pw_ut1 = pw_ut1 - r.pw_at = pw_at - r.pw_tr = pw_tr - r.pw_an = pw_an - r.powerzones = powerzones - r.save() - successmessage = "Your Power Zone data were changed" - messages.info(request,successmessage) - form = RowerForm(instance=r) - accountform = AccountRowerForm(instance=r) - userform = UserForm(instance=r.user) - powerform = RowerPowerForm(instance=r) - powerzonesform = RowerPowerZonesForm(instance=r) - return render(request, 'rower_form.html', - {'form':form, - 'teams':get_my_teams(request.user), - 'powerzonesform':powerzonesform, - 'powerform':powerform, - 'breadcrumbs':breadcrumbs, - 'userform':userform, - 'accountform':accountform, - 'rower':r, - }) - except Rower.DoesNotExist: - message = "Funny. This user doesn't exist." - messages.error(request,message) - url = reverse(workouts_view) - response = HttpResponseRedirect(url) - return response - else: - form = RowerForm(instance=r) - powerform = RowerPowerForm(instance=r) - accountform = AccountRowerForm(instance=r) - userform = UserForm(instance=r.user) - #powerzonesform = RowerPowerZonesForm(instance=r) - message = HttpResponse("invalid form") - return render(request, 'rower_form.html', - {'form':form, - 'teams':get_my_teams(request.user), - 'powerform':powerform, - 'powerzonesform':powerzonesform, - 'breadcrumbs':breadcrumbs, - 'accountform':accountform, - 'userform':userform, - 'rower':r, - }) - elif request.method == 'POST' and "weightcategory" in request.POST: + if request.method == 'POST': accountform = AccountRowerForm(request.POST) userform = UserForm(request.POST,instance=r.user) @@ -13183,9 +13001,6 @@ def rower_edit_view(request,rowerid=0,userid=0,message=""): cd = accountform.cleaned_data ucd = userform.cleaned_data - print cd - print ucd - first_name = ucd['first_name'] last_name = ucd['last_name'] email = ucd['email'] @@ -13226,61 +13041,26 @@ def rower_edit_view(request,rowerid=0,userid=0,message=""): r.emailbounced = False r.save() - form = RowerForm(instance=r) - powerform = RowerPowerForm(instance=r) - powerzonesform = RowerPowerZonesForm(instance=r) accountform = AccountRowerForm(instance=r) userform = UserForm(instance=u) successmessage = 'Account Information changed' messages.info(request,successmessage) - return render(request, 'rower_form.html', - {'form':form, - 'teams':get_my_teams(request.user), - 'powerzonesform':powerzonesform, - 'breadcrumbs':breadcrumbs, - 'powerform':powerform, - 'accountform':accountform, - 'userform':userform, - 'rower':r, - }) - else: - form = RowerForm(instance=r) - powerform = RowerPowerForm(instance=r) - powerzonesform = RowerPowerZonesForm(instance=r) - return render(request, 'rower_form.html', - {'form':form, - 'teams':get_my_teams(request.user), - 'powerzonesform':powerzonesform, - 'breadcrumbs':breadcrumbs, - 'powerform':powerform, - 'accountform':accountform, - 'userform':userform, - 'rower':r, - }) - - else: - try: - form = RowerForm(instance=r) - powerform = RowerPowerForm(instance=r) - powerzonesform = RowerPowerZonesForm(instance=r) - accountform = AccountRowerForm(instance=r) - userform = UserForm(instance=r.user) - grants = AccessToken.objects.filter(user=request.user) - return render(request, 'rower_form.html', - { - 'form':form, - 'teams':get_my_teams(request.user), - 'powerform':powerform, - 'breadcrumbs':breadcrumbs, - 'powerzonesform':powerzonesform, - 'userform':userform, - 'accountform':accountform, - 'grants':grants, - 'rower':r, - }) - except Rower.DoesNotExist: - raise Http404("This user doesn't exist") + accountform = AccountRowerForm(instance=r) + userform = UserForm(instance=r.user) + + + grants = AccessToken.objects.filter(user=request.user) + return render(request, 'rower_form.html', + { + 'teams':get_my_teams(request.user), + 'breadcrumbs':breadcrumbs, + 'grants':grants, + 'userform':userform, + 'accountform':accountform, + 'rower':r, + }) + # Page where user can set his details # Add email address to form so user can change his email address