From 52c29cafe82a465424f08e0a3f0571b1ae7dda96 Mon Sep 17 00:00:00 2001 From: Todd Dembrey <todd.dembrey@torchbox.com> Date: Sat, 15 Sep 2018 11:42:32 +0100 Subject: [PATCH] Short circuit the save for the transition --- opentech/apply/funds/models/submissions.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/opentech/apply/funds/models/submissions.py b/opentech/apply/funds/models/submissions.py index 93092d921..4bf6246b7 100644 --- a/opentech/apply/funds/models/submissions.py +++ b/opentech/apply/funds/models/submissions.py @@ -225,7 +225,7 @@ class AddTransitions(models.base.ModelBase): raise PermissionDenied(f'You do not have permission to "{ action }"') transition(by=user, request=request, **kwargs) - self.save() + self.save(update_fields=['status']) self.progress_stage_when_possible(user, request) @@ -474,7 +474,11 @@ class ApplicationSubmission( f.save(folder) self.form_data[field.id] = file - def save(self, *args, **kwargs): + def save(self, *args, update_fields=list(), **kwargs): + if update_fields and 'form_data' not in update_fields: + # We don't want to use this approach if the user is sending data + return super().save(*args, update_fields=update_fields, **kwargs) + if self.is_draft: raise ValueError('Cannot save with draft data') -- GitLab