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
|
||||
from django.conf import settings
|
||||
import pytz
|
||||
from dateutil import parser
|
||||
from utils import myqueue,calculate_age,totaltime_sec_to_string
|
||||
import re
|
||||
import django_rq
|
||||
@@ -484,8 +485,13 @@ def get_dates_timeperiod(request,startdatestring='',enddatestring=''):
|
||||
enddatestring = request.GET.get('enddate')
|
||||
|
||||
if startdatestring and enddatestring:
|
||||
startdate = dt.datetime.strptime(startdatestring,'%Y-%m-%d').date()
|
||||
enddate = dt.datetime.strptime(enddatestring,'%Y-%m-%d').date()
|
||||
try:
|
||||
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
|
||||
|
||||
daterangetester = re.compile('^(\d+-\d+-\d+)\/(\d+-\d+-\d+)')
|
||||
|
||||
@@ -1430,12 +1430,57 @@ class PlannedSessionsView(TestCase):
|
||||
self.assertTrue(login)
|
||||
|
||||
url = '/rowers/sessions/?when={d1}/{d2}'.format(
|
||||
d1=self.ps_trimp.startdate.strftime("%Y-%m%d"),
|
||||
d2=self.ps_trimp.enddate.strftime("%Y-%m%d")
|
||||
d1=self.ps_trimp.startdate.strftime("%Y-%m-%d"),
|
||||
d2=self.ps_trimp.enddate.strftime("%Y-%m-%d")
|
||||
)
|
||||
|
||||
response = self.c.get(url)
|
||||
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):
|
||||
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/user/(?P<userid>\d+)/$',views.rower_create_trainingplan,name='rower_create_trainingplan'),
|
||||
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(
|
||||
views.MicroCycleDelete.as_view())),
|
||||
views.MicroCycleDelete.as_view()),name='microcycle_delete_view'),
|
||||
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(
|
||||
views.MacroCycleDelete.as_view())),
|
||||
views.MacroCycleDelete.as_view()),name='macrocycle_delete_view'),
|
||||
# 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+)/user/(?P<userid>\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+)/micro/(?P<thismicroid>\d+)/user/(?P<userid>\d+)/$',views.rower_trainingplan_view),
|
||||
url(r'^plan/(?P<id>\d+)/meso/(?P<thismesoid>\d+)/$',views.rower_trainingplan_view),
|
||||
url(r'^plan/(?P<id>\d+)/meso/(?P<thismesoid>\d+)/user/(?P<userid>\d+)/$',views.rower_trainingplan_view),
|
||||
url(r'^plan/(?P<id>\d+)/macro/(?P<thismacroid>\d+)/$',views.rower_trainingplan_view),
|
||||
url(r'^plan/(?P<id>\d+)/macro/(?P<thismacroid>\d+)/user/(?P<userid>\d+)/$',views.rower_trainingplan_view),
|
||||
url(r'^plan/(?P<id>\d+)/$',views.rower_trainingplan_view,
|
||||
name='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,
|
||||
name='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,
|
||||
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(
|
||||
views.TrainingMacroCycleUpdate.as_view()),
|
||||
name='macrocycle_update_view'),
|
||||
@@ -514,7 +522,8 @@ urlpatterns = [
|
||||
url(r'^microcycle/(?P<pk>\d+)/$',login_required(
|
||||
views.TrainingMicroCycleUpdate.as_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(
|
||||
views.TrainingPlanUpdate.as_view()),
|
||||
name='trainingplan_update_view'),
|
||||
@@ -522,29 +531,44 @@ urlpatterns = [
|
||||
views.TrainingTargetUpdate.as_view()),
|
||||
name='trainingtarget_update_view'),
|
||||
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+)/$',
|
||||
views.plannedsession_teamcreate_view),
|
||||
url(r'^sessions/teamcreate/$',views.plannedsession_teamcreate_view),
|
||||
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/$',
|
||||
views.plannedsession_teamcreate_view),
|
||||
url(r'^sessions/teamedit/(?P<sessionid>\d+)/$',views.plannedsession_teamedit_view),
|
||||
url(r'^sessions/teamedit/(?P<sessionid>\d+)/user/(?P<userid>\d+)/$',views.plannedsession_teamedit_view),
|
||||
url(r'^sessions/create/$',views.plannedsession_create_view),
|
||||
views.plannedsession_teamcreate_view,
|
||||
name='plannedsession_teamcreate_view'),
|
||||
url(r'^sessions/teamedit/(?P<sessionid>\d+)/$',views.plannedsession_teamedit_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+)/$',
|
||||
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+)/$',
|
||||
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+)/$',
|
||||
views.plannedsession_create_view),
|
||||
views.plannedsession_create_view,
|
||||
name='plannedsession_create_view'),
|
||||
url(r'^sessions/multiclone/$',views.plannedsession_multiclone_view),
|
||||
url(r'^sessions/multiclone/user/(?P<userid>\d+)/$',
|
||||
views.plannedsession_multiclone_view),
|
||||
url(r'^sessions/multicreate/$',views.plannedsession_multicreate_view),
|
||||
views.plannedsession_multiclone_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+)/$',
|
||||
views.plannedsession_multicreate_view),
|
||||
views.plannedsession_multicreate_view,
|
||||
name='plannedsession_multicreate_view'),
|
||||
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+)/compare/$',
|
||||
views.plannedsession_compare_view,
|
||||
@@ -567,25 +591,39 @@ urlpatterns = [
|
||||
views.PlannedSessionDelete.as_view()),
|
||||
name='plannedsession_delete_view'),
|
||||
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+)/$',
|
||||
views.plannedsessions_manage_view),
|
||||
views.plannedsessions_manage_view,
|
||||
name='plannedsessions_manage_view'),
|
||||
url(r'^sessions/manage/?/$',
|
||||
views.plannedsessions_manage_view),
|
||||
views.plannedsessions_manage_view,
|
||||
name='plannedsessions_manage_view'),
|
||||
url(r'^sessions/manage/user/(?P<userid>\d+)/$',
|
||||
views.plannedsessions_manage_view),
|
||||
url(r'^sessions/coach/$',views.plannedsessions_coach_view),
|
||||
url(r'^sessions/coach/user/\d+/$',views.plannedsessions_coach_view),
|
||||
url(r'^sessions/print/?/$',views.plannedsessions_print_view),
|
||||
url(r'^sessions/print/user/(?P<userid>\d+)/$',views.plannedsessions_print_view),
|
||||
url(r'^sessions/sendcalendar/$',views.plannedsessions_icsemail_view),
|
||||
url(r'^sessions/sendcalendar/user/(?P<userid>\d+)/$',views.plannedsessions_icsemail_view),
|
||||
url(r'^sessions/$',views.plannedsessions_view),
|
||||
url(r'^sessions/user/(?P<userid>\d+)/$',views.plannedsessions_view),
|
||||
views.plannedsessions_manage_view,
|
||||
name='plannedsessions_manage_view'),
|
||||
url(r'^sessions/coach/$',views.plannedsessions_coach_view,
|
||||
name='plannedsessions_coach_view'),
|
||||
url(r'^sessions/coach/user/\d+/$',views.plannedsessions_coach_view,
|
||||
name='plannedsessions_coach_view'),
|
||||
url(r'^sessions/print/?/$',views.plannedsessions_print_view,
|
||||
name='plannedsessions_print_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+)/$',
|
||||
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+)/$',
|
||||
views.plannedsessions_view),
|
||||
views.plannedsessions_view,
|
||||
name='plannedsessions_view'),
|
||||
url(r'^courses/(?P<id>\d+)/edit/$',views.course_edit_view,
|
||||
name='course_edit_view'),
|
||||
url(r'^courses/(?P<id>\d+)/delete/$',views.course_delete_view),
|
||||
|
||||
Reference in New Issue
Block a user