diff --git a/rowers/views/planviews.py b/rowers/views/planviews.py index c9b28796..1e2f47b4 100644 --- a/rowers/views/planviews.py +++ b/rowers/views/planviews.py @@ -416,12 +416,20 @@ def plannedsession_create_view(request, 'preferreddate':fprefdate } else: - preferreddate = startdate.date() + try: + preferreddate = startdate.date() + except AttributeError: + preferreddate = startdate if preferreddate < timezone.now().date(): preferreddate = timezone.now().date() - if preferreddate > enddate.date(): - preferreddate = enddate.date() + try: + enddate = enddate.date() + except AttributeError: + pass + + if preferreddate > enddate: + preferreddate = enddate forminitial = { 'startdate':startdate, @@ -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: