Skip to content
Snippets Groups Projects
Commit ee4fd8c6 authored by Vaibhav Mule's avatar Vaibhav Mule Committed by Fredrik Jonsson
Browse files

able to save draft applications

parent a4103835
No related branches found
No related tags found
No related merge requests found
...@@ -356,10 +356,11 @@ class RoundBase(WorkflowStreamForm, SubmittableStreamForm): # type: ignore ...@@ -356,10 +356,11 @@ class RoundBase(WorkflowStreamForm, SubmittableStreamForm): # type: ignore
# Overriding serve method to pass submission id to get_form method # Overriding serve method to pass submission id to get_form method
copy_open_submission = request.GET.get('open_call_submission') copy_open_submission = request.GET.get('open_call_submission')
if request.method == 'POST': if request.method == 'POST':
draft = bool(request.POST.get('draft'))
form = self.get_form(request.POST, request.FILES, page=self, user=request.user) form = self.get_form(request.POST, request.FILES, page=self, user=request.user)
if form.is_valid(): if form.is_valid():
form_submission = self.process_form_submission(form) form_submission = self.process_form_submission(form, draft)
return self.render_landing_page(request, form_submission, *args, **kwargs) return self.render_landing_page(request, form_submission, *args, **kwargs)
else: else:
form = self.get_form(page=self, user=request.user, submission_id=copy_open_submission) form = self.get_form(page=self, user=request.user, submission_id=copy_open_submission)
......
...@@ -65,14 +65,22 @@ class SubmittableStreamForm(AbstractStreamForm): ...@@ -65,14 +65,22 @@ class SubmittableStreamForm(AbstractStreamForm):
def get_submission_class(self): def get_submission_class(self):
return self.submission_class return self.submission_class
def process_form_submission(self, form): def process_form_submission(self, form, draft):
if not form.user.is_authenticated: if not form.user.is_authenticated:
form.user = None form.user = None
return self.get_submission_class().objects.create( if draft:
form_data=form.cleaned_data, return self.get_submission_class().objects.create(
form_fields=self.get_defined_fields(), form_data=form.cleaned_data,
**self.get_submit_meta_data(user=form.user), form_fields=self.get_defined_fields(),
) **self.get_submit_meta_data(user=form.user),
status='draft',
)
else:
return self.get_submission_class().objects.create(
form_data=form.cleaned_data,
form_fields=self.get_defined_fields(),
**self.get_submit_meta_data(user=form.user),
)
def get_submit_meta_data(self, **kwargs): def get_submit_meta_data(self, **kwargs):
return kwargs return kwargs
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
{% endif %} {% endif %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}
<button class="link link--button-tertiary" type="submit" disabled>Save as a draft</button> <input class="link link--button-tertiary" type="submit" value="Save Draft" name="draft" />
<button class="link link--button-secondary" type="submit" disabled>Submit for review</button> <button class="link link--button-secondary" type="submit" disabled>Submit for review</button>
</form> </form>
<p class="wrapper--error message-no-js js-hidden">You must have Javascript enabled to use this form.</p> <p class="wrapper--error message-no-js js-hidden">You must have Javascript enabled to use this form.</p>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment