provisions for international date formats in selecting plan period
This commit is contained in:
@@ -9,6 +9,7 @@ from django.db import IntegrityError
|
|||||||
import uuid
|
import uuid
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
import pytz
|
import pytz
|
||||||
|
from dateutil import parser
|
||||||
from utils import myqueue,calculate_age,totaltime_sec_to_string
|
from utils import myqueue,calculate_age,totaltime_sec_to_string
|
||||||
import re
|
import re
|
||||||
import django_rq
|
import django_rq
|
||||||
@@ -484,8 +485,13 @@ def get_dates_timeperiod(request,startdatestring='',enddatestring=''):
|
|||||||
enddatestring = request.GET.get('enddate')
|
enddatestring = request.GET.get('enddate')
|
||||||
|
|
||||||
if startdatestring and enddatestring:
|
if startdatestring and enddatestring:
|
||||||
startdate = dt.datetime.strptime(startdatestring,'%Y-%m-%d').date()
|
try:
|
||||||
enddate = dt.datetime.strptime(enddatestring,'%Y-%m-%d').date()
|
startdate = dt.datetime.strptime(startdatestring,'%Y-%m-%d').date()
|
||||||
|
enddate = dt.datetime.strptime(enddatestring,'%Y-%m-%d').date()
|
||||||
|
except ValueError:
|
||||||
|
startdate = parser.parse(startdatestring,fuzzy=True)
|
||||||
|
enddate = parser.parse(enddatestring, fuzzy=True)
|
||||||
|
|
||||||
return startdate,enddate
|
return startdate,enddate
|
||||||
|
|
||||||
daterangetester = re.compile('^(\d+-\d+-\d+)\/(\d+-\d+-\d+)')
|
daterangetester = re.compile('^(\d+-\d+-\d+)\/(\d+-\d+-\d+)')
|
||||||
|
|||||||
@@ -1430,12 +1430,57 @@ class PlannedSessionsView(TestCase):
|
|||||||
self.assertTrue(login)
|
self.assertTrue(login)
|
||||||
|
|
||||||
url = '/rowers/sessions/?when={d1}/{d2}'.format(
|
url = '/rowers/sessions/?when={d1}/{d2}'.format(
|
||||||
d1=self.ps_trimp.startdate.strftime("%Y-%m%d"),
|
d1=self.ps_trimp.startdate.strftime("%Y-%m-%d"),
|
||||||
d2=self.ps_trimp.enddate.strftime("%Y-%m%d")
|
d2=self.ps_trimp.enddate.strftime("%Y-%m-%d")
|
||||||
)
|
)
|
||||||
|
|
||||||
response = self.c.get(url)
|
response = self.c.get(url)
|
||||||
self.assertEqual(response.status_code,200)
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
def test_plannedsessions_dateform_view(self):
|
||||||
|
login = self.c.login(username=self.u.username, password=self.password)
|
||||||
|
self.assertTrue(login)
|
||||||
|
|
||||||
|
url = reverse('plannedsessions_view')
|
||||||
|
|
||||||
|
response = self.c.get(url)
|
||||||
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
d1 = self.ps_trimp.startdate
|
||||||
|
d2 = self.ps_trimp.enddate
|
||||||
|
|
||||||
|
dates = {
|
||||||
|
'startdate': d1.strftime("%Y-%m-%d"),
|
||||||
|
'enddate': d2.strftime("%Y-%m-%d")
|
||||||
|
}
|
||||||
|
|
||||||
|
response = self.c.get(url, dates)
|
||||||
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
dates = {
|
||||||
|
'startdate': d1.strftime("%d-%m-%Y"),
|
||||||
|
'enddate': d2.strftime("%d-%m-%Y"),
|
||||||
|
}
|
||||||
|
|
||||||
|
response = self.c.get(url, dates)
|
||||||
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
dates = {
|
||||||
|
'startdate': d1.strftime("%d.%m.%Y"),
|
||||||
|
'enddate': d2.strftime("%d.%m.%Y"),
|
||||||
|
}
|
||||||
|
|
||||||
|
response = self.c.get(url, dates)
|
||||||
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
dates = {
|
||||||
|
'startdate': d1.strftime("%d/%m/%Y"),
|
||||||
|
'enddate': d2.strftime("%d/%m/%Y"),
|
||||||
|
}
|
||||||
|
|
||||||
|
response = self.c.get(url, dates)
|
||||||
|
self.assertEqual(response.status_code,200)
|
||||||
|
|
||||||
|
|
||||||
def test_plannedsessions_print_view(self):
|
def test_plannedsessions_print_view(self):
|
||||||
login = self.c.login(username=self.u.username, password=self.password)
|
login = self.c.login(username=self.u.username, password=self.password)
|
||||||
|
|||||||
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
BIN
rowers/tests/testdata/testdata.csv.gz
vendored
Binary file not shown.
120
rowers/urls.py
120
rowers/urls.py
@@ -484,22 +484,30 @@ urlpatterns = [
|
|||||||
url(r'^createplan/$',views.rower_create_trainingplan,name='rower_create_trainingplan'),
|
url(r'^createplan/$',views.rower_create_trainingplan,name='rower_create_trainingplan'),
|
||||||
url(r'^createplan/user/(?P<userid>\d+)/$',views.rower_create_trainingplan,name='rower_create_trainingplan'),
|
url(r'^createplan/user/(?P<userid>\d+)/$',views.rower_create_trainingplan,name='rower_create_trainingplan'),
|
||||||
url(r'^deleteplan/(?P<pk>\d+)/$',login_required(
|
url(r'^deleteplan/(?P<pk>\d+)/$',login_required(
|
||||||
views.TrainingPlanDelete.as_view())),
|
views.TrainingPlanDelete.as_view()),name='trainingplan_delete_view'),
|
||||||
url(r'^deletemicrocycle/(?P<pk>\d+)/$',login_required(
|
url(r'^deletemicrocycle/(?P<pk>\d+)/$',login_required(
|
||||||
views.MicroCycleDelete.as_view())),
|
views.MicroCycleDelete.as_view()),name='microcycle_delete_view'),
|
||||||
url(r'^deletemesocycle/(?P<pk>\d+)/$',login_required(
|
url(r'^deletemesocycle/(?P<pk>\d+)/$',login_required(
|
||||||
views.MesoCycleDelete.as_view())),
|
views.MesoCycleDelete.as_view()),name='mesocycle_delete_view'),
|
||||||
url(r'^deletemacrocycle/(?P<pk>\d+)/$',login_required(
|
url(r'^deletemacrocycle/(?P<pk>\d+)/$',login_required(
|
||||||
views.MacroCycleDelete.as_view())),
|
views.MacroCycleDelete.as_view()),name='macrocycle_delete_view'),
|
||||||
# url(r'^deleteplan/(?P<id>\d+)/$',views.rower_delete_trainingplan),
|
# url(r'^deleteplan/(?P<id>\d+)/$',views.rower_delete_trainingplan),
|
||||||
url(r'^plan/(?P<id>\d+)/$',views.rower_trainingplan_view),
|
url(r'^plan/(?P<id>\d+)/$',views.rower_trainingplan_view,
|
||||||
url(r'^plan/(?P<id>\d+)/user/(?P<userid>\d+)/$',views.rower_trainingplan_view),
|
name='rower_trainingplan_view'),
|
||||||
url(r'^plan/(?P<id>\d+)/micro/(?P<thismicroid>\d+)/$',views.rower_trainingplan_view),
|
url(r'^plan/(?P<id>\d+)/user/(?P<userid>\d+)/$',views.rower_trainingplan_view,
|
||||||
url(r'^plan/(?P<id>\d+)/micro/(?P<thismicroid>\d+)/user/(?P<userid>\d+)/$',views.rower_trainingplan_view),
|
name='rower_trainingplan_view'),
|
||||||
url(r'^plan/(?P<id>\d+)/meso/(?P<thismesoid>\d+)/$',views.rower_trainingplan_view),
|
url(r'^plan/(?P<id>\d+)/micro/(?P<thismicroid>\d+)/$',views.rower_trainingplan_view,
|
||||||
url(r'^plan/(?P<id>\d+)/meso/(?P<thismesoid>\d+)/user/(?P<userid>\d+)/$',views.rower_trainingplan_view),
|
name='rower_trainingplan_view'),
|
||||||
url(r'^plan/(?P<id>\d+)/macro/(?P<thismacroid>\d+)/$',views.rower_trainingplan_view),
|
url(r'^plan/(?P<id>\d+)/micro/(?P<thismicroid>\d+)/user/(?P<userid>\d+)/$',views.rower_trainingplan_view,
|
||||||
url(r'^plan/(?P<id>\d+)/macro/(?P<thismacroid>\d+)/user/(?P<userid>\d+)/$',views.rower_trainingplan_view),
|
name='rower_trainingplan_view'),
|
||||||
|
url(r'^plan/(?P<id>\d+)/meso/(?P<thismesoid>\d+)/$',views.rower_trainingplan_view,
|
||||||
|
name='rower_trainingplan_view'),
|
||||||
|
url(r'^plan/(?P<id>\d+)/meso/(?P<thismesoid>\d+)/user/(?P<userid>\d+)/$',views.rower_trainingplan_view,
|
||||||
|
name='rower_trainingplan_view'),
|
||||||
|
url(r'^plan/(?P<id>\d+)/macro/(?P<thismacroid>\d+)/$',views.rower_trainingplan_view,
|
||||||
|
name='rower_trainingplan_view'),
|
||||||
|
url(r'^plan/(?P<id>\d+)/macro/(?P<thismacroid>\d+)/user/(?P<userid>\d+)/$',views.rower_trainingplan_view,
|
||||||
|
name='rower_trainingplan_view'),
|
||||||
url(r'^macrocycle/(?P<pk>\d+)/$',login_required(
|
url(r'^macrocycle/(?P<pk>\d+)/$',login_required(
|
||||||
views.TrainingMacroCycleUpdate.as_view()),
|
views.TrainingMacroCycleUpdate.as_view()),
|
||||||
name='macrocycle_update_view'),
|
name='macrocycle_update_view'),
|
||||||
@@ -514,7 +522,8 @@ urlpatterns = [
|
|||||||
url(r'^microcycle/(?P<pk>\d+)/$',login_required(
|
url(r'^microcycle/(?P<pk>\d+)/$',login_required(
|
||||||
views.TrainingMicroCycleUpdate.as_view()),
|
views.TrainingMicroCycleUpdate.as_view()),
|
||||||
name='microcycle_update_view'),
|
name='microcycle_update_view'),
|
||||||
url(r'^deletetarget/(?P<id>\d+)/$',views.rower_delete_trainingtarget),
|
url(r'^deletetarget/(?P<id>\d+)/$',views.rower_delete_trainingtarget,
|
||||||
|
name='rower_delete_trainingtarget'),
|
||||||
url(r'^editplan/(?P<pk>\d+)/$',login_required(
|
url(r'^editplan/(?P<pk>\d+)/$',login_required(
|
||||||
views.TrainingPlanUpdate.as_view()),
|
views.TrainingPlanUpdate.as_view()),
|
||||||
name='trainingplan_update_view'),
|
name='trainingplan_update_view'),
|
||||||
@@ -522,29 +531,44 @@ urlpatterns = [
|
|||||||
views.TrainingTargetUpdate.as_view()),
|
views.TrainingTargetUpdate.as_view()),
|
||||||
name='trainingtarget_update_view'),
|
name='trainingtarget_update_view'),
|
||||||
url(r'^workout/(?P<id>\d+)/test\_strokedata/$',views.strokedataform),
|
url(r'^workout/(?P<id>\d+)/test\_strokedata/$',views.strokedataform),
|
||||||
url(r'^sessions/teamcreate/user/(?P<userid>\d+)/$',views.plannedsession_teamcreate_view),
|
url(r'^sessions/teamcreate/user/(?P<userid>\d+)/$',views.plannedsession_teamcreate_view,
|
||||||
|
name='plannedsession_teamcreate_view'),
|
||||||
url(r'^sessions/teamcreate/team/(?P<teamid>\d+)/user/(?P<userid>\d+)/$',
|
url(r'^sessions/teamcreate/team/(?P<teamid>\d+)/user/(?P<userid>\d+)/$',
|
||||||
views.plannedsession_teamcreate_view),
|
views.plannedsession_teamcreate_view,
|
||||||
url(r'^sessions/teamcreate/$',views.plannedsession_teamcreate_view),
|
name='plannedsession_teamcreate_view'),
|
||||||
|
url(r'^sessions/teamcreate/$',views.plannedsession_teamcreate_view,
|
||||||
|
name='plannedsession_teamcreate_view'),
|
||||||
url(r'^sessions/teamcreate/team/$',
|
url(r'^sessions/teamcreate/team/$',
|
||||||
views.plannedsession_teamcreate_view),
|
views.plannedsession_teamcreate_view,
|
||||||
url(r'^sessions/teamedit/(?P<sessionid>\d+)/$',views.plannedsession_teamedit_view),
|
name='plannedsession_teamcreate_view'),
|
||||||
url(r'^sessions/teamedit/(?P<sessionid>\d+)/user/(?P<userid>\d+)/$',views.plannedsession_teamedit_view),
|
url(r'^sessions/teamedit/(?P<sessionid>\d+)/$',views.plannedsession_teamedit_view,
|
||||||
url(r'^sessions/create/$',views.plannedsession_create_view),
|
name='plannedsession_teamedit_view'),
|
||||||
|
url(r'^sessions/teamedit/(?P<sessionid>\d+)/user/(?P<userid>\d+)/$',
|
||||||
|
views.plannedsession_teamedit_view,
|
||||||
|
name='plannedsession_teamedit_view'),
|
||||||
|
url(r'^sessions/create/$',views.plannedsession_create_view,
|
||||||
|
name='plannedsession_create_view'),
|
||||||
url(r'^sessions/create/user/(?P<userid>\d+)/$',
|
url(r'^sessions/create/user/(?P<userid>\d+)/$',
|
||||||
views.plannedsession_create_view),
|
views.plannedsession_create_view,
|
||||||
|
name='plannedsession_create_view'),
|
||||||
url(r'^sessions/create/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',
|
url(r'^sessions/create/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',
|
||||||
views.plannedsession_create_view),
|
views.plannedsession_create_view,
|
||||||
|
name='plannedsession_create_view'),
|
||||||
url(r'^sessions/create/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',
|
url(r'^sessions/create/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',
|
||||||
views.plannedsession_create_view),
|
views.plannedsession_create_view,
|
||||||
|
name='plannedsession_create_view'),
|
||||||
url(r'^sessions/multiclone/$',views.plannedsession_multiclone_view),
|
url(r'^sessions/multiclone/$',views.plannedsession_multiclone_view),
|
||||||
url(r'^sessions/multiclone/user/(?P<userid>\d+)/$',
|
url(r'^sessions/multiclone/user/(?P<userid>\d+)/$',
|
||||||
views.plannedsession_multiclone_view),
|
views.plannedsession_multiclone_view,
|
||||||
url(r'^sessions/multicreate/$',views.plannedsession_multicreate_view),
|
name='plannedsession_multiclone_view'),
|
||||||
|
url(r'^sessions/multicreate/$',views.plannedsession_multicreate_view,
|
||||||
|
name='plannedsession_multicreate_view'),
|
||||||
url(r'^sessions/multicreate/user/(?P<userid>\d+)/extra/(?P<extrasessions>\d+)/$',
|
url(r'^sessions/multicreate/user/(?P<userid>\d+)/extra/(?P<extrasessions>\d+)/$',
|
||||||
views.plannedsession_multicreate_view),
|
views.plannedsession_multicreate_view,
|
||||||
|
name='plannedsession_multicreate_view'),
|
||||||
url(r'^sessions/multicreate/user/(?P<userid>\d+)/$',
|
url(r'^sessions/multicreate/user/(?P<userid>\d+)/$',
|
||||||
views.plannedsession_multicreate_view),
|
views.plannedsession_multicreate_view,
|
||||||
|
name='plannedsession_multicreate_view'),
|
||||||
url(r'^sessions/(?P<id>\d+)/edit/$',views.plannedsession_edit_view),
|
url(r'^sessions/(?P<id>\d+)/edit/$',views.plannedsession_edit_view),
|
||||||
url(r'^sessions/(?P<id>\d+)/compare/$',
|
url(r'^sessions/(?P<id>\d+)/compare/$',
|
||||||
views.plannedsession_compare_view,
|
views.plannedsession_compare_view,
|
||||||
@@ -567,25 +591,39 @@ urlpatterns = [
|
|||||||
views.PlannedSessionDelete.as_view()),
|
views.PlannedSessionDelete.as_view()),
|
||||||
name='plannedsession_delete_view'),
|
name='plannedsession_delete_view'),
|
||||||
url(r'^sessions/manage/session/(?P<initialsession>\d+)/$',
|
url(r'^sessions/manage/session/(?P<initialsession>\d+)/$',
|
||||||
views.plannedsessions_manage_view),
|
views.plannedsessions_manage_view,
|
||||||
|
name='plannedsessions_manage_view'),
|
||||||
url(r'^sessions/manage/session/(?P<initialsession>\d+)/user/(?P<userid>\d+)/$',
|
url(r'^sessions/manage/session/(?P<initialsession>\d+)/user/(?P<userid>\d+)/$',
|
||||||
views.plannedsessions_manage_view),
|
views.plannedsessions_manage_view,
|
||||||
|
name='plannedsessions_manage_view'),
|
||||||
url(r'^sessions/manage/?/$',
|
url(r'^sessions/manage/?/$',
|
||||||
views.plannedsessions_manage_view),
|
views.plannedsessions_manage_view,
|
||||||
|
name='plannedsessions_manage_view'),
|
||||||
url(r'^sessions/manage/user/(?P<userid>\d+)/$',
|
url(r'^sessions/manage/user/(?P<userid>\d+)/$',
|
||||||
views.plannedsessions_manage_view),
|
views.plannedsessions_manage_view,
|
||||||
url(r'^sessions/coach/$',views.plannedsessions_coach_view),
|
name='plannedsessions_manage_view'),
|
||||||
url(r'^sessions/coach/user/\d+/$',views.plannedsessions_coach_view),
|
url(r'^sessions/coach/$',views.plannedsessions_coach_view,
|
||||||
url(r'^sessions/print/?/$',views.plannedsessions_print_view),
|
name='plannedsessions_coach_view'),
|
||||||
url(r'^sessions/print/user/(?P<userid>\d+)/$',views.plannedsessions_print_view),
|
url(r'^sessions/coach/user/\d+/$',views.plannedsessions_coach_view,
|
||||||
url(r'^sessions/sendcalendar/$',views.plannedsessions_icsemail_view),
|
name='plannedsessions_coach_view'),
|
||||||
url(r'^sessions/sendcalendar/user/(?P<userid>\d+)/$',views.plannedsessions_icsemail_view),
|
url(r'^sessions/print/?/$',views.plannedsessions_print_view,
|
||||||
url(r'^sessions/$',views.plannedsessions_view),
|
name='plannedsessions_print_view'),
|
||||||
url(r'^sessions/user/(?P<userid>\d+)/$',views.plannedsessions_view),
|
url(r'^sessions/print/user/(?P<userid>\d+)/$',views.plannedsessions_print_view,
|
||||||
|
name='plannedsessions_print_view'),
|
||||||
|
url(r'^sessions/sendcalendar/$',views.plannedsessions_icsemail_view,
|
||||||
|
name='plannedsessions_icsemail_view'),
|
||||||
|
url(r'^sessions/sendcalendar/user/(?P<userid>\d+)/$',views.plannedsessions_icsemail_view,
|
||||||
|
name='plannedsessions_icsemail_view'),
|
||||||
|
url(r'^sessions/$',views.plannedsessions_view,
|
||||||
|
name='plannedsessions_view'),
|
||||||
|
url(r'^sessions/user/(?P<userid>\d+)/$',views.plannedsessions_view,
|
||||||
|
name='plannedsessions_view'),
|
||||||
url(r'^sessions/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',
|
url(r'^sessions/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/$',
|
||||||
views.plannedsessions_view),
|
views.plannedsessions_view,
|
||||||
|
name='plannedsessions_view'),
|
||||||
url(r'^sessions/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',
|
url(r'^sessions/(?P<startdatestring>\d+-\d+-\d+)/(?P<enddatestring>\d+-\d+-\d+)/user/(?P<userid>\d+)/$',
|
||||||
views.plannedsessions_view),
|
views.plannedsessions_view,
|
||||||
|
name='plannedsessions_view'),
|
||||||
url(r'^courses/(?P<id>\d+)/edit/$',views.course_edit_view,
|
url(r'^courses/(?P<id>\d+)/edit/$',views.course_edit_view,
|
||||||
name='course_edit_view'),
|
name='course_edit_view'),
|
||||||
url(r'^courses/(?P<id>\d+)/delete/$',views.course_delete_view),
|
url(r'^courses/(?P<id>\d+)/delete/$',views.course_delete_view),
|
||||||
|
|||||||
Reference in New Issue
Block a user