From b5deb3bc923bc0a16bab82dd568aa7a2e69c9ed9 Mon Sep 17 00:00:00 2001
From: Vaibhav Mule <vaibhavmule135@gmail.com>
Date: Wed, 13 May 2020 17:33:48 +0530
Subject: [PATCH] add draft method for draft pages

---
 hypha/apply/funds/models/applications.py | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/hypha/apply/funds/models/applications.py b/hypha/apply/funds/models/applications.py
index 2e35e1462..3d0be44a3 100644
--- a/hypha/apply/funds/models/applications.py
+++ b/hypha/apply/funds/models/applications.py
@@ -442,6 +442,24 @@ class LabBase(EmailForm, WorkflowStreamForm, SubmittableStreamForm):  # type: ig
     def open_round(self):
         return self.live
 
+    def serve(self, request, *args, **kwargs):
+        if request.method == 'POST':
+            form = self.get_form(request.POST, request.FILES, page=self, user=request.user)
+            draft = request.POST.get('draft', None)
+            if form.is_valid():
+                form_submission = self.process_form_submission(form, draft=draft)
+                return self.render_landing_page(request, form_submission, *args, **kwargs)
+        else:
+            form = self.get_form(page=self, user=request.user)
+
+        context = self.get_context(request)
+        context['form'] = form
+        return TemplateResponse(
+            request,
+            self.get_template(request),
+            context
+        )
+
 
 class RoundsAndLabsQueryset(PageQuerySet):
     def new(self):
-- 
GitLab