diff --git a/rowers/views/planviews.py b/rowers/views/planviews.py index 97e15a18..1e2f47b4 100644 --- a/rowers/views/planviews.py +++ b/rowers/views/planviews.py @@ -416,10 +416,18 @@ def plannedsession_create_view(request, 'preferreddate':fprefdate } else: - preferreddate = startdate + try: + preferreddate = startdate.date() + except AttributeError: + preferreddate = startdate if preferreddate < timezone.now().date(): preferreddate = timezone.now().date() + try: + enddate = enddate.date() + except AttributeError: + pass + if preferreddate > enddate: preferreddate = enddate @@ -1427,16 +1435,20 @@ def plannedsession_clone_view(request,id=0,userid=0): ps.name += ' (copy)' ps.is_template = False - deltadays = ps.enddate-ps.startdate + deltadays = ps.preferreddate-ps.startdate - ps.startdate = timezone.now().date() - ps.enddate = (timezone.now()+deltadays).date() - ps.preferreddate = ps.preferreddate+deltadays + ps.startdate = startdate + ps.enddate = enddate + ps.preferreddate = ps.startdate+deltadays + ps.save() - for rower in rowers: - add_rower_session(rower,ps) + if rowers: + for rower in rowers: + add_rower_session(rower,ps) + else: + add_rower_session(r,ps) for team in teams: add_team_session(team,ps) @@ -1602,6 +1614,7 @@ def plannedsession_edit_view(request,id=0,userid=0): cd['sessionmode'] = 'distance' + res,message = update_plannedsession(ps,cd) if res: @@ -2005,6 +2018,7 @@ def rower_create_trainingplan(request,userid=0): except KeyError: target = None startdate = form.cleaned_data['startdate'] + status = form.cleaned_data['status'] enddate = form.cleaned_data['enddate'] try: @@ -2017,7 +2031,7 @@ def rower_create_trainingplan(request,userid=0): target=target, manager=themanager, startdate=startdate, - enddate=enddate, + enddate=enddate,status=status, ) p.save()