From 7d4a2f2251b6219ed48975686d2eebbaad8bb438 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Tue, 13 Feb 2018 16:03:58 +0100 Subject: [PATCH] initial multicreate plannedsesssion not working --- rowers/models.py | 35 +++++ .../templates/plannedsession_multicreate.html | 139 ++++++++++++++++++ rowers/templates/plannedsessioncreate.html | 2 +- rowers/urls.py | 9 ++ rowers/views.py | 52 ++++++- 5 files changed, 234 insertions(+), 3 deletions(-) create mode 100644 rowers/templates/plannedsession_multicreate.html diff --git a/rowers/models.py b/rowers/models.py index 5b30abb6..5513d86b 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -614,6 +614,12 @@ class BaseFavoriteFormSet(BaseFormSet): if not yparam2: yparam2 = 'None' +class BasePlannedSessionFormSet(BaseFormSet): + def clean(self): + if any(self.serrors): + return + + # Check if workout is owned by this user def checkworkoutuser(user,workout): try: @@ -918,6 +924,35 @@ class PlannedSessionForm(ModelForm): 'enddate': AdminDateWidget(), } +class PlannedSessionFormSmall(ModelForm): + + class Meta: + model = PlannedSession + fields = ['startdate', + 'enddate', + 'name', + 'sessiontype', + 'sessionmode', + 'criterium', + 'sessionvalue', + 'sessionunit', + 'comment', + ] + + dateTimeOptions = { + 'format': 'yyyy-mm-dd', + 'autoclose': True, + } + + widgets = { + 'startdate': DateInput(attrs={'size':10}), + 'enddate': DateInput(attrs={'size':10}), + 'name': forms.TextInput(attrs={'size':10}), + 'comment': forms.TextInput(attrs={'size':10}), + 'sessionvalue': forms.TextInput(attrs={'style':'width:3em', + 'type':'number'}), + } + # Workout class Workout(models.Model): diff --git a/rowers/templates/plannedsession_multicreate.html b/rowers/templates/plannedsession_multicreate.html new file mode 100644 index 00000000..44aba51e --- /dev/null +++ b/rowers/templates/plannedsession_multicreate.html @@ -0,0 +1,139 @@ +{% extends "base.html" %} +{% load staticfiles %} +{% load rowerfilters %} + +{% block title %}New Planned Session{% endblock %} + +{% block content %} +
+ {% include "planningbuttons.html" %} +
+ +
+
+

Create Sessions for {{ rower.user.first_name }} {{ rower.user.last_name }}

+
+ +{% if user.is_authenticated and user|is_manager %} + +{% endif %} +
+ +
+
+ {% csrf_token %} + {{ ps_formset.management_form }} + + + + + + {% for field in ps_formset.0.visible_fields %} + + {% endfor %} + + + + {% for form in ps_formset %} + + + {% endfor %} + + {% endfor %} + +
 {{ field.label_tag }}
{{ forloop.counter }} + {% if form.instance.pk %}{{ form.DELETE }}{% endif %} + {% for field in form.visible_fields %} + + {{ field }} +
+ +
+ +
+{% endblock %} + +{% block scripts %} + + + + +{% endblock %} diff --git a/rowers/templates/plannedsessioncreate.html b/rowers/templates/plannedsessioncreate.html index b2d643cd..5263c3f5 100644 --- a/rowers/templates/plannedsessioncreate.html +++ b/rowers/templates/plannedsessioncreate.html @@ -11,7 +11,7 @@
-

Create Session for {{ rower.user.first_name }} {{ rower.user.last_name }}

+

Create Sessions for {{ rower.user.first_name }} {{ rower.user.last_name }}