diff --git a/opentech/apply/funds/management/commands/export_submissions_csv.py b/opentech/apply/funds/management/commands/export_submissions_csv.py new file mode 100644 index 0000000000000000000000000000000000000000..83c667f7913d5abdba242a9cea6bb5b2447c48b6 --- /dev/null +++ b/opentech/apply/funds/management/commands/export_submissions_csv.py @@ -0,0 +1,26 @@ +import csv + +from django.core.management.base import BaseCommand + +from opentech.apply.funds.models import ApplicationSubmission + + +class Command(BaseCommand): + help = "Export submission stats to a csv file." + + def handle(self, *args, **options): + with open('export_submissions.csv', 'w', newline='') as csvfile: + writer = csv.writer(csvfile, quoting=csv.QUOTE_ALL) + writer.writerow(['Submission title', 'Submission author', 'Submission e-mail', 'Submission value', 'Submission duration', 'Submission stage', 'Submission phase', 'Submission screening', 'Submission date', 'Round/Lab/Fellowship']) + for submission in ApplicationSubmission.objects.all(): + if submission.round: + submission_type = submission.round + else: + submission_type = submission.page + + try: + value = submission.value + except KeyError: + value = 0 + + writer.writerow([submission.title, submission.full_name, submission.email, value, submission.duration, submission.stage, submission.phase, submission.screening_status, submission.submit_time.strftime('%Y-%m-%d'), submission_type])