]> git.parisson.com Git - teleforma.git/commitdiff
Add update period command
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Tue, 4 Jul 2017 21:19:11 +0000 (23:19 +0200)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Tue, 4 Jul 2017 21:19:11 +0000 (23:19 +0200)
teleforma/management/commands/teleforma-change-period-of-content.py [new file with mode: 0644]

diff --git a/teleforma/management/commands/teleforma-change-period-of-content.py b/teleforma/management/commands/teleforma-change-period-of-content.py
new file mode 100644 (file)
index 0000000..278be58
--- /dev/null
@@ -0,0 +1,32 @@
+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 telemeta.models import *
+from telemeta.util.unaccent import unaccent
+from teleforma.models import *
+
+
+class Command(BaseCommand):
+    help = "Update period content of a year"
+    args = "period_id_from period_id_to year"
+    admin_email = 'webmaster@parisson.com'
+
+    def handle(self, *args, **options):
+        period_id_from = args[0]
+        period_id_to = args[1]
+        year = args[2]
+        period_from = Period.objects.get(id=period_from_id)
+        period_to = Period.objects.get(id=period_to_id)
+
+        qss = []
+        qss.append(Conference.objects.filter(period=period_from, date_added__year=year))
+        qss.append(Document.objects.filter(period=period_from, date_added__year=year))
+        qss.appedn(DocumentSimple.objects.filter(period=period_from, date_added__year=year))
+        qqss.append(Media.objects.filter(period=period_from, date_added__year=year))
+
+        for qs in qss:
+            for obj in qs:
+                obj.period = period_to
+                obj.save()