]> git.parisson.com Git - teleforma.git/commitdiff
add script delete command
authorGuillaume Pellerin <guillaume.pellerin@free.fr>
Fri, 12 Jul 2024 08:58:34 +0000 (10:58 +0200)
committerGuillaume Pellerin <guillaume.pellerin@free.fr>
Fri, 12 Jul 2024 08:58:34 +0000 (10:58 +0200)
teleforma/management/commands/teleforma-delete-period-scripts.py [new file with mode: 0644]

diff --git a/teleforma/management/commands/teleforma-delete-period-scripts.py b/teleforma/management/commands/teleforma-delete-period-scripts.py
new file mode 100644 (file)
index 0000000..d1086a9
--- /dev/null
@@ -0,0 +1,25 @@
+import os
+from optparse import make_option
+from django.conf import settings
+from django.core.management.base import BaseCommand, CommandError
+from django.contrib.auth.models import User
+from django.template.defaultfilters import slugify
+from teleforma.exam.models import Script
+
+
+class Command(BaseCommand):
+    help = "Delete all exam scripts for a given period"
+    args = "period_name"
+    admin_email = 'webmaster@parisson.com'
+
+    def add_arguments(self, parser):
+        parser.add_argument('args', nargs='*')
+
+    def handle(self, *args, **options):
+        period_name = args[0]
+        period = Period.objects.get(name=period_name)
+        scripts = Script.objects.filter(period=period)
+        for script in scripts:
+            os.remove(script.file.path)
+            script.delete()
+        
\ No newline at end of file