diff --git a/rowers/models.py b/rowers/models.py index d6316883..b2b12116 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -10,6 +10,7 @@ from django.dispatch import receiver from django.forms.widgets import SplitDateTimeWidget from django.forms.extras.widgets import SelectDateWidget from django.forms.formsets import BaseFormSet +from django.contrib.admin.widgets import AdminDateWidget from datetimewidget.widgets import DateTimeWidget from django.core.validators import validate_email import os @@ -671,6 +672,8 @@ class GeoPoint(models.Model): def half_year_from_now(): return timezone.now()+timezone.timedelta(days=182) +def a_week_from_now(): + return timezone.now()+timezone.timedelta(days=7) # models related to training planning - draft # Do we need a separate class TestTarget? @@ -819,13 +822,13 @@ class PlannedSession(models.Model): name = models.CharField(max_length=150,blank=True) - comment = models.TextField(max_length=300,blank=True, + comment = models.TextField(max_length=500,blank=True, ) startdate = models.DateField(default=timezone.now, verbose_name='Start Date') - enddate = models.DateField(default=timezone.now, + enddate = models.DateField(default=a_week_from_now, verbose_name='End Date') sessiontype = models.CharField(default='session', @@ -899,7 +902,7 @@ class PlannedSessionForm(ModelForm): widgets = { 'comment': forms.Textarea, 'startdate': DateInput(), - 'enddate': DateInput(), + 'enddate': AdminDateWidget(), } diff --git a/rowers/templates/list_workouts.html b/rowers/templates/list_workouts.html index 82b4bba2..79fc24f5 100644 --- a/rowers/templates/list_workouts.html +++ b/rowers/templates/list_workouts.html @@ -66,21 +66,21 @@
- {% if user.is_authenticated and user|is_manager %} - diff --git a/rowers/templates/plannedsessioncreate.html b/rowers/templates/plannedsessioncreate.html index dd376e3e..3c7a6709 100644 --- a/rowers/templates/plannedsessioncreate.html +++ b/rowers/templates/plannedsessioncreate.html @@ -3,6 +3,7 @@ {% block title %}New Planned Session{% endblock %} + {% block content %}
{% include "planningbuttons.html" %} @@ -38,6 +39,19 @@
+{% if user.is_authenticated and user|is_manager %} + +{% endif %} +
diff --git a/rowers/templates/plannedsessions.html b/rowers/templates/plannedsessions.html index e660b33d..be596b5e 100644 --- a/rowers/templates/plannedsessions.html +++ b/rowers/templates/plannedsessions.html @@ -12,7 +12,7 @@

Plan for {{ rower.user.first_name }} {{ rower.user.last_name }}

+{% if user.is_authenticated and user|is_manager %} + +{% endif %} +
{% if plannedsessions %}

diff --git a/rowers/templates/planningbuttons.html b/rowers/templates/planningbuttons.html index 52d12a55..b4536fae 100644 --- a/rowers/templates/planningbuttons.html +++ b/rowers/templates/planningbuttons.html @@ -23,6 +23,12 @@

+ {% if timeperiod and rower %} + Add Session + {% elif timeperiod %} + Add Session + {% else %} Add Session + {% endif %}

diff --git a/rowers/templatetags/rowerfilters.py b/rowers/templatetags/rowerfilters.py index 2f1d66e3..8661e00f 100644 --- a/rowers/templatetags/rowerfilters.py +++ b/rowers/templatetags/rowerfilters.py @@ -145,10 +145,41 @@ def team_members(user): if therower.rowerplan != 'coach': return [] teams = Team.objects.filter(manager=user) - members = Rower.objects.filter(team__in=teams) + members = Rower.objects.filter(team__in=teams).distinct() return [rower.user for rower in members] except TypeError: return [] return [] +@register.filter +def team_rowers(user): + try: + therower = Rower.objects.get(user=user) + if therower.rowerplan != 'coach': + return [] + teams = Team.objects.filter(manager=user) + members = Rower.objects.filter(team__in=teams).distinct() + return members + except TypeError: + return [] + + return [] + +@register.filter +def verbosetimeperiod(timeperiod): + table = { + 'today':'Today', + 'thisweek': 'This Week', + 'thismonth': 'This Month', + 'lastmonth': 'Last Month', + 'lastweek': 'Last Week', + } + + try: + verbose = table[timeperiod] + except KeyError: + verbose = timeperiod + + return verbose + diff --git a/rowers/views.py b/rowers/views.py index 503ecdf4..e9e0b196 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -11759,7 +11759,11 @@ def plannedsession_create_view(request,timeperiod='today',rowerid=0): add_rower_session(r,ps) - url = reverse(plannedsession_create_view) + url = reverse(plannedsession_create_view, + kwargs = { + 'rowerid':r.id, + 'timeperiod':timeperiod, + }) return HttpResponseRedirect(url) else: sessioncreateform = PlannedSessionForm() diff --git a/templates/basebase.html b/templates/basebase.html index 0a96c96d..0d05b10c 100644 --- a/templates/basebase.html +++ b/templates/basebase.html @@ -11,6 +11,15 @@ {% block scripts %} {% endblock %} + + + + + + + + + {% analytical_head_top %} {% if GOOGLE_ANALYTICS_PROPERTY_ID %} @@ -38,6 +47,8 @@ + +