diff --git a/rowers/forms.py b/rowers/forms.py index a63d62cb..3d5281d5 100644 --- a/rowers/forms.py +++ b/rowers/forms.py @@ -1,6 +1,6 @@ from django import forms from django.contrib.admin.widgets import FilteredSelectMultiple -from rowers.models import Workout,Rower,Team +from rowers.models import Workout,Rower,Team,PlannedSession from rowers.rows import validate_file_extension,must_be_csv,validate_image_extension from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.models import User @@ -338,6 +338,15 @@ class DateRangeForm(forms.Form): class Meta: fields = ['startdate','enddate'] +class SessionDateShiftForm(forms.Form): + shiftstartdate = forms.DateField( + initial=timezone.now(), + widget=AdminDateWidget(), + label='Shift to start on') + + class Meta: + fields = ['shiftstartdate'] + # Form used to select workouts for the past N days class DeltaDaysForm(forms.Form): deltadays = forms.IntegerField(initial=7,required=False,label='') @@ -490,6 +499,13 @@ class WorkoutMultipleCompareForm(forms.Form): workouts = forms.ModelMultipleChoiceField(queryset=Workout.objects.all(), widget=forms.CheckboxSelectMultiple()) +class PlannedSessionMultipleCloneForm(forms.Form): + plannedsessions = forms.ModelMultipleChoiceField( + queryset=PlannedSession.objects.all(), + widget=forms.CheckboxSelectMultiple(), + label='Planned Sessions' + ) + from rowers.metrics import axlabels formaxlabels = axlabels.copy() diff --git a/rowers/plannedsessions.py b/rowers/plannedsessions.py index 713e4145..b2b7811a 100644 --- a/rowers/plannedsessions.py +++ b/rowers/plannedsessions.py @@ -288,6 +288,10 @@ def get_dates_timeperiod(timeperiod): today = date.today() enddate = today-timezone.timedelta(days=today.weekday())-timezone.timedelta(days=1) startdate = enddate-timezone.timedelta(days=6) + elif timeperiod=='nextweek': + today = date.today() + enddate = today-timezone.timedelta(days=today.weekday())-timezone.timedelta(days=1)+timezone.timedelta(days=7) + startdate = enddate-timezone.timedelta(days=13) elif timeperiod=='lastmonth': today = date.today() startdate = today.replace(day=1) @@ -296,6 +300,14 @@ def get_dates_timeperiod(timeperiod): enddate = startdate+timezone.timedelta(days=32) enddate = enddate.replace(day=1) enddate = enddate-timezone.timedelta(days=1) + elif timeperiod=='nextmonth': + today = date.today() + startdate = today.replace(day=1) + startdate = startdate+timezone.timedelta(days=32) + startdate = startdate.replace(day=1) + enddate = startdate+timezone.timedelta(days=32) + enddate = enddate.replace(day=1) + enddate = enddate-timezone.timedelta(days=1) else: startdate = date.today() enddate = date.today() diff --git a/rowers/templates/histo.html b/rowers/templates/histo.html index 5de2516b..f03c3414 100644 --- a/rowers/templates/histo.html +++ b/rowers/templates/histo.html @@ -100,7 +100,7 @@ {% endif %} - +
Warning: Large date ranges may take a long time to load. Huge date ranges may crash your browser.
diff --git a/rowers/templates/plannedsession_multicreate.html b/rowers/templates/plannedsession_multicreate.html index 5abb9384..b5afa83d 100644 --- a/rowers/templates/plannedsession_multicreate.html +++ b/rowers/templates/plannedsession_multicreate.html @@ -36,6 +36,14 @@ href="/rowers/sessions/multicreate/lastmonth/rower/{{ rower.id }}"> Last Month + + Next Week + + + Next Month +Warning: You are on an experimental part of the site. Use at your own risk.
Select two or more workouts on the left, set your plot settings below, and press submit
{% csrf_token %} diff --git a/rowers/templatetags/rowerfilters.py b/rowers/templatetags/rowerfilters.py index cd9acd8b..1adc0f89 100644 --- a/rowers/templatetags/rowerfilters.py +++ b/rowers/templatetags/rowerfilters.py @@ -193,6 +193,8 @@ def verbosetimeperiod(timeperiod): 'thismonth': 'This Month', 'lastmonth': 'Last Month', 'lastweek': 'Last Week', + 'nextweek': 'Next Week', + 'nextmonth': 'Next Month', } try: diff --git a/rowers/urls.py b/rowers/urls.py index 635be9a9..e2772640 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -419,6 +419,17 @@ urlpatterns = [ url(r'^sessions/create/(?P{% endif %}
+ {% endif %} +
@@ -219,13 +226,6 @@ {% block teams %} {% endblock %}
- {% endif %} -