Private
Public Access
1
0

initial multicreate plannedsesssion not working

This commit is contained in:
Sander Roosendaal
2018-02-13 16:03:58 +01:00
parent 41c38354bc
commit 7d4a2f2251
5 changed files with 234 additions and 3 deletions

View File

@@ -60,13 +60,17 @@ from rowers.models import (
RowerPowerZonesForm,AccountRowerForm,UserForm,StrokeData,
Team,TeamForm,TeamInviteForm,TeamInvite,TeamRequest,
WorkoutComment,WorkoutCommentForm,RowerExportForm,
CalcAgePerformance,PowerTimeFitnessMetric,PlannedSessionForm
CalcAgePerformance,PowerTimeFitnessMetric,PlannedSessionForm,
PlannedSessionFormSmall,
)
from rowers.models import (
FavoriteForm,BaseFavoriteFormSet,SiteAnnouncement,BasePlannedSessionFormSet
)
from rowers.models import FavoriteForm,BaseFavoriteFormSet,SiteAnnouncement
from rowers.metrics import rowingmetrics,defaultfavoritecharts
from rowers import metrics
import rowers.uploads as uploads
from django.forms.formsets import formset_factory
from django.forms import modelformset_factory
import StringIO
from django.contrib.auth.decorators import login_required,user_passes_test
from time import strftime,strptime,mktime,time,daylight
@@ -11659,6 +11663,50 @@ def plannedsession_create_view(request,timeperiod='thisweek',rowerid=0):
'timeperiod':timeperiod,
})
@user_passes_test(hasplannedsessions,login_url="/rowers/planmembership/",
redirect_field_name=None)
def plannedsession_multicreate_view(request,timeperiod='thisweek',
teamid=0,rowerid=0):
if rowerid==0:
r = getrower(request.user)
else:
try:
r = Rower.objects.get(id=rowerid)
except Rower.DoesNotExist:
raise Http404("This rower doesn't exist")
if not checkaccessuser(request.user,r):
raise PermissionDenied("You don't have access to this plan")
startdate,enddate = get_dates_timeperiod(timeperiod)
sps = get_sessions(r,startdate=startdate,enddate=enddate)
qset = PlannedSession.objects.filter(
rower__in=[r],
startdate__lte=enddate,
enddate__gte=startdate,
).order_by("startdate","enddate")
extrasessions = (enddate-startdate).days+1
PlannedSessionFormSet = modelformset_factory(PlannedSession,
form=PlannedSessionFormSmall,
# formset=BasePlannedSessionFormSet,
can_delete=True,
extra=extrasessions,
)
ps_formset = PlannedSessionFormSet(queryset = qset)
context = {
'ps_formset':ps_formset,
'rower':r,
'timeperiod':timeperiod,
'teams':get_my_teams(request.user)
}
return render(request,'plannedsession_multicreate.html',context)
# Manager creates sessions for entire team
@user_passes_test(iscoachmember,login_url="/rowers/planmembership/",
redirect_field_name=None)