def form_valid(self, form): data = form.cleaned_data now = timezone.now() tt = TimeTrial(profile=data['profile'], result='', start_time=data['start_time'], creator=self.request.get_or_create_profile(), created_time=now) tt.save() return HttpResponseRedirect( reverse('timetrial_stopwatch', kwargs={'pk': tt.pk}))
def form_valid(self, form): data = form.cleaned_data now = timezone.now() stopwatch = False if data['individual_times'] == 'individual': durations = data['durations'] elif data['individual_times'] == 'total': zero = datetime.timedelta(seconds=0) durations = [zero] * (data['legs'] - 1) + [data['total_time']] elif data['individual_times'] == 'stopwatch': stopwatch = True data['result'] = '' else: raise ValueError(data['individual_times']) tt = TimeTrial(profile=data['profile'], result=data['result'], start_time=data['start_time'], creator=self.request.get_or_create_profile(), created_time=now) tt.save() if stopwatch: return HttpResponseRedirect( reverse('timetrial_stopwatch', kwargs={'pk': tt.pk})) for i, duration in enumerate(durations): leg = Leg(timetrial=tt, duration=duration.total_seconds(), order=i + 1) leg.save() logger.info("%s %s created by %s", TimeTrial.objects.get(pk=tt.pk), ' '.join(map(str, durations)), self.request.profile, extra=self.request.log_data) return HttpResponseRedirect( reverse('timetrial_detail', kwargs={'pk': tt.pk}))