X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/d0f0e1412cc42d366b234e798dfb68feed05d751..d555d988764995ea1f9f5ece46f453a66f09b334:/src/wtem/management/commands/wtem_generate_keys.py diff --git a/src/wtem/management/commands/wtem_generate_keys.py b/src/wtem/management/commands/wtem_generate_keys.py new file mode 100644 index 0000000..f49c8b7 --- /dev/null +++ b/src/wtem/management/commands/wtem_generate_keys.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +from django.core.management.base import BaseCommand + +from contact.models import Contact +from wtem.models import Submission + + +class Command(BaseCommand): + + def handle(self, *ids, **options): + new = 0 + skipped = 0 + + query = Contact.objects.filter(form_tag='wtem').order_by('-created_at') + if ids: + query = query.filter(pk__in=ids) + + for wtem_contact in query: + for student in wtem_contact.body['student']: + if not Submission.objects.filter(email=student['email']).exists(): + args = dict() + for attr in ['first_name', 'last_name', 'email']: + args[attr] = student[attr] + args['contact'] = wtem_contact + Submission.create(**args) + new += 1 + else: + self.stdout.write('skipping ' + student['email'] + ': already exists.') + skipped += 1 + + self.stdout.write('New: ' + str(new) + ', skipped: ' + str(skipped))