diff --git a/rowers/models.py b/rowers/models.py index e847d31c..6a93a110 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -862,8 +862,14 @@ class PlannedSession(models.Model): class PlannedSessionForm(ModelForm): class Meta: model = PlannedSession - fields = ['name','comment','startdate','enddate','sessionvalue', - 'sessionunit'] + fields = ['startdate', + 'enddate', + 'sessiontype', + 'sessionmode', + 'sessionvalue', + 'sessionunit', + 'comment', + ] widgets = { 'comment': forms.Textarea, 'startdate': SelectDateWidget( diff --git a/rowers/templates/plannedsessioncreate.html b/rowers/templates/plannedsessioncreate.html new file mode 100644 index 00000000..d977bff9 --- /dev/null +++ b/rowers/templates/plannedsessioncreate.html @@ -0,0 +1,35 @@ +{% extends "base.html" %} +{% load staticfiles %} + +{% block title %}New Planned Session{% endblock %} + +{% block content %} +
+ {% include "planningbuttons.html" %} + +

Create a new Planned Session

+
+
+
+ {% if form.errors %} +

+ Please correct the error{{ form.errors|pluralize }} below. +

+ {% endif %} + + + {{ form.as_table }} +
+ {% csrf_token %} +
+ +
+
+ + + + + +{% endblock %} diff --git a/rowers/templates/planningbuttons.html b/rowers/templates/planningbuttons.html new file mode 100644 index 00000000..9a8ba94e --- /dev/null +++ b/rowers/templates/planningbuttons.html @@ -0,0 +1,21 @@ +{% load rowerfilters %} +
+

+ Plan Overview +

+
+
+

+ Review Sessions +

+
+
+

+ Manage Sessions +

+
+
+

+ Add Session +

+
diff --git a/rowers/templates/workout_form.html b/rowers/templates/workout_form.html index 9f07dbeb..2fa29d05 100644 --- a/rowers/templates/workout_form.html +++ b/rowers/templates/workout_form.html @@ -166,7 +166,7 @@
{{ graph.filename }}
@@ -174,7 +174,7 @@
{{ graph.filename }}
{% endif %} @@ -186,14 +186,14 @@
{{ graph.filename }}
{% elif forloop.counter == 3 %}
{{ graph.filename }}
@@ -201,7 +201,7 @@
{{ graph.filename }}
{% endif %} diff --git a/rowers/urls.py b/rowers/urls.py index 3519e07c..cf012903 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -396,6 +396,7 @@ urlpatterns = [ url(r'^workout/compare/(?P\d+)/(?P\d+)/(?P\w+.*)/(?P[\w\ ]+.*)/$',views.workout_comparison_view2), url(r'^test\_callback',views.rower_process_testcallback), url(r'^workout/(?P\d+)/test\_strokedata$',views.strokedataform), + url(r'^sessions/create$',views.session_create_view), ] if settings.DEBUG: diff --git a/rowers/views.py b/rowers/views.py index 8d362082..946ca763 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -50,13 +50,16 @@ from rowers.forms import ( FusionMetricChoiceForm,BoxPlotChoiceForm,MultiFlexChoiceForm, TrendFlexModalForm,WorkoutSplitForm,WorkoutJoinParamForm, ) -from rowers.models import Workout, User, Rower, WorkoutForm,FavoriteChart +from rowers.models import ( + Workout, User, Rower, WorkoutForm,FavoriteChart, + PlannedSession + ) from rowers.models import ( RowerPowerForm,RowerForm,GraphImage,AdvancedWorkoutForm, RowerPowerZonesForm,AccountRowerForm,UserForm,StrokeData, Team,TeamForm,TeamInviteForm,TeamInvite,TeamRequest, WorkoutComment,WorkoutCommentForm,RowerExportForm, - CalcAgePerformance,PowerTimeFitnessMetric, + CalcAgePerformance,PowerTimeFitnessMetric,PlannedSessionForm ) from rowers.models import FavoriteForm,BaseFavoriteFormSet,SiteAnnouncement from rowers.metrics import rowingmetrics,defaultfavoritecharts @@ -11699,6 +11702,22 @@ def agegrouprecordview(request,sex='male',weightcategory='hwt', 'the_div':div, }) -@user_passes_test(hasplannedsessions,login_url="/",redirect_field_name=None) +@user_passes_test(hasplannedsessions,login_url="/", + redirect_field_name=None) def session_create_view(request): - return 1 + if request.method == 'POST': + sessioncreateform = PlannedSessionForm(request.POST) + if sessioncreateform.is_valid(): + cd = sessioncreateform.cleaned_data + # do something with data + + url = reverse(session_create_view) + return HttpResponseRedirect(url) + else: + sessioncreateform = PlannedSessionForm() + + return render(request,'plannedsessioncreate.html', + { + 'teams':get_my_teams(request.user), + 'form':sessioncreateform, + }) diff --git a/static/img/rowingtimer.gif b/static/img/rowingtimer.gif index 3c9fe0f7..2da0bca3 100644 Binary files a/static/img/rowingtimer.gif and b/static/img/rowingtimer.gif differ