From 10d8221c4a9e5e4063cf2e0c295cadf9d9b23d70 Mon Sep 17 00:00:00 2001 From: "mohamed.alaoui" Date: Wed, 12 Feb 2025 12:21:20 +0100 Subject: [PATCH] dev-0888 --- .../migrations/0021_auto_20250211_1622.py | 23 +++++++++++++++++++ teleforma/migrations/0022_seminar_fif_pl.py | 18 +++++++++++++++ teleforma/models/core.py | 1 + teleforma/models/pro.py | 10 +++++++- teleforma/views/pro.py | 3 +++ 5 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 teleforma/migrations/0021_auto_20250211_1622.py create mode 100644 teleforma/migrations/0022_seminar_fif_pl.py diff --git a/teleforma/migrations/0021_auto_20250211_1622.py b/teleforma/migrations/0021_auto_20250211_1622.py new file mode 100644 index 00000000..4f6c9843 --- /dev/null +++ b/teleforma/migrations/0021_auto_20250211_1622.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.3 on 2025-02-11 16:22 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('teleforma', '0020_alter_mediaitemmarker_title'), + ] + + operations = [ + migrations.AddField( + model_name='conference', + name='new', + field=models.BooleanField(default=False, verbose_name='Nouveau'), + ), + migrations.AddField( + model_name='seminar', + name='new', + field=models.BooleanField(default=False, verbose_name='Nouveau'), + ), + ] diff --git a/teleforma/migrations/0022_seminar_fif_pl.py b/teleforma/migrations/0022_seminar_fif_pl.py new file mode 100644 index 00000000..ebeef098 --- /dev/null +++ b/teleforma/migrations/0022_seminar_fif_pl.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.3 on 2025-02-12 09:44 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('teleforma', '0021_auto_20250211_1622'), + ] + + operations = [ + migrations.AddField( + model_name='seminar', + name='fif_pl', + field=models.BooleanField(default=False, verbose_name='Eligible FIF-PL'), + ), + ] diff --git a/teleforma/models/core.py b/teleforma/models/core.py index 0bc32f84..dcca11f0 100755 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -910,6 +910,7 @@ class WebclassMixin(Model): class Conference(Displayable, WebclassMixin, ProductCodeMixin, SuggestionsMixin): + new = models.BooleanField(_('Nouveau'), default=False) private = models.BooleanField(_('private'), help_text="Hide in shop", default=False) upcoming = models.BooleanField("A venir (shop)", default=False) sub_title = models.CharField(_('sub title'), max_length=1024, blank=True) diff --git a/teleforma/models/pro.py b/teleforma/models/pro.py index 5aabb404..187a1f5f 100644 --- a/teleforma/models/pro.py +++ b/teleforma/models/pro.py @@ -72,7 +72,8 @@ class Seminar(ClonableMixin, Displayable, ProductCodeMixin, SuggestionsMixin): # title, description, keywords, dates and status are given by Displayable # status values : 1: draft, 2: published - + fif_pl = models.BooleanField(_('Eligible FIF-PL'), default=False) + new = models.BooleanField(_('Nouveau'), default=False) private = models.BooleanField(_('private'), default=False) upcoming = models.BooleanField("A venir (shop)", default=False) type = models.ForeignKey(SeminarType, related_name='seminar', verbose_name=_('type'), @@ -198,6 +199,13 @@ class Seminar(ClonableMixin, Displayable, ProductCodeMixin, SuggestionsMixin): """ number of top parts """ return self.parts.count() or 1 + + @property + def hours(self): + if self.duration: + return self.duration.as_seconds() // 3600 + return 0 + def get_parts(self, user): """ get parts info """ parts = [] diff --git a/teleforma/views/pro.py b/teleforma/views/pro.py index 65f62098..28950e2f 100644 --- a/teleforma/views/pro.py +++ b/teleforma/views/pro.py @@ -75,6 +75,8 @@ from teleforma.models.pro import Answer, Question, QuizValidation, Seminar, Semi from teleforma.forms import AnswerForm from teleforma.views.core import DocumentDownloadView, DocumentReadView, MediaView +from django.utils.translation import activate + REVISION_DATE_FILTER = datetime.datetime(2015, 2, 2) logger = logging.getLogger('teleforma') @@ -786,6 +788,7 @@ class PDFTemplateResponseMixin(TemplateResponseMixin): return '%s?%s' % (self.request.path, querydict.urlencode()) def get_pdf_response(self, context, **response_kwargs): + activate('fr') return render_to_pdf( request=self.request, template=self.get_pdf_template_names(), -- 2.39.5