From fa66ec76d05f89be7ea0db0d93b1c3c70d8cafdd Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Wed, 7 Nov 2018 21:09:22 +0100 Subject: [PATCH] redirect after multi clone improvement --- rowers/views.py | 46 +++++++++++++++++----------------------------- 1 file changed, 17 insertions(+), 29 deletions(-) diff --git a/rowers/views.py b/rowers/views.py index 65b2ba66..5e8bb721 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -13987,6 +13987,7 @@ def plannedsession_multiclone_view( std = min([ps.startdate for ps in sps]) shiftstartdate = dateshiftform.cleaned_data['shiftstartdate'] delta = shiftstartdate-std + lastdate = shiftstartdate for ps in sps: rowers = ps.rower.all() teams = ps.team.all() @@ -13994,19 +13995,24 @@ def plannedsession_multiclone_view( ps.startdate += delta ps.preferreddate += delta ps.enddate += delta + if ps.enddate > lastdate: + lastdate = ps.enddate ps.save() for rower in rowers: add_rower_session(rower,ps) for team in teams: add_team_session(team,ps) - url = reverse(plannedsession_multicreate_view, + startdatestring = shiftstartdate.strftime('%Y-%m-%d') + enddatestring = lastdate.strftime('%Y-%m-%d') + + url = reverse(plannedsessions_view, kwargs = { 'userid':r.user.id, + 'startdatestring':startdatestring, + 'enddatestring':enddatestring, }) - if when: - url += '?when='+when - + return HttpResponseRedirect(url) sps = PlannedSession.objects.filter( @@ -14219,33 +14225,15 @@ def plannedsession_multicreate_view(request, except IndexError: trainingplan = None - sps = get_sessions(r,startdate=startdate,enddate=enddate) - m = Rower.objects.get(user=request.user) - if m.rowerplan == 'coach': - teams = Team.objects.filter(manager=request.user) - members = Rower.objects.filter(team__in=teams).distinct() - if r in members: - qset = PlannedSession.objects.filter( - rower__in=[r], - startdate__lte=enddate, - enddate__gte=startdate, - ).order_by("startdate","preferreddate","enddate").exclude( - sessiontype='race') - else: - qset = [] - else: - qset = [] - - if not qset: - qset = PlannedSession.objects.filter( - rower__in=[r], - manager = request.user, - startdate__lte=enddate, - enddate__gte=startdate, - ).order_by("startdate","preferreddate","enddate").exclude( - sessiontype='race') + qset = PlannedSession.objects.filter( + rower__in=[r], + manager = request.user, + startdate__lte=enddate, + enddate__gte=startdate, + ).order_by("startdate","preferreddate","enddate").exclude( + sessiontype='race')