Private
Public Access
1
0

added age verification and improvements on plannedsession

This commit is contained in:
Sander Roosendaal
2018-02-13 13:40:08 +01:00
parent 5f287b9ccd
commit fd9388402a
9 changed files with 157 additions and 46 deletions

View File

@@ -325,12 +325,15 @@ class UpdateWindForm(forms.Form):
# Form to select a data range to show workouts from a certain time period # Form to select a data range to show workouts from a certain time period
class DateRangeForm(forms.Form): class DateRangeForm(forms.Form):
startdate = forms.DateField(initial=timezone.now()-datetime.timedelta(days=365), startdate = forms.DateField(
widget=SelectDateWidget(years=range(1990,2050)), initial=timezone.now()-datetime.timedelta(days=365),
label='Start Date') # widget=SelectDateWidget(years=range(1990,2050)),
enddate = forms.DateField(initial=timezone.now(), widget=AdminDateWidget(),
widget=SelectDateWidget(years=range(1990,2050)), label='Start Date')
label='End Date') enddate = forms.DateField(
initial=timezone.now(),
widget=AdminDateWidget(),
label='End Date')
class Meta: class Meta:
fields = ['startdate','enddate'] fields = ['startdate','enddate']
@@ -393,11 +396,17 @@ class RegistrationFormSex(RegistrationFormUniqueEmail):
('lwt','light-weight'), ('lwt','light-weight'),
) )
birthdate = forms.DateTimeField(widget=SelectDateWidget( birthdate = forms.DateTimeField(
years=range(timezone.now().year-100,timezone.now().year-10)), widget=SelectDateWidget(),
initial = datetime.date(year=1970, initial = datetime.date(year=1970,
month=4, month=4,
day=15)) day=15))
def clean_birthdate(self):
dob = self.cleaned_data['birthdate']
age = (timezone.now() - dob).days/365
if age < 16:
raise forms.ValidationError('Must be at least 16 years old to register')
sex = forms.ChoiceField(required=True, sex = forms.ChoiceField(required=True,
choices=sexcategories, choices=sexcategories,

View File

@@ -914,8 +914,8 @@ class PlannedSessionForm(ModelForm):
widgets = { widgets = {
'comment': forms.Textarea, 'comment': forms.Textarea,
'startdate': DateInput(), 'startdate': AdminDateWidget(),
'enddate': DateInput(), 'enddate': AdminDateWidget(),
} }
@@ -1164,7 +1164,7 @@ class WorkoutForm(ModelForm):
model = Workout model = Workout
fields = ['name','date','starttime','timezone','duration','distance','workouttype','notes','privacy','rankingpiece','boattype'] fields = ['name','date','starttime','timezone','duration','distance','workouttype','notes','privacy','rankingpiece','boattype']
widgets = { widgets = {
'date': DateInput(), 'date': AdminDateWidget(),
'notes': forms.Textarea, 'notes': forms.Textarea,
'duration': forms.TimeInput(format='%H:%M:%S.%f'), 'duration': forms.TimeInput(format='%H:%M:%S.%f'),
} }

View File

@@ -145,7 +145,7 @@ def is_session_complete_ws(ws,ps):
trimp = dataprep.workout_trimp(w) trimp = dataprep.workout_trimp(w)
score += trimp score += trimp
elif ps.sessionmode == 'rScore': elif ps.sessionmode == 'rScore':
rscore = dataprep.workout_rscore(w) rscore = dataprep.workout_rscore(w)[0]
score += rscore score += rscore
value = ps.sessionvalue value = ps.sessionvalue

View File

@@ -125,3 +125,47 @@
</div> </div>
</div> </div>
{% endblock %} {% endblock %}
{% block scripts %}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("td #id_sessionmode").change(function() {
if (this.value == 'TRIMP') {
$("td #id_sessionunit").prop("value","None");
}
if (this.value == 'distance') {
$("td #id_sessionunit").prop("value","m");
}
if (this.value == 'time') {
$("td #id_sessionunit").prop("value","min");
}
if (this.value == 'rScore') {
$("td #id_sessionunit").prop("value","None");
}
});
$("td #id_sessiontype").change(function() {
if (this.value == 'session') {
$("td #id_criterium").prop("value","none");
}
if (this.value == 'test') {
$("td #id_criterium").prop("value","exact");
}
if (this.value == 'challenge') {
$("td #id_criterium").prop("value","minimum");
}
}
);
});
</script>
{% endblock %}

View File

@@ -11,8 +11,8 @@
</div> </div>
<div class="grid_12 alpha"> <div class="grid_12 alpha">
<div id="left" class="grid_6 alpha"> <div id="left" class="grid_6 alpha">
<h1>Edit Session {{ thesession.name }}</h1> <h1>Edit Session</h1>
</div> </div>
<div id="timeperiod" class="grid_2 dropdown"> <div id="timeperiod" class="grid_2 dropdown">
<button class="grid_2 alpha button gray small dropbtn">Select Time Period ({{ timeperiod|verbosetimeperiod }})</button> <button class="grid_2 alpha button gray small dropbtn">Select Time Period ({{ timeperiod|verbosetimeperiod }})</button>
<div class="dropdown-content"> <div class="dropdown-content">
@@ -47,29 +47,7 @@
{% endif %} {% endif %}
</div> </div>
<div class="grid_12 alpha"> <div class="grid_12 alpha">
<div class="grid_6 alpha"> <div id="right" class="grid_6 alpha">
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">
{% if form.errors %}
<p style="color: red;">
Please correct the error{{ form.errors|pluralize }} below.
</p>
{% endif %}
<table>
{{ form.as_table }}
</table>
{% csrf_token %}
<div class="grid_1 prefix_2 alpha">
<a class="red button small" href="/rowers/sessions/{{ thesession.id }}/deleteconfirm">Delete</a>
</div>
<div class="grid_1">
<a class="gray button small" href="/rowers/sessions/{{ thesession.id }}/clone">Clone</a>
</div>
<div id="formbutton" class="grid_1 suffix_1 omega">
<input class="button green" type="submit" value="Save">
</div>
</div>
<div id="right" class="grid_6 omega">
<h1>Plan</h1> <h1>Plan</h1>
<p> <p>
Click on session name to view Click on session name to view
@@ -124,8 +102,76 @@
</table> </table>
</div> </div>
<div class="grid_6 omega">
<h1>{{ thesession.name }}</h1>
<form enctype="multipart/form-data" action="{{ formloc }}" method="post">
{% if form.errors %}
<p style="color: red;">
Please correct the error{{ form.errors|pluralize }} below.
</p>
{% endif %}
<table>
{{ form.as_table }}
</table>
{% csrf_token %}
<div class="grid_1 prefix_2 alpha">
<a class="red button small" href="/rowers/sessions/{{ thesession.id }}/deleteconfirm">Delete</a>
</div>
<div class="grid_1">
<a class="gray button small" href="/rowers/sessions/{{ thesession.id }}/clone">Clone</a>
</div>
<div id="formbutton" class="grid_1 suffix_1 omega">
<input class="button green" type="submit" value="Save">
</div>
</div>
</form> </form>
</div> </div>
{% endblock %} {% endblock %}
{% block scripts %}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("td #id_sessionmode").change(function() {
if (this.value == 'TRIMP') {
$("td #id_sessionunit").prop("value","None");
}
if (this.value == 'distance') {
$("td #id_sessionunit").prop("value","m");
}
if (this.value == 'time') {
$("td #id_sessionunit").prop("value","min");
}
if (this.value == 'rScore') {
$("td #id_sessionunit").prop("value","None");
}
});
$("td #id_sessiontype").change(function() {
if (this.value == 'session') {
$("td #id_criterium").prop("value","none");
}
if (this.value == 'test') {
$("td #id_criterium").prop("value","exact");
}
if (this.value == 'challenge') {
$("td #id_criterium").prop("value","minimum");
}
}
);
});
</script>
{% endblock %}

View File

@@ -2,9 +2,13 @@
{% load staticfiles %} {% load staticfiles %}
{% load rowerfilters %} {% load rowerfilters %}
{% block meta %}
{% endblock %}
{% block title %}Planned Session{% endblock %} {% block title %}Planned Session{% endblock %}
{% block content %} {% block content %}
<div class="grid_12 alpha"> <div class="grid_12 alpha">
{% include "planningbuttons.html" %} {% include "planningbuttons.html" %}
@@ -99,4 +103,8 @@
</div> </div>
</div> </div>
{% endblock %}
{% block scripts %}
{% endblock %} {% endblock %}

View File

@@ -1,5 +1,8 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block title %}Contact Us{% endblock title %} {% block title %}Contact Us{% endblock title %}
{% block meta %}
{% endblock %}
{% block content %} {% block content %}
<div id="registrationform" class="grid_6 alpha"> <div id="registrationform" class="grid_6 alpha">
@@ -10,8 +13,8 @@
{% endif %} {% endif %}
<form enctype="multipart/form-data" action="" method="post"> <form enctype="multipart/form-data" action="" method="post">
{% csrf_token %} {% csrf_token %}
<table width=100%> <table width=100%>
{{ form.as_table }} {{ form.as_table }}
</table> </table>
<div class="grid_1 alpha"> <div class="grid_1 alpha">
@@ -28,4 +31,4 @@
<p> Registration is free. </p> <p> Registration is free. </p>
</div> </div>
{% endblock content %} {% endblock content %}

2
static/admin/js/jquery.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -13,10 +13,9 @@
<script type="text/javascript" src="/admin/jsi18n/"></script> <script type="text/javascript" src="/admin/jsi18n/"></script>
<script type="text/javascript" src="/static/admin/js/core.js"></script> <script type="text/javascript" src="/static/admin/js/core.js"></script>
<script type="text/javascript" src="/static/admin/js/admin/RelatedObjectLookups.js"> </script>
<script type="text/javascript" src="/static/admin/js/jquery.min.js"></script> <script type="text/javascript" src="/static/admin/js/jquery.min.js"></script>
<script type="text/javascript" src="/static/admin/js/jquery.init.js"></script> <script type="text/javascript" src="/static/admin/js/jquery.init.js"></script>
<script type="text/javascript" src="/static/admin/js/actions.min.js"></script> <script type="text/javascript" src="/static/admin/js/admin/RelatedObjectLookups.js"> </script>
<script type="text/javascript" src="/static/admin/js/calendar.js"></script> <script type="text/javascript" src="/static/admin/js/calendar.js"></script>
<script type="text/javascript" src="/static/admin/js/urlify.js"></script> <script type="text/javascript" src="/static/admin/js/urlify.js"></script>
<script type="text/javascript" src="/static/admin/js/prepopulate.js"></script> <script type="text/javascript" src="/static/admin/js/prepopulate.js"></script>