From 3ee4a43c364eafe7ce36a90b27d69d5521b57431 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Tue, 14 Jul 2015 16:21:20 +0200 Subject: [PATCH] add new score form, reduce session number to 7 --- teleforma/exam/forms.py | 16 +- teleforma/exam/templates/exam/score_form.html | 68 ++++++++ teleforma/exam/templates/exam/scores.html | 5 + teleforma/exam/urls.py | 11 +- teleforma/exam/views.py | 22 +++ teleforma/locale/fr/LC_MESSAGES/django.mo | Bin 12988 -> 13028 bytes teleforma/locale/fr/LC_MESSAGES/django.po | 152 ++++++++++-------- teleforma/models/core.py | 2 +- 8 files changed, 195 insertions(+), 81 deletions(-) create mode 100644 teleforma/exam/templates/exam/score_form.html diff --git a/teleforma/exam/forms.py b/teleforma/exam/forms.py index 8096ac9f..2214e415 100644 --- a/teleforma/exam/forms.py +++ b/teleforma/exam/forms.py @@ -13,6 +13,18 @@ class ScriptForm(ModelForm): model = Script exclude = ['uuid', 'mime_type', 'sha1', 'url', 'date_submitted', 'date_rejected', 'date_marked', - 'box_uuid', - ] + 'box_uuid',] #hidden_fields = ['status'] + + +class ScoreForm(ModelForm): + + def __init__(self, *args, **kwargs): + super(ScriptForm, self).__init__(*args, **kwargs) + self.fields['score'].localize = True + + class Meta: + model = Script + exclude = ['uuid', 'mime_type', 'sha1', 'url', + 'date_submitted', 'date_rejected', 'date_marked', + 'box_uuid', file] diff --git a/teleforma/exam/templates/exam/score_form.html b/teleforma/exam/templates/exam/score_form.html new file mode 100644 index 00000000..417978cb --- /dev/null +++ b/teleforma/exam/templates/exam/score_form.html @@ -0,0 +1,68 @@ +{% extends "exam/scores.html" %} +{% load telemeta_utils %} +{% load teleforma_tags %} +{% load i18n %} +{% load thumbnail %} + +{% block extra_javascript %} +{% if upload %} + +{% endif %} +{% endblock extra_javascript %} + +{% block answers %} + +
+{% trans "New score" %} +
+
+ +
Ce formulaire vous permet d'enregistrer la note d'une copie papier déjà corrigée hors de la plateforme e-learning.
+
Pour soumettre une copie scannée à à la correction en ligne, merci d'utiliser ce formulaire.
+
Veuillez bien sélectionner tous les champs dans le formulaire suivant :
+ +
+
{% csrf_token %} + +
+ + {% for field in form %} + + {% if not field.html_name in create_fields %} + + {% else %} + + {% endif %} + + {% endfor %} +
{% for error in form.non_field_errors %}
  • {{ error }}
  • {% endfor %}
    {{ field.label_tag.as_hidden }}{{ field.as_hidden }}{{ field.label_tag }}: {{ field }}
    +
    + {% if upload %} +
    +
    + {% trans "Submit" %} + loading +
    + {% endif %} +

    + +
    + + +{% endblock answers %} diff --git a/teleforma/exam/templates/exam/scores.html b/teleforma/exam/templates/exam/scores.html index 8040a3b0..d11a39d2 100644 --- a/teleforma/exam/templates/exam/scores.html +++ b/teleforma/exam/templates/exam/scores.html @@ -30,6 +30,11 @@ {% block module-action %} +{% if upload %} +
    +{% trans "New score" %} +
    +{% endif %} {% endblock module-action %} {% endblock modules %} diff --git a/teleforma/exam/urls.py b/teleforma/exam/urls.py index f5525763..fca38b14 100644 --- a/teleforma/exam/urls.py +++ b/teleforma/exam/urls.py @@ -42,19 +42,16 @@ from jsonrpc import jsonrpc_site urlpatterns = patterns('', - url(r'^scripts/periods/(?P.*)/(?P.*)/detail/$', ScriptView.as_view(), - name="teleforma-exam-script-detail"), - url(r'^scripts/periods/(?P.*)/list/$', ScriptsView.as_view(), - name="teleforma-exam-script-list"), - url(r'^scripts/periods/(?P.*)/create/$', ScriptCreateView.as_view(), - name="teleforma-exam-script-create"), + url(r'^scripts/periods/(?P.*)/(?P.*)/detail/$', ScriptView.as_view(), name="teleforma-exam-script-detail"), + url(r'^scripts/periods/(?P.*)/list/$', ScriptsView.as_view(), name="teleforma-exam-script-list"), + url(r'^scripts/periods/(?P.*)/create/$', ScriptCreateView.as_view(), name="teleforma-exam-script-create"), url(r'^scripts/periods/(?P.*)/pending/$', ScriptsPendingView.as_view(), name="teleforma-exam-scripts-pending"), url(r'^scripts/periods/(?P.*)/treated/$', ScriptsTreatedView.as_view(), name="teleforma-exam-scripts-treated"), url(r'^scripts/periods/(?P.*)/rejected/$', ScriptsRejectedView.as_view(), name="teleforma-exam-scripts-rejected"), url(r'^scores/periods/(?P.*)/all/$', ScriptsScoreAllView.as_view(), name="teleforma-exam-scripts-scores-all"), url(r'^scores/periods/(?P.*)/courses/(?P.*)/$', ScriptsScoreCourseView.as_view(), name="teleforma-exam-scripts-scores-course"), - + url(r'^scores/periods/(?P.*)/create/$', ScoreCreateView.as_view(), name="teleforma-exam-scores-create"), # url(r'^exam/periods/(?P.*)/quotas/$', QuotasView.as_view(), name="teleforma-exam-quotas"), ) diff --git a/teleforma/exam/views.py b/teleforma/exam/views.py index 8622fa6a..2eaed939 100644 --- a/teleforma/exam/views.py +++ b/teleforma/exam/views.py @@ -309,3 +309,25 @@ class ScriptsScoreCourseView(ScriptsScoreAllView): context['course'] = course.title return context + +class ScoreCreateView(ScriptCreateView): + + template_name='exam/score_form.html' + form_class = ScriptForm + + def get_success_url(self): + period = Period.objects.get(id=self.kwargs['period_id']) + return reverse_lazy('teleforma-exam-scripts-scores-all', kwargs={'period_id':period.id}) + + def get_context_data(self, **kwargs): + context = super(ScriptCreateView, self).get_context_data(**kwargs) + context['upload'] = getattr(settings, 'TELEFORMA_EXAM_SCRIPT_UPLOAD', True) + context['period'] = Period.objects.get(id=self.kwargs['period_id']) + context['create_fields'] = ['course', 'session', 'type', 'score' ] + course_pk_list = [c['course'].id for c in get_courses(self.request.user)] + context['form'].fields['course'].queryset = Course.objects.filter(pk__in=course_pk_list) + return context + + @method_decorator(login_required) + def dispatch(self, *args, **kwargs): + return super(ScoreCreateView, self).dispatch(*args, **kwargs) diff --git a/teleforma/locale/fr/LC_MESSAGES/django.mo b/teleforma/locale/fr/LC_MESSAGES/django.mo index 336e69331a8f0e07de325ac8345bda236da1f7cb..a4fc8d5e63d4db254c586c71e570bef266bcf0a0 100644 GIT binary patch delta 5680 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 NO+Lt3yre~5;jbGd5yJog delta 5646 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 diff --git a/teleforma/locale/fr/LC_MESSAGES/django.po b/teleforma/locale/fr/LC_MESSAGES/django.po index 75372d85..327d5b1d 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: 2015-07-13 17:21+0200\n" +"POT-Creation-Date: 2015-07-14 16:21+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Guillaume Pellerin \n" "Language-Team: LANGUAGE \n" @@ -17,13 +17,13 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1)\n" #: admin.py:16 exam/models.py:123 exam/models.py:226 models/ae.py:47 -#: models/core.py:111 models/core.py:136 models/core.py:252 models/core.py:503 -#: models/core.py:549 models/core.py:591 models/crfpa.py:64 +#: models/core.py:111 models/core.py:136 models/core.py:255 models/core.py:506 +#: models/core.py:552 models/core.py:594 models/crfpa.py:64 #: models/crfpa.py:129 msgid "period" msgstr "période" -#: exam/models.py:62 exam/models.py:429 +#: exam/models.py:62 exam/models.py:436 msgid "rejected" msgstr "rejetée" @@ -39,7 +39,7 @@ msgstr "soumise" msgid "pending" msgstr "en attente" -#: exam/models.py:63 exam/models.py:414 +#: exam/models.py:63 exam/models.py:421 msgid "marked" msgstr "corrigée" @@ -47,6 +47,10 @@ msgstr "corrigée" msgid "read" msgstr "lu" +#: exam/models.py:63 +msgid "backup" +msgstr "" + #: exam/models.py:65 msgid "unreadable" msgstr "illisible" @@ -91,8 +95,8 @@ msgstr "pas de fichier" msgid "file too large" msgstr "fichier trop gros" -#: exam/models.py:121 exam/models.py:225 models/core.py:197 models/core.py:254 -#: models/core.py:498 models/core.py:587 models/pro.py:45 +#: exam/models.py:121 exam/models.py:225 models/core.py:197 models/core.py:257 +#: models/core.py:501 models/core.py:590 models/pro.py:45 msgid "course" msgstr "matière" @@ -112,8 +116,8 @@ msgstr "date de début" msgid "date end" msgstr "date de fin" -#: exam/models.py:128 exam/models.py:230 models/core.py:396 models/core.py:505 -#: models/core.py:595 +#: exam/models.py:128 exam/models.py:230 models/core.py:399 models/core.py:508 +#: models/core.py:598 msgid "type" msgstr "type" @@ -125,11 +129,11 @@ msgstr "" msgid "Quotas" msgstr "" -#: exam/models.py:181 models/core.py:465 models/pro.py:67 +#: exam/models.py:181 models/core.py:468 models/pro.py:67 msgid "date added" msgstr "date d'ajout" -#: exam/models.py:182 models/core.py:160 models/core.py:466 +#: exam/models.py:182 models/core.py:160 models/core.py:469 #: models/crfpa.py:212 models/pro.py:68 msgid "date modified" msgstr "date de modification" @@ -171,7 +175,7 @@ msgid "Pages" msgstr "Pages" #: exam/models.py:213 models/core.py:93 models/core.py:106 models/core.py:128 -#: models/core.py:141 models/core.py:236 models/core.py:481 models/crfpa.py:47 +#: models/core.py:141 models/core.py:239 models/core.py:484 models/crfpa.py:47 #: models/crfpa.py:63 msgid "name" msgstr "nom" @@ -184,7 +188,7 @@ msgstr "Type de copie" msgid "ScriptTypes" msgstr "Types de copies" -#: exam/models.py:228 models/core.py:258 models/core.py:507 +#: exam/models.py:228 models/core.py:261 models/core.py:510 msgid "session" msgstr "séance" @@ -208,7 +212,7 @@ msgstr "note" msgid "comments" msgstr "commentaires" -#: exam/models.py:237 models/core.py:267 models/pro.py:48 models/pro.py:88 +#: exam/models.py:237 models/core.py:270 models/pro.py:48 models/pro.py:88 #: models/pro.py:104 msgid "status" msgstr "status" @@ -246,12 +250,12 @@ msgstr "" msgid "Session" msgstr "Séance" -#: exam/models.py:254 exam/models.py:413 exam/models.py:428 +#: exam/models.py:258 exam/models.py:420 exam/models.py:435 msgid "Script" msgstr "Copie" -#: exam/models.py:255 exam/templates/exam/scripts.html:21 -#: templates/telemeta/base.html:117 templates/telemeta/base.html.py:122 +#: exam/models.py:259 exam/templates/exam/scripts.html:21 +#: templates/telemeta/base.html:116 templates/telemeta/base.html.py:121 msgid "Scripts" msgstr "Copies" @@ -351,12 +355,23 @@ msgstr "Valeur" msgid "Level" msgstr "Niveau" +#: exam/templates/exam/score_form.html:32 exam/templates/exam/scores.html:35 +msgid "New score" +msgstr "Nouvelle note" + +#: exam/templates/exam/score_form.html:59 +#: exam/templates/exam/script_form.html:66 +#: templates/registration/registration_form.html:21 +msgid "Submit" +msgstr "Soumettre" + #: exam/templates/exam/scores.html:18 templates/teleforma/annals.html:15 #: templates/telemeta/profile_detail.html:16 msgid "My courses" msgstr "Mes matières" -#: exam/templates/exam/scores.html:37 exam/templates/exam/scripts.html:28 +#: exam/templates/exam/scores.html:46 exam/templates/exam/scripts.html:28 +#: templates/telemeta/base.html:133 templates/telemeta/base.html.py:135 msgid "Scores" msgstr "Notes" @@ -406,11 +421,6 @@ msgstr "Nouvelle copie" msgid "Blank script" msgstr "Copie vierge" -#: exam/templates/exam/script_form.html:66 -#: templates/registration/registration_form.html:21 -msgid "Submit" -msgstr "Soumettre" - #: exam/templates/exam/scripts.html:6 msgid "Answers" msgstr "Réponses" @@ -419,19 +429,19 @@ msgstr "Réponses" msgid "No scripts" msgstr "Aucune copie" -#: exam/views.py:89 +#: exam/views.py:94 msgid "Pending scripts" msgstr "Copies en attente" -#: exam/views.py:106 +#: exam/views.py:126 msgid "Treated scripts" msgstr "Copie traitées" -#: exam/views.py:121 +#: exam/views.py:146 msgid "Rejected scripts" msgstr "Copies rejetées" -#: exam/views.py:137 +#: exam/views.py:162 msgid "" "You have successfully submitted your script. It will be processed in the " "next hours." @@ -439,7 +449,7 @@ msgstr "" "Vous avez correctement soumis votre copie. Elle sera traitée dans les " "prochaines heures puis corrigée." -#: exam/views.py:141 +#: exam/views.py:166 msgid "" "There was a problem with your submission. Please try again, later if " "possible." @@ -447,7 +457,7 @@ msgstr "" "Il y a une une erreur lors de votre soumission de copie. Merci de vérifier " "votre fichier ou de réessayer plus tard." -#: exam/views.py:224 +#: exam/views.py:266 msgid "all courses" msgstr "toutes les matières" @@ -485,13 +495,13 @@ msgid "Public" msgstr "Publié" #: models/core.py:94 models/core.py:107 models/core.py:129 models/core.py:142 -#: models/core.py:157 models/core.py:237 models/core.py:397 models/core.py:463 -#: models/core.py:482 models/crfpa.py:48 models/crfpa.py:226 +#: models/core.py:157 models/core.py:240 models/core.py:400 models/core.py:466 +#: models/core.py:485 models/crfpa.py:48 models/crfpa.py:226 #: models/crfpa.py:239 models/pro.py:124 msgid "description" msgstr "description" -#: models/core.py:101 models/core.py:109 models/core.py:235 models/pro.py:123 +#: models/core.py:101 models/core.py:109 models/core.py:238 models/pro.py:123 msgid "organization" msgstr "organisation" @@ -499,19 +509,19 @@ msgstr "organisation" msgid "Master domain" msgstr "" -#: models/core.py:123 models/core.py:155 models/core.py:209 models/core.py:250 +#: models/core.py:123 models/core.py:155 models/core.py:209 models/core.py:253 msgid "department" msgstr "département" -#: models/core.py:149 models/core.py:255 models/core.py:500 models/core.py:589 +#: models/core.py:149 models/core.py:258 models/core.py:503 models/core.py:592 msgid "course type" msgstr "type de matière" -#: models/core.py:156 models/core.py:462 models/pro.py:46 models/pro.py:83 +#: models/core.py:156 models/core.py:465 models/pro.py:46 models/pro.py:83 msgid "title" msgstr "titre" -#: models/core.py:158 models/core.py:467 models/crfpa.py:62 +#: models/core.py:158 models/core.py:470 models/crfpa.py:62 msgid "code" msgstr "cote" @@ -519,7 +529,7 @@ msgstr "cote" msgid "tweeter title" msgstr "titre tweeter" -#: models/core.py:161 models/core.py:483 +#: models/core.py:161 models/core.py:486 msgid "number" msgstr "nombre" @@ -535,103 +545,103 @@ msgstr "obligations" msgid "magistral" msgstr "magistral" -#: models/core.py:229 models/core.py:256 +#: models/core.py:232 models/core.py:259 msgid "professor" msgstr "professeur" -#: models/core.py:244 models/core.py:260 +#: models/core.py:247 models/core.py:263 msgid "room" msgstr "salle" -#: models/core.py:249 +#: models/core.py:252 msgid "public_id" msgstr "public id" -#: models/core.py:262 +#: models/core.py:265 msgid "comment" msgstr "commentaire" -#: models/core.py:263 +#: models/core.py:266 msgid "begin date" msgstr "date de début" -#: models/core.py:264 +#: models/core.py:267 msgid "end date" msgstr "date de fin" -#: models/core.py:265 models/core.py:515 models/core.py:553 models/core.py:596 +#: models/core.py:268 models/core.py:518 models/core.py:556 models/core.py:599 msgid "readers" msgstr "" -#: models/core.py:386 models/core.py:414 models/core.py:501 models/core.py:585 +#: models/core.py:389 models/core.py:417 models/core.py:504 models/core.py:588 msgid "conference" msgstr "conférence" -#: models/core.py:394 +#: models/core.py:397 msgid "host" msgstr "hôte" -#: models/core.py:395 +#: models/core.py:398 msgid "port" msgstr "port" -#: models/core.py:398 +#: models/core.py:401 msgid "source password" msgstr "" -#: models/core.py:399 +#: models/core.py:402 msgid "admin password" msgstr "" -#: models/core.py:406 models/core.py:417 +#: models/core.py:409 models/core.py:420 msgid "streaming server" msgstr "serveur de diffusion" -#: models/core.py:418 +#: models/core.py:421 msgid "Streaming type" msgstr "Type de flux" -#: models/core.py:420 +#: models/core.py:423 msgid "streaming" msgstr "diffusion" -#: models/core.py:456 +#: models/core.py:459 msgid "live stream" msgstr "stream en direct" -#: models/core.py:464 +#: models/core.py:467 msgid "credits" msgstr "crédits" -#: models/core.py:468 +#: models/core.py:471 msgid "published" msgstr "publié" -#: models/core.py:469 +#: models/core.py:472 msgid "mime type" msgstr "Type mime" -#: models/core.py:470 models/pro.py:86 +#: models/core.py:473 models/pro.py:86 msgid "weight" msgstr "poids" -#: models/core.py:490 +#: models/core.py:493 msgid "document type" msgstr "type de document" -#: models/core.py:509 models/crfpa.py:110 +#: models/core.py:512 models/crfpa.py:110 msgid "iej" msgstr "iej" -#: models/core.py:511 +#: models/core.py:514 msgid "annal" msgstr "annale" -#: models/core.py:512 +#: models/core.py:515 msgid "year" msgstr "année" -#: models/core.py:513 models/core.py:551 +#: models/core.py:516 models/core.py:554 msgid "file" msgstr "fichier" @@ -1502,8 +1512,8 @@ msgstr "Mes notes" msgid "New note" msgstr "Nouvelle note" -#: templates/teleforma/help.html:11 templates/telemeta/base.html:138 -#: templates/telemeta/base.html.py:151 +#: templates/teleforma/help.html:11 templates/telemeta/base.html:148 +#: templates/telemeta/base.html.py:161 msgid "Help" msgstr "Aide" @@ -1551,27 +1561,27 @@ msgstr "Accueil" msgid "Messaging" msgstr "Messagerie" -#: templates/telemeta/base.html:136 +#: templates/telemeta/base.html:146 msgid "Admin" msgstr "" -#: templates/telemeta/base.html:148 +#: templates/telemeta/base.html:158 msgid "Profile" msgstr "Profil" -#: templates/telemeta/base.html:150 +#: templates/telemeta/base.html:160 msgid "Lists" msgstr "" -#: templates/telemeta/base.html:153 +#: templates/telemeta/base.html:163 msgid "Sign out" msgstr "" -#: templates/telemeta/base.html:195 +#: templates/telemeta/base.html:205 msgid "Powered by" msgstr "" -#: templates/telemeta/base.html:205 +#: templates/telemeta/base.html:215 msgid "Legal notices" msgstr "" @@ -1797,7 +1807,7 @@ msgstr "" msgid "A new live conference has started : " msgstr "Une nouvelle conférence en direct a commencé : " -#: views/crfpa.py:391 +#: views/crfpa.py:407 msgid "You have successfully register your account." msgstr "" diff --git a/teleforma/models/core.py b/teleforma/models/core.py index 3290d0f7..e94d1805 100644 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -66,7 +66,7 @@ def get_n_choices(n): def get_nint_choices(n): return [(x, y) for x in range(1, n) for y in range(1, n) if x == y] -session_choices = get_n_choices(21) +session_choices = get_n_choices(8) server_choices = [('icecast', 'icecast'), ('stream-m', 'stream-m')] streaming_choices = [('mp3', 'mp3'), ('ogg', 'ogg'), ('webm', 'webm'), ('mp4', 'mp4')] mimetypes.add_type('video/webm','.webm') -- 2.39.5