From: Guillaume Pellerin Date: Wed, 29 Jun 2022 21:13:12 +0000 (+0200) Subject: use date_publish when possible, add option to conf publish command X-Git-Tag: 2.7.1~23 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=6f9fe4bdb283a5d773497628088d5405821251f8;p=teleforma.git use date_publish when possible, add option to conf publish command --- diff --git a/teleforma/management/commands/teleforma-publish-notify-conferences.py b/teleforma/management/commands/teleforma-publish-notify-conferences.py index ca38f223..7b6a7ccd 100644 --- a/teleforma/management/commands/teleforma-publish-notify-conferences.py +++ b/teleforma/management/commands/teleforma-publish-notify-conferences.py @@ -34,25 +34,43 @@ class Command(BaseCommand): conference.date_publish is equal or greater \ than current date """ - message = "Nouvelle conférence" + def add_arguments(self, parser): + parser.add_argument('--logfile', type=str, required=True, + help='log file to use') + + parser.add_argument('--period', type=str, required=True, + help='period to process') def handle(self, *args, **options): - conferences = Conference.objects.filter(notified=False, - date_publish__lte=datetime.datetime.now()) + logpath = options['logfile'] + logfile = Logger(logpath) + + period_name = options['period'] + period + Period.objects.get(name=period_name) + + conferences = Conference.objects.filter( + period=period, + notified=False, + date_publish__lte=datetime.datetime.now() + ) for conference in conferences: conference.status = 3 conference.save() + logger.logger.info("Conference published: " + conference.public_id) + + media = conference.media.filter(mime_type__in='video')[0] + url = reverse('teleforma-media-detail', args=[conference.period.id, media.id]) + message = "Nouvelle conférence publiée : " + str(conference) students = Student.objects.filter(period=conference.period) for student in students: courses = get_courses(student.user, period=conference.period) for course in courses: if conference.course == course['course'] and \ - conference.course_type in course['types']: - media = conference.media.filter(mime_type__in='video')[0] - url = reverse('teleforma-media-detail', args=[conference.period.id, media.id]) - notify(student.user, self.message, url) + conference.course_type in course['types']: + notify(student.user, message, url) + logger.logger.info("Student notified: " + student.user.username) conference.notified = True conference.save() \ No newline at end of file diff --git a/teleforma/models/core.py b/teleforma/models/core.py index 5330be1e..cb654fd4 100755 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -410,16 +410,21 @@ class Conference(models.Model): return slug def __str__(self): + if self.date_publish: + date = self.date_publish + else: + date = self.date_begin + if self.professor: list = [self.course.title, self.course_type.name, self.session, self.professor.user.first_name, self.professor.user.last_name, - str(self.date_begin)] + str(date)] else: list = [self.course.title, self.course_type.name, self.session, - str(self.date_begin)] + str(date)] return ' - '.join(list) def save(self, *args, **kwargs):