From 527ffb982a3431bc7bc20ca9bb49f0dea6f7e0c4 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Thu, 27 Apr 2017 00:21:26 +0200 Subject: [PATCH] Add media copy command --- .../commands/teleforma-copy-conferences.py | 41 +++++++++++++++++++ .../commands/teleforma-reset-all-passwords.py | 1 - teleforma/views/core.py | 2 +- teleforma/views/crfpa.py | 1 + 4 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 teleforma/management/commands/teleforma-copy-conferences.py 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): -- 2.39.5