From 9afb4bf98dc2dfb89ae9106f95fc887ea48fc503 Mon Sep 17 00:00:00 2001 From: yomguy Date: Thu, 3 Jan 2013 01:59:28 +0100 Subject: [PATCH] fix progress workflow & messages --- teleforma/context_processors.py | 13 -- teleforma/locale/fr/LC_MESSAGES/django.mo | Bin 11760 -> 11808 bytes teleforma/locale/fr/LC_MESSAGES/django.po | 124 +++++++++++-------- teleforma/static/teleforma/css/teleforma.css | 19 ++- teleforma/views/pro.py | 15 ++- 5 files changed, 98 insertions(+), 73 deletions(-) diff --git a/teleforma/context_processors.py b/teleforma/context_processors.py index b632c0f1..d54680de 100644 --- a/teleforma/context_processors.py +++ b/teleforma/context_processors.py @@ -75,19 +75,6 @@ def seminar_validated(user, seminar): return not False in validated return False -def seminar_terminated(user, seminar): - validated = [] - questions = seminar.question.all() - if questions: - for question in questions: - answers = Answer.objects.filter(question=question, user=user, status=3) - if answers: - validated.append(True) - else: - validated.append(False) - return not False in validated - return False - def all_seminars(request, progress_order=False): seminars = [] diff --git a/teleforma/locale/fr/LC_MESSAGES/django.mo b/teleforma/locale/fr/LC_MESSAGES/django.mo index 6a832fc15e7ce65413a5c5794813e62fc82be0ee..c68b1c8af15ca8829f80d3f6e1e0c9461b2a6a09 100644 GIT binary patch delta 5254 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 DOlb5% diff --git a/teleforma/locale/fr/LC_MESSAGES/django.po b/teleforma/locale/fr/LC_MESSAGES/django.po index 081bceae..e3d23636 100644 --- a/teleforma/locale/fr/LC_MESSAGES/django.po +++ b/teleforma/locale/fr/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-01-02 23:54+0100\n" +"POT-Creation-Date: 2013-01-03 01:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Guillaume Pellerin \n" "Language-Team: LANGUAGE \n" @@ -385,8 +385,8 @@ msgid "form" msgstr "formulaire" #: models/pro.py:150 templates/teleforma/answer_form.html:77 -#: templates/teleforma/seminar_detail.html:159 -#: templates/teleforma/seminar_media_audio.html:56 +#: templates/teleforma/seminar_detail.html:158 +#: templates/teleforma/seminar_media_audio.html:70 #: templates/teleforma/seminar_media_video.html:104 #: templates/teleforma/testimonials.html:64 #: templates/teleforma/inc/answer_list.html:21 @@ -449,7 +449,7 @@ msgid "Testimonial template" msgstr "Modèle d'attestation" #: models/pro.py:232 templates/teleforma/inc/testimonial_list.html:7 -#: views/pro.py:484 +#: templates/teleforma/inc/testimonial_step.html:7 views/pro.py:487 msgid "Testimonial" msgstr "Attestation" @@ -747,8 +747,25 @@ msgid " reject" msgstr " rejeter" #: templates/teleforma/answer_form.html:46 -msgid "Answer to the following question" -msgstr "Réalisez la consultation fictive suivante" +#: templates/teleforma/evaluation_form.html:10 +#: templates/teleforma/seminar_detail.html:77 +#: templates/teleforma/seminar_detail.html:86 +#: templates/teleforma/seminar_detail.html:96 +#: templates/teleforma/seminar_detail.html:105 +#: templates/teleforma/seminar_detail.html:116 +#: templates/teleforma/seminar_detail.html:125 +#: templates/teleforma/seminar_detail.html:135 +#: templates/teleforma/inc/steps.html:6 templates/teleforma/inc/steps.html:13 +#: templates/teleforma/inc/steps.html:21 templates/teleforma/inc/steps.html:28 +#: templates/teleforma/inc/steps.html:37 templates/teleforma/inc/steps.html:44 +#: templates/teleforma/inc/steps.html:52 +msgid "Step" +msgstr "Étape" + +#: templates/teleforma/answer_form.html:46 +#: templates/teleforma/seminar_detail.html:105 +msgid "answer to this question" +msgstr "réaliser cette consultation fictive" #: templates/teleforma/answer_form.html:46 msgid "characters" @@ -767,18 +784,21 @@ msgid "Submit it" msgstr "Soumettre" #: templates/teleforma/answer_form.html:70 -#: templates/teleforma/seminar_detail.html:153 +#: templates/teleforma/seminar_detail.html:152 #: templates/teleforma/seminars.html:130 msgid "Progressions" msgstr "Progressions" #: templates/teleforma/answer_form.html:74 -#: templates/teleforma/seminar_detail.html:156 +#: templates/teleforma/seminar_detail.html:155 #: templates/teleforma/seminars.html:133 msgid "General" msgstr "Général" #: templates/teleforma/answer_form.html:94 +#: templates/teleforma/evaluation_form.html:22 +#: templates/teleforma/seminar_media_audio.html:102 +#: templates/teleforma/seminar_media_video.html:136 msgid "Steps" msgstr "Étapes" @@ -841,7 +861,7 @@ msgstr "Description" #: templates/teleforma/course.html:19 templates/teleforma/course.html.py:35 #: templates/teleforma/course.html:52 #: templates/teleforma/course_media.html:142 -#: templates/teleforma/seminar_media_audio.html:70 +#: templates/teleforma/seminar_media_audio.html:84 #: templates/teleforma/seminar_media_video.html:118 #: templates/telemeta/profile_detail.html:84 msgid "Date added" @@ -870,7 +890,7 @@ msgstr "Session" #: templates/teleforma/course_conference.html:72 #: templates/teleforma/course_conference_audio.html:67 #: templates/teleforma/course_media.html:133 -#: templates/teleforma/seminar_media_audio.html:60 +#: templates/teleforma/seminar_media_audio.html:74 #: templates/teleforma/seminar_media_video.html:108 #: templates/teleforma/inc/conference_list.html:27 #: templates/teleforma/inc/media_list.html:39 @@ -981,13 +1001,13 @@ msgid "Download" msgstr "Télécharger" #: templates/teleforma/course_media.html:141 -#: templates/teleforma/seminar_media_audio.html:66 +#: templates/teleforma/seminar_media_audio.html:80 #: templates/teleforma/seminar_media_video.html:114 msgid "Mime type" msgstr "Type mime" #: templates/teleforma/course_media.html:143 -#: templates/teleforma/seminar_media_audio.html:71 +#: templates/teleforma/seminar_media_audio.html:85 #: templates/teleforma/seminar_media_video.html:119 msgid "Date modified" msgstr "Date de modification" @@ -1013,75 +1033,58 @@ msgid "Status" msgstr "Status" #: templates/teleforma/evaluation_form.html:10 -msgid "Step 6 : evaluate the seminar" -msgstr "Étape 6 : évaluer ce séminaire" +#: templates/teleforma/seminar_detail.html:125 +msgid "evaluate the seminar" +msgstr "évaluer ce séminaire" #: templates/teleforma/help.html:11 templates/telemeta/base.html:115 #: templates/telemeta/base.html.py:127 msgid "Help" msgstr "Aide" -#: templates/teleforma/seminar_detail.html:61 +#: templates/teleforma/seminar_detail.html:60 msgid "Informations" msgstr "Informations" -#: templates/teleforma/seminar_detail.html:78 -#: templates/teleforma/seminar_detail.html:87 -#: templates/teleforma/seminar_detail.html:97 -#: templates/teleforma/seminar_detail.html:106 -#: templates/teleforma/seminar_detail.html:117 -#: templates/teleforma/seminar_detail.html:126 -#: templates/teleforma/seminar_detail.html:136 -msgid "Step" -msgstr "Étape" - -#: templates/teleforma/seminar_detail.html:78 -#: templates/teleforma/seminar_detail.html:97 -#: templates/teleforma/seminar_detail.html:117 +#: templates/teleforma/seminar_detail.html:77 +#: templates/teleforma/seminar_detail.html:96 +#: templates/teleforma/seminar_detail.html:116 msgid "read these documents" msgstr "lire ces documents" -#: templates/teleforma/seminar_detail.html:78 -#: templates/teleforma/seminar_detail.html:97 -#: templates/teleforma/seminar_detail.html:117 +#: templates/teleforma/seminar_detail.html:77 +#: templates/teleforma/seminar_detail.html:96 +#: templates/teleforma/seminar_detail.html:116 msgid "read this document" msgstr "lire ce document" -#: templates/teleforma/seminar_detail.html:87 +#: templates/teleforma/seminar_detail.html:86 msgid "view these conferences" msgstr "visionner ces conférences" -#: templates/teleforma/seminar_detail.html:87 +#: templates/teleforma/seminar_detail.html:86 msgid "view this conference" msgstr "visionner cette conférence" -#: templates/teleforma/seminar_detail.html:106 +#: templates/teleforma/seminar_detail.html:105 msgid "answer to these questions" msgstr "réaliser ces consultations fictives" -#: templates/teleforma/seminar_detail.html:106 -msgid "answer to this question" -msgstr "réaliser cette consultation fictive" - -#: templates/teleforma/seminar_detail.html:126 -msgid "evaluate the seminar" -msgstr "évaluer ce séminaire" - -#: templates/teleforma/seminar_detail.html:136 +#: templates/teleforma/seminar_detail.html:135 msgid "download your testimonial" msgstr "obtenez votre attestation" -#: templates/teleforma/seminar_detail.html:171 +#: templates/teleforma/seminar_detail.html:170 msgid "Index" msgstr "Index" -#: templates/teleforma/seminar_media_audio.html:60 +#: templates/teleforma/seminar_media_audio.html:74 #: templates/teleforma/seminar_media_video.html:108 #: templates/teleforma/inc/media_package_list.html:34 msgid "Professors" msgstr "Professeurs" -#: templates/teleforma/seminar_media_audio.html:72 +#: templates/teleforma/seminar_media_audio.html:86 #: templates/teleforma/seminar_media_video.html:120 msgid "Media package ID" msgstr "ID Media pakage" @@ -1167,6 +1170,7 @@ msgstr "Conférences en direct" #: templates/teleforma/inc/conference_list.html:18 #: templates/teleforma/inc/document_list.html:20 #: templates/teleforma/inc/document_simple_list.html:8 +#: templates/teleforma/inc/document_step.html:8 msgid "View" msgstr "Voir" @@ -1175,6 +1179,8 @@ msgstr "Voir" #: templates/teleforma/inc/media_list.html:29 #: templates/teleforma/inc/media_package_list.html:18 #: templates/teleforma/inc/media_package_list.html:24 +#: templates/teleforma/inc/media_step.html:18 +#: templates/teleforma/inc/media_step.html:24 msgid "Click here" msgstr "Cliquez ici" @@ -1192,6 +1198,7 @@ msgstr "Conférences en différé" #: templates/teleforma/inc/media_list.html:17 #: templates/teleforma/inc/media_package_list.html:12 +#: templates/teleforma/inc/media_step.html:12 msgid "Play" msgstr "Lire" @@ -1208,14 +1215,17 @@ msgid "validated on" msgstr "validée le" #: templates/teleforma/inc/question_list.html:21 +#: templates/teleforma/inc/question_step.html:12 msgid "Waiting for validation" msgstr "Attend une validation" #: templates/teleforma/inc/question_list.html:23 +#: templates/teleforma/inc/question_step.html:14 msgid "Saved" msgstr "enregistrée le" #: templates/teleforma/inc/question_list.html:25 +#: templates/teleforma/inc/question_step.html:16 msgid "Validated" msgstr "validé" @@ -1482,7 +1492,7 @@ msgstr "" "Merci de vous connecter ou bien contactez l'administateur du site pour " "obtenir un accès privé." -#: views/pro.py:154 +#: views/pro.py:115 msgid "" "You have successfully terminated your e-learning seminar. A training " "testimonial will be available as soon as the pedagogical team validate all " @@ -1492,18 +1502,32 @@ msgstr "" "formation vous sera délivrée dès que vos réponses aux consultations fictives " "auront été validées par notre équipe pédagogique (48h maximum)." -#: views/pro.py:156 +#: views/pro.py:117 +msgid "" +"All your answers have been validated! You can now download the training " +"testimonial below." +msgstr "" +"Toutes vos consulations fictives ont été validées ! Vous pouvez désormais " +"télécharger l'attestion de formation ci-dessous." + +#: views/pro.py:159 msgid "You have successfully saved your answer" msgstr "Vous avez enregistré votre reponse avec succès" -#: views/pro.py:158 +#: views/pro.py:161 msgid "You have successfully submitted your answer" msgstr "Vous avez soumis votre reponse avec succès" -#: views/pro.py:356 +#: views/pro.py:359 msgid "You have successfully sumitted your evaluation" msgstr "Vous avez soumis votre évaluation avec succès" +#~ msgid "Answer to the following question" +#~ msgstr "Réalisez la consultation fictive suivante" + +#~ msgid "Step 6 : evaluate the seminar" +#~ msgstr "Étape 6 : évaluer ce séminaire" + #~ msgid "Step 4 : answer to this question" #~ msgstr "Étape 4 : réaliser cette consultation fictive" diff --git a/teleforma/static/teleforma/css/teleforma.css b/teleforma/static/teleforma/css/teleforma.css index db23fcb6..bd3e085f 100644 --- a/teleforma/static/teleforma/css/teleforma.css +++ b/teleforma/static/teleforma/css/teleforma.css @@ -1691,9 +1691,10 @@ input,textarea{ } .info { + margin-top: 0.3em; color: white; - padding: 0.3em 0.3em 0.5em 0.5em; - background-color: green; + padding: 0.3em 0.3em 0.5em 0.8em; + background-color: #008000; -moz-border-radius: 8px 0px 8px 8px; -webkit-border-radius: 8px 0px 8px 8px; border-radius: 8px 0px 8px 8px; @@ -1702,8 +1703,18 @@ input,textarea{ .success { margin-top: 1em; color: white; - padding: 0.3em 0.3em 0.5em 0.5em; - background-color: green; + padding: 0.3em 0.3em 0.5em 0.8em; + background-color: #008000; + -moz-border-radius: 8px 0px 8px 8px; + -webkit-border-radius: 8px 0px 8px 8px; + border-radius: 8px 0px 8px 8px; +} + +.warning { + margin-top: 0.3em; + color: white; + padding: 0.3em 0.3em 0.5em 0.8em; + background-color: #e65911; -moz-border-radius: 8px 0px 8px 8px; -webkit-border-radius: 8px 0px 8px 8px; border-radius: 8px 0px 8px 8px; diff --git a/teleforma/views/pro.py b/teleforma/views/pro.py index 128e30b3..f7ec7133 100644 --- a/teleforma/views/pro.py +++ b/teleforma/views/pro.py @@ -107,11 +107,16 @@ class SeminarView(DetailView): def get_context_data(self, **kwargs): context = super(SeminarView, self).get_context_data(**kwargs) seminar = self.get_object() - context['seminar_progress'] = seminar_progress(self.request.user, seminar) - context['seminar_validated'] = seminar_validated(self.request.user, seminar) + progress = seminar_progress(self.request.user, seminar) + validated = seminar_validated(self.request.user, seminar) + context['seminar_progress'] = progress + context['seminar_validated'] = validated + if progress == 100 and not validated: + messages.warning(self.request, _("You have successfully terminated your e-learning seminar. A training testimonial will be available as soon as the pedagogical team validate all your answers (48h maximum).")) + elif validated: + messages.info(self.request, _("All your answers have been validated! You can now download the training testimonial below.")) return context - class SeminarsView(ListView): model = Seminar @@ -150,9 +155,7 @@ class AnswerView(FormView): answer.user = self.request.user answer.question = self.question answer.save() - if seminar_terminated(self.request.user, answer.question.seminar): - messages.info(self.request, _("You have successfully terminated your e-learning seminar. A training testimonial will be available as soon as the pedagogical team validate all your answers (48h maximum).")) - elif answer.status <= 2: + if answer.status <= 2: messages.info(self.request, _("You have successfully saved your answer")) elif answer.status == 3: messages.info(self.request, _("You have successfully submitted your answer")) -- 2.39.5