diff --git a/opentech/apply/funds/models/submissions.py b/opentech/apply/funds/models/submissions.py index 93092d92110b0c9edf469a631209fccf53882d32..4bf6246b7df78d5de57d44de134a296d54ca77b1 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')