From a67849cd9c855c60607b4552b9d392de1adc7b1b Mon Sep 17 00:00:00 2001
From: sandeepsajan0 <sandeepsajan0@gmail.com>
Date: Wed, 25 May 2022 09:18:36 +0530
Subject: [PATCH] Update submit time on applicant submit a submission

---
 ..._alter_applicationsubmission_submit_time.py | 18 ++++++++++++++++++
 hypha/apply/funds/models/submissions.py        |  5 +++++
 hypha/apply/funds/views.py                     |  3 +++
 3 files changed, 26 insertions(+)
 create mode 100644 hypha/apply/funds/migrations/0097_alter_applicationsubmission_submit_time.py

diff --git a/hypha/apply/funds/migrations/0097_alter_applicationsubmission_submit_time.py b/hypha/apply/funds/migrations/0097_alter_applicationsubmission_submit_time.py
new file mode 100644
index 000000000..458c13d7c
--- /dev/null
+++ b/hypha/apply/funds/migrations/0097_alter_applicationsubmission_submit_time.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.2.13 on 2022-05-24 13:20
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('funds', '0096_only_active_users'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='applicationsubmission',
+            name='submit_time',
+            field=models.DateTimeField(verbose_name='submit time'),
+        ),
+    ]
diff --git a/hypha/apply/funds/models/submissions.py b/hypha/apply/funds/models/submissions.py
index 596841360..4a5165099 100644
--- a/hypha/apply/funds/models/submissions.py
+++ b/hypha/apply/funds/models/submissions.py
@@ -27,7 +27,9 @@ from django.db.models.fields.json import KeyTextTransform
 from django.db.models.functions import Cast, Coalesce
 from django.dispatch import receiver
 from django.urls import reverse
+from django.utils import timezone
 from django.utils.text import slugify
+from django.utils.translation import gettext_lazy as _
 from django_fsm import RETURN_VALUE, FSMField, can_proceed, transition
 from django_fsm.signals import post_transition
 from wagtail.contrib.forms.models import AbstractFormSubmission
@@ -480,6 +482,8 @@ class ApplicationSubmission(
         blank=True
     )
 
+    submit_time = models.DateTimeField(verbose_name=_('submit time'), auto_now_add=False)
+
     is_draft = False
 
     live_revision = models.OneToOneField(
@@ -667,6 +671,7 @@ class ApplicationSubmission(
         creating = not self.id
 
         if creating:
+            self.submit_time = timezone.now()
             # We are creating the object default to first stage
             self.workflow_name = self.get_from_parent('workflow_name')
             # Copy extra relevant information to the child
diff --git a/hypha/apply/funds/views.py b/hypha/apply/funds/views.py
index 3f6b24696..f0a229af5 100644
--- a/hypha/apply/funds/views.py
+++ b/hypha/apply/funds/views.py
@@ -1067,6 +1067,9 @@ class ApplicantSubmissionEditView(BaseSubmissionEditView):
                 notify=not (revision or submitting_proposal) or self.object.status == DRAFT_STATE,  # Use the other notification
             )
 
+        self.object.submit_time = timezone.now()
+        self.object.save()
+
         # Required for django-file-form: delete temporary files for the new files
         # uploaded while edit.
         form.delete_temporary_files()
-- 
GitLab