From 60fcc7efa4225d05a6b912d39c2a952bf06966db Mon Sep 17 00:00:00 2001 From: Jorran de Wit <jorrandewit@outlook.com> Date: Mon, 26 Jun 2017 21:52:16 +0200 Subject: [PATCH] Add Acceptance date to Submissions --- .../0047_submission_acceptance_date.py | 34 +++++++++++++++++++ submissions/models.py | 1 + .../_submission_summary_short.html | 6 ++++ submissions/views.py | 1 + 4 files changed, 42 insertions(+) create mode 100644 submissions/migrations/0047_submission_acceptance_date.py diff --git a/submissions/migrations/0047_submission_acceptance_date.py b/submissions/migrations/0047_submission_acceptance_date.py new file mode 100644 index 000000000..ec64c3acd --- /dev/null +++ b/submissions/migrations/0047_submission_acceptance_date.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.3 on 2017-06-26 19:38 +from __future__ import unicode_literals + +from django.db import migrations, models + + +def do_nothing(apps, schema_editor): + pass + + +def auto_fill_acceptance_dates(apps, schema_editor): + Publication = apps.get_model('journals', 'Publication') + for pub in Publication.objects.all(): + submission = pub.accepted_submission + submission.acceptance_date = pub.acceptance_date + submission.save() + print("Auto-filled Acceptance dates for accepted Submissions") + + +class Migration(migrations.Migration): + + dependencies = [ + ('submissions', '0046_auto_20170623_0806'), + ] + + operations = [ + migrations.AddField( + model_name='submission', + name='acceptance_date', + field=models.DateField(blank=True, null=True, verbose_name='acceptance date'), + ), + migrations.RunPython(auto_fill_acceptance_dates, do_nothing), + ] diff --git a/submissions/models.py b/submissions/models.py index 17a364344..6aa62b532 100644 --- a/submissions/models.py +++ b/submissions/models.py @@ -78,6 +78,7 @@ class Submission(ArxivCallable, models.Model): # Metadata metadata = JSONField(default={}, blank=True, null=True) submission_date = models.DateField(verbose_name='submission date', default=datetime.date.today) + acceptance_date = models.DateField(verbose_name='acceptance date', null=True, blank=True) latest_activity = models.DateTimeField(auto_now=True) objects = SubmissionManager() diff --git a/submissions/templates/submissions/_submission_summary_short.html b/submissions/templates/submissions/_submission_summary_short.html index ca045cbf8..bf6915e89 100644 --- a/submissions/templates/submissions/_submission_summary_short.html +++ b/submissions/templates/submissions/_submission_summary_short.html @@ -24,6 +24,12 @@ <a href="{{submission.arxiv_link}}" target="_blank">{{submission.arxiv_link}}</a> </td> </tr> + {% if submission.acceptance_date %} + <tr> + <td>Date accepted:</td> + <td>{{submission.acceptance_date}}</td> + </tr> + {% endif %} <tr> <td>Date submitted:</td> <td>{{submission.submission_date}}</td> diff --git a/submissions/views.py b/submissions/views.py index 6d5cdc5d5..071e117d8 100644 --- a/submissions/views.py +++ b/submissions/views.py @@ -1232,6 +1232,7 @@ def fix_College_decision(request, rec_id): if recommendation.recommendation in [1, 2, 3]: # Publish as Tier I, II or III recommendation.submission.status = 'accepted' + recommendation.submission.acceptance_date = datetime.date.today() # Create a ProductionStream object prodstream = ProductionStream(submission=recommendation.submission) prodstream.save() -- GitLab