From: Guillaume Pellerin Date: Wed, 26 Apr 2017 22:21:26 +0000 (+0200) Subject: Add media copy command X-Git-Tag: 1.1~23 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=527ffb982a3431bc7bc20ca9bb49f0dea6f7e0c4;p=teleforma.git Add media copy command --- diff --git a/teleforma/management/commands/teleforma-copy-conferences.py b/teleforma/management/commands/teleforma-copy-conferences.py new file mode 100644 index 00000000..02a857fb --- /dev/null +++ b/teleforma/management/commands/teleforma-copy-conferences.py @@ -0,0 +1,41 @@ +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 * +import logging +import os +import timeside + + +class Logger: + """A logging object""" + + def __init__(self, file): + self.logger = logging.getLogger('myapp') + self.hdlr = logging.FileHandler(file) + self.formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') + self.hdlr.setFormatter(self.formatter) + self.logger.addHandler(self.hdlr) + self.logger.setLevel(logging.INFO) + + +class Command(BaseCommand): + help = "Copy conferences from one period to another" + courses = ['OB','PAC','PC','PP','DA','Affaires','DIE','Civil','Penal','Social'] + period_1_name = 'Semestrielle' + period_2_name = 'Pré-Estivale' + + def handle(self, *args, **options): + period_1 = Period.objects.get(name=self.period_1_name) + period_2 = Period.objects.get(name=self.period_2_name) + for course in self.courses: + medias = Media.objects.filter(period=period_1, course=course) + for media in medias: + media.pk = None + media.save() + media.period = period_2 + media.save() diff --git a/teleforma/management/commands/teleforma-reset-all-passwords.py b/teleforma/management/commands/teleforma-reset-all-passwords.py index c37ed4d3..147e3264 100644 --- a/teleforma/management/commands/teleforma-reset-all-passwords.py +++ b/teleforma/management/commands/teleforma-reset-all-passwords.py @@ -29,4 +29,3 @@ class Command(BaseCommand): users = User.objects.filter(is_staff=True) for user in users: self.reset_password_email(user.email) - diff --git a/teleforma/views/core.py b/teleforma/views/core.py index d7475297..7bcd9618 100644 --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@ -174,7 +174,7 @@ def get_periods(user): for period in periods: for child in period.children.all(): periods.append(child) - + if user.is_superuser or user.is_staff: periods = Period.objects.all() diff --git a/teleforma/views/crfpa.py b/teleforma/views/crfpa.py index 9e78c0e3..feb7ebf7 100644 --- a/teleforma/views/crfpa.py +++ b/teleforma/views/crfpa.py @@ -392,6 +392,7 @@ class AnnalsIEJView(AnnalsView): self.iej = IEJ.objects.filter(id=self.args[0]) return self.get_docs(iej=self.iej) + class AnnalsCourseView(AnnalsView): def get_queryset(self):