Private
Public Access
1
0

minor improvements

This commit is contained in:
Sander Roosendaal
2018-02-08 20:50:37 +01:00
parent d9d6c3d6d3
commit 2457a0d968
8 changed files with 102 additions and 20 deletions

View File

@@ -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(),
}

View File

@@ -66,21 +66,21 @@
<div class="grid_2">
<input name='daterange' class="button green" type="submit" value="Submit"> </form>
</div>
{% if user.is_authenticated and user|is_manager %}
<div class="grid_2 omega dropdown">
<button class="grid_2 alpha button green small dropbtn">
Change Rower
</button>
<div class="dropdown-content">
{% for member in user|team_members %}
<a class="button green small" href="/rowers/u/{{ member.id }}/list-workouts/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}">{{ member.first_name }} {{ member.last_name }}</a>
{% endfor %}
</div>
{% if user.is_authenticated and user|is_manager %}
<div class="grid_2 omega dropdown">
<button class="grid_2 alpha button green small dropbtn">
Change Rower
</button>
<div class="dropdown-content">
{% for member in user|team_members %}
<a class="button green small" href="/rowers/u/{{ member.id }}/list-workouts/{{ startdate|date:"Y-m-d" }}/{{ enddate|date:"Y-m-d" }}">{{ member.first_name }} {{ member.last_name }}</a>
{% endfor %}
</div>
{% else %}
&nbsp;
{% endif %}
</div>
{% else %}
&nbsp;
{% endif %}
</div>

View File

@@ -3,6 +3,7 @@
{% block title %}New Planned Session{% endblock %}
{% block content %}
<div class="grid_12 alpha">
{% include "planningbuttons.html" %}
@@ -38,6 +39,19 @@
</div>
</div>
</div>
{% if user.is_authenticated and user|is_manager %}
<div class="grid_2 dropdown">
<button class="grid_2 alpha button green small dropbtn">
Change Rower
</button>
<div class="dropdown-content">
{% for member in user|team_rowers %}
<a class="button green small" href="/rowers/sessions/{{ timeperiod }}/rower/{{ member.id }}">{{ member.user.first_name }} {{ member.user.last_name }}</a>
{% endfor %}
</div>
</div>
{% endif %}
<div class="grid_12 alpha">
<div class="grid_6 alpha">
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">

View File

@@ -12,7 +12,7 @@
<h1>Plan for {{ rower.user.first_name }} {{ rower.user.last_name }}</h1>
</div>
<div id="timeperiod" class="grid_2 dropdown">
<button class="grid_2 alpha button gray small dropbtn">Time Period</button>
<button class="grid_2 alpha button gray small dropbtn">Select Time Period ({{ timeperiod|verbosetimeperiod }})</button>
<div class="dropdown-content">
<a class="button gray small alpha"
href="/rowers/sessions/today/rower/{{ rower.id }}">
@@ -36,6 +36,19 @@
</a>
</div>
</div>
{% if user.is_authenticated and user|is_manager %}
<div class="grid_2 dropdown">
<button class="grid_2 alpha button green small dropbtn">
Change Rower
</button>
<div class="dropdown-content">
{% for member in user|team_rowers %}
<a class="button green small" href="/rowers/sessions/{{ timeperiod }}/rower/{{ member.id }}">{{ member.user.first_name }} {{ member.user.last_name }}</a>
{% endfor %}
</div>
</div>
{% endif %}
<div class="grid_12 alpha">
{% if plannedsessions %}
<p>

View File

@@ -23,6 +23,12 @@
</div>
<div class="grid_2 suffix_6 omega">
<p>
{% if timeperiod and rower %}
<a class="button gray small" href="/rowers/sessions/create/{{ timeperiod }}/rower/{{ rower.id }}">Add Session</a>
{% elif timeperiod %}
<a class="button gray small" href="/rowers/sessions/create/{{ timeperiod }}">Add Session</a>
{% else %}
<a class="button gray small" href="/rowers/sessions/create">Add Session</a>
{% endif %}
</p>
</div>

View File

@@ -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

View File

@@ -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()