From b21af09fcba8c66c037d66388de13ec5c8fa86f2 Mon Sep 17 00:00:00 2001 From: maxime Date: Mon, 29 Jul 2019 19:28:49 +0200 Subject: [PATCH] updates sailsOn in step 3 --- port/models.py | 8 ++++++++ port/views/index.py | 10 ++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/port/models.py b/port/models.py index acaad6f..6cf77a1 100644 --- a/port/models.py +++ b/port/models.py @@ -170,6 +170,14 @@ class SailsOn(Model): present = BooleanField(default=True) + def update(self, sailson): + self.is_captain = sailson.is_captain + self.is_crew = sailson.is_crew + self.is_owner = sailson.is_owner + self.is_guest = sailson.is_guest + self.is_pet = sailson.is_pet + self.present = sailson.present + class BoatInsurance(Model): contract = IntegerField(blank=True,null=True) date = DateTimeField(auto_now_add=True) diff --git a/port/views/index.py b/port/views/index.py index b36fd5d..2f48101 100644 --- a/port/views/index.py +++ b/port/views/index.py @@ -121,11 +121,15 @@ def new_stay_2(request): data = {'sailors_forms': sailors_forms} for sailor_form in sailors_forms: + if not sailor_form.has_changed(): + return new_stay_3(request) if not sailor_form.is_valid(): return render(request, 'new_stay/new_stay-2.html') else: - sailor = sailor_form.save(commit=False) + sailor_tmp = sailor_form.save(commit=False) + sailor = SailsOn.objects.get(person=sailor_tmp.person) sailor.boat_id = request.session['new_stay_boat'] + sailor.update(sailor_tmp) sailor.save() request.method = 'GET' @@ -166,7 +170,9 @@ def new_stay_3(request): stay.boat_id = request.session['new_stay_boat'] pprint(stay) - if (stay.departure < stay.arrival): + if (stay.departure is not None + and stay.arrival is not None + and stay.departure < stay.arrival): return render(request, 'new_stay/new_stay-3.html', data) data = {}