{% extends 'base.html.twig' %}
{% block title %}{{ lesson.name }} - {{ parent() }}{% endblock %}
{% set currentRoute = app.request.attributes.get('_route') %}
{% block before_navbar %}
{% include 'Front/Scholar/Partial/_preview_manager_heager.html.twig' with {
'channel': channel,
'currentRoute': currentRoute,
} %}
{% endblock before_navbar %}
{% block body_markup %}
<body class="progression" style="font-family: 'Poppins';" id="page-training-lesson">{% endblock body_markup %}
{% set next_informations = null %}
{% if currentRoute == 'front_channel_exercise_show' %}
{% set next_informations = get_next_informations_exercise_result(training, module, lesson, bestExerciseResult) %}
{% endif %}
{% block content %}
{% if currentRoute in ['front_channel_exercise_show', 'manager_channel_module_lesson_exercise_show', 'manager_channel_training_module_lesson_exercise_show'] %}
{% set trainingModuleLessons = module | get_lessons %}
{% elseif currentRoute == 'manager_channel_lesson_exercise_show' %}
{% set trainingModuleLessons = [lesson] %}
{% endif %}
{% include 'Front/Scholar/Partial/_menu_lessons_mobile.html.twig' with {
'current_exercise': current_exercise
} %}
<div class="container pt-md-5 pb-md-5 pt-3 pb-3 summary-lesson font-size-14">
<div class="row">
<div class="col-md-9 col-12">
<h3 class="mb-4" style="font-size: 16px;">{{- lesson.name -}}</h3>
<h2 class="v2-title-big">{{- current_exercise.name -}}</h2>
{% if lesson.updatedAt is not null or lesson.createdAt is not null %}
<div class="col-12 col-md-6 d-flex justify-content-between align-items-baseline p-0">
<div>
{% if current_exercise.updatedAt is not null %}
{{- 'front.scholar.training.show.createdAt.label'|trans({
'%date%': current_exercise.updatedAt|format_date('long', locale=app.request.locale),
})|raw -}}
{% else %}
{{- 'front.scholar.training.show.createdAt.label'|trans({
'%date%': current_exercise.createdAt|format_date('long', locale=app.request.locale),
})|raw -}}
{% endif %}
</div>
</div>
{% endif %}
<div class="pt-40px-mobile description-container">
<div class="row">
{% set stat = current_exercise.stat|default(stat|default(null)) %}
{% set displayStatistics = false %}
{% if stat is not empty and stat.hasResults %}
{% set displayStatistics = true %}
{% endif %}
<div class="col-md-4 col-12 d-none">
<div style="box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);padding:15px;border-radius: 6px;">
<div class="font-weight-bold text-center mb-3">{{- 'exercise.stat.title.label'|trans -}}</div>
<div class="d-flex justify-content-between mb-1">
<div>{{ 'exercises.stats.entity.avgScore.label'|trans }} :</div>
{% if displayStatistics %}
<div class="little-grey">{{ stat.avgScore }} / 100</div>
{% else %}
<div class="little-grey">-</div>
{% endif %}
</div>
<div class="d-flex justify-content-between mb-1">
<div>{{ 'exercises.stats.entity.medianScore.label'|trans }} :</div>
{% if displayStatistics %}
<div class="little-grey">{{ stat.medianScore }} / 100</div>
{% else %}
<div class="little-grey">-</div>
{% endif %}
</div>
<div class="d-flex justify-content-between mb-1">
<div>{{ 'exercises.stats.entity.avgTime.label'|trans }} :</div>
{% if displayStatistics %}
<div class="little-grey">{{ stat.avgTime|timer_display }}</div>
{% else %}
<div class="little-grey">-</div>
{% endif %}
</div>
<div class="d-flex justify-content-between mb-1">
<div>{{ 'exercises.stats.entity.medianTime.label'|trans }} :</div>
{% if displayStatistics %}
<div class="little-grey">{{ stat.medianTime|timer_display }}</div>
{% else %}
<div class="little-grey">-</div>
{% endif %}
</div>
<div class="d-flex justify-content-between mb-1">
<div>{{ 'exercises.stats.entity.totalDone.label'|trans }} :</div>
{% if displayStatistics %}
<div class="little-grey">{{ stat.totalDone }}</div>
{% else %}
<div class="little-grey">0</div>
{% endif %}
</div>
</div>
</div>
<div class="col-10 offset-1 exercise-statistics-description-separator d-block d-md-none"></div>
<div class="col-12 col-lg-9 exercise-description-container">
<div class="exercise-description-block">
<div class="font-weight-bold mb-3">{{- 'Description de l\'exercice' -}}</div>
<div class="description-style">{{- current_exercise.description -}}</div>
</div>
<div class="separation"></div>
{% if bestExerciseResult is defined and bestExerciseResult is not null %}
{% set exercise_failed = true %}
{% if bestExerciseResult.isSuccessful %}
{% set exercise_failed = false %}
{% endif %}
{% if bestExerciseResult.startedAt is not null %}
{% set exerciseStartPath = null %}
{% if currentRoute == 'front_channel_exercise_show' %}
{% set exerciseStartPath = path('front_exercise_start', {'trainingId': training.id,'moduleId': module.id,'lessonId': lesson.id,'id': current_exercise.id}) %}
{% elseif currentRoute == 'manager_channel_lesson_exercise_show' %}
{% set exerciseStartPath = path('manager_channel_lesson_exercise_start', {'channelId': channel.id, 'lessonId': lesson.id, 'exerciseId': current_exercise.id}) %}
{% elseif currentRoute == 'manager_channel_module_lesson_exercise_show' %}
{% set exerciseStartPath = path('manager_channel_module_lesson_exercise_start', {'channelId': channel.id, 'moduleId': module.id, 'lessonId': lesson.id, 'exerciseId': current_exercise.id}) %}
{% elseif currentRoute == 'manager_channel_training_module_lesson_exercise_show' %}
{% set exerciseStartPath = path('manager_channel_training_module_lesson_exercise_start', {'channelId': channel.id, 'trainingId': training.id, 'moduleId': module.id, 'lessonId': lesson.id, 'exerciseId': current_exercise.id}) %}
{% endif %}
<div class="last-results-container">
<div class="results-container">
{% if exercise_failed is same as false %}
<div class="date-score-container">
<div class="answer-timer-container d-flex justify-content-center align-items-center score-container passed">
<i class="fal fa-check icone"></i>
<div class="score">
Score : {{ bestExerciseResult.score / 10 }} / 10
</div>
</div>
<p>Réalisé le {{ bestExerciseResult.startedAt|date('d/m/Y') }}.</p>
</div>
<p class="text-success font-weight-bold result-sentence">
Vous avez obtenu un score suffisant à ce QCM pour poursuivre vers le
cours suivant.
</p>
<div class="exercise-start-block">
<a href="{{- exerciseStartPath -}}"
class="btn-nellapp-v2 btn-begin-exercise">
<i class="far fa-money-check-edit mark-icon"></i>
Recommencer l'exercice
</a>
{% if currentRoute == 'front_channel_exercise_show' %}
<a href="{{ path('front_exercise_solution', {
'id': current_exercise.id,
'trainingId': training.id,
'moduleId': module.id,
'lessonId': lesson.id,
'resultId': bestExerciseResult.id
}) }}"
class="btn-nellapp-v2"
>
Voir mon résultat
</a>
{% endif %}
</div>
{% else %}
<div class="date-score-container justify-content-center justify-content-md-start">
<div class="answer-timer-container d-flex justify-content-center align-items-center score-container not-passed">
<i class="fal fa-times icone"></i>
<div class="score">
Score : {{ bestExerciseResult.score / 10 }} / 10
</div>
</div>
<p>Réalisé le {{ bestExerciseResult.startedAt|date('d/m/Y') }}.</p>
</div>
<div class="result-advice">
<p class="text-danger font-weight-bold result-sentence">Vous n'avez
pas
obtenu un score suffisant à ce QCM pour
poursuivre vers le cours suivant.</p>
<p class="advice">Veuillez retravailler le cours et repasser le
QCM.</p>
</div>
<div class="exercise-start-block">
<a href="{{- exerciseStartPath -}}"
class="btn-nellapp-v2 btn-begin-exercise">
<i class="far fa-money-check-edit mark-icon"></i>
Recommencer l'exercice
</a>
{% if currentRoute == 'front_channel_exercise_show' %}
<a href="{{ path('front_exercise_solution', {
'id': current_exercise.id,
'trainingId': training.id,
'moduleId': module.id,
'lessonId': lesson.id,
'resultId': bestExerciseResult.id
}) }}"
class="btn-nellapp-v2"
>
Voir mon résultat
</a>
{% endif %}
</div>
{% endif %}
</div>
</div>
{% endif %}
{% else %}
<div class="exercise-start-block with-separation">
{% set exerciseStartPath = null %}
{% if currentRoute == 'front_channel_exercise_show' %}
{% set exerciseStartPath = path('front_exercise_start', {'trainingId': training.id,'moduleId': module.id,'lessonId': lesson.id,'id': current_exercise.id}) %}
{% elseif currentRoute == 'manager_channel_lesson_exercise_show' %}
{% set exerciseStartPath = path('manager_channel_lesson_exercise_start', {'channelId': channel.id, 'lessonId': lesson.id, 'exerciseId': current_exercise.id}) %}
{% elseif currentRoute == 'manager_channel_module_lesson_exercise_show' %}
{% set exerciseStartPath = path('manager_channel_module_lesson_exercise_start', {'channelId': channel.id, 'moduleId': module.id, 'lessonId': lesson.id, 'exerciseId': current_exercise.id}) %}
{% elseif currentRoute == 'manager_channel_training_module_lesson_exercise_show' %}
{% set exerciseStartPath = path('manager_channel_training_module_lesson_exercise_start', {'channelId': channel.id, 'trainingId': training.id, 'moduleId': module.id, 'lessonId': lesson.id, 'exerciseId': current_exercise.id}) %}
{% endif %}
<a href="{{- exerciseStartPath -}}" class="btn-nellapp-v2 btn-begin-exercise">
<i class="far fa-money-check-edit mark-icon"></i>
Commencer l'exercice
</a>
</div>
{% endif %}
</div>
</div>
{% if currentRoute == 'front_channel_exercise_show' %}
{% include 'Front/Scholar/Partial/_scholar_navigation_previous_after.html.twig' with {
next_informations: next_informations,
previous_informations: get_previous_informations_exercise(training, module, lesson, current_exercise),
} %}
{% endif %}
</div>
</div>
<div class="col-3 p-0 d-none d-md-block">
{% include 'Front/Scholar/Partial/menu_lessons.html.twig' with {
'current_exercise': current_exercise
} %}
</div>
</div>
</div>
{{ parent() }}
{% endblock content %}
{% block inner_content %}
{{ parent() }}
{% endblock inner_content %}
{% block body %}
{{ parent() }}
{% endblock %}