{% set routes_allowed = [
'front_channel_lesson_show',
'front_channel_lesson_show_review',
'manager_channel_module_lesson_show',
'manager_channel_training_module_lesson_show',
'front_channel_chapter_show',
'front_channel_exercise_show',
'manager_channel_module_chapter_show',
'manager_channel_training_module_chapter_show'
] %}
{% set lesson_routes = [
'front_channel_lesson_show',
'manager_channel_lesson_show',
'manager_channel_module_lesson_show',
'manager_channel_training_module_lesson_show',
] %}
{% set lesson_review_routes = [
'front_channel_lesson_show_review',
] %}
{% set practical_case_routes = [
'front_channel_practical_case_show',
] %}
{% set sub_routes_allowed = [
'front_channel_lesson_show',
'front_channel_lesson_show_review',
'manager_channel_training_module_lesson_show',
'front_channel_chapter_show',
'manager_channel_training_module_chapter_show',
'front_channel_exercise_show'
] %}
{% set front_routes = [
'front_channel_lesson_show',
'front_channel_chapter_show',
'front_channel_exercise_show',
'front_channel_lesson_show_review',
'front_channel_exercise_show'
] %}
<div class="buttom-menu d-md-none bottom-menu-style-mobile">
<div class="d-flex justify-content-between align-items-center margin-12px" id="mobile-menu-button">
<div>
<div class="font-weight-bold font-size-14 mobile-summary-color">Sommaire</div>
{% if currentRoute in [
'front_channel_exercise_show',
'manager_channel_module_lesson_exercise_show',
'manager_channel_training_module_lesson_exercise_show',
'front_channel_chapter_show',
'manager_channel_module_chapter_show',
'manager_channel_training_module_chapter_show'
] %}
<div class="font-weight-bold font-size-14">Module : {{ module.name -}}</div>
{% endif %}
</div>
<div>
<i class="fas fa-chevron-up mobile-chevron-color"></i>
</div>
</div>
<div class="accordion-nellapp d-none bottom-menu-list-style-mobile" id="mobile-menu-lessons">
{% for trainingModuleLesson in trainingModuleLessons %}
{% set chapters = getChapters(trainingModuleLesson) %}
{% set exercises = getExercises(trainingModuleLesson) %}
{% set practicalCase = lesson.getActivePracticalCase %}
{% set practicalCaseArchiveds = get_archived_practical_cases(trainingModuleLesson, app.user) %}
{% set lessonReviewActivated = trainingModuleLesson.lessonReviewActivated %}
{% if training is not defined or training is null %}
{% set lessonBlockedStatus = constant('App\\Enum\\ScholarLessonBlockedReasonEnum::NOT_BLOCKED') %}
{% else %}
{% set lessonBlockedStatus = get_lesson_blocked_reason(training, module, trainingModuleLesson) %}
{% endif %}
{% set front_access = true %}
{% if lessonBlockedStatus is not same as constant('App\\Enum\\ScholarLessonBlockedReasonEnum::NOT_BLOCKED') %}
{% set front_access = false %}
{% endif %}
<div id="headingmobile{{ trainingModuleLesson.id }}" class="accordion-nellapp-header"
{% if not loop.first %}style="padding-top: 4px"{% endif %}>
<h5 class="mb-0">
<button class="btn-nellapp-accordion btn-nellapp-accordion-style bottom-menu-accordion-button-mobile"
data-toggle="collapse"
data-target="#collapsemobile{{- trainingModuleLesson.id -}}"
aria-expanded="{% if trainingModuleLesson.id == lesson.id %}true{% else %}false{% endif %}"
aria-controls="collapsemobile{{- trainingModuleLesson.id -}}"
>
<div class="d-flex justify-content-between align-items-center w-100 line-style">
<div class="progress-circle">
{% if app.user and currentRoute in ['front_channel_exercise_show', 'front_channel_chapter_show'] %}
{% set trainingModuleLessonPercentage = trainingModuleLesson|getLessonDonePercentage(app.user) %}
{% else %}
{% set trainingModuleLessonPercentage = 0 %}
{% endif %}
<div class="c100 {{ 'p' ~ trainingModuleLessonPercentage }} small green mr-3 me-3 font-size-20">
<div class="slice">
<div class="bar"></div>
<div class="fill"></div>
</div>
</div>
{% if trainingModuleLessonPercentage == 100 %}
<i class="fas fa-check check-style"></i>
{% endif %}
</div>
<div class="d-flex justify-content-between align-items-center w-100">
<div class="lesson-name"
{% if lessonBlockedStatus is same as constant('App\\Enum\\ScholarLessonBlockedReasonEnum::LESSON_BLOCKED') %}title="Pour débloquer ce cours, réalisez les QCM et Cas pratiques précédents"{% endif %}
>
<span>
{{- trainingModuleLesson.name -}}
</span>
{% if lessonBlockedStatus is same as constant('App\\Enum\\ScholarLessonBlockedReasonEnum::LESSON_BLOCKED') %}
<i class="fad fa-exclamation-circle"></i>
{% endif %}
</div>
<img class="add-style" src="{{- asset('build/common/icon-add.svg', 'common') -}}"
alt="Open courses module"/>
</div>
</div>
</button>
</h5>
</div>
<div id="collapsemobile{{ trainingModuleLesson.id }}"
class="collapse {% if trainingModuleLesson.id == lesson.id %}show{% endif %}">
<div class="card-body padding-075">
<ul class="lesson-list p-0 m-0">
<li class="progress-list">
<div class="d-flex align-items-center ptb-5px">
<div class="circle-icon-done{% if currentRoute in front_routes and trainingModuleLesson|get_lesson_summary_done_status(app.user) is same as true %} success{% endif %}">
</div>
{% set route_cases = [
front_routes,
['manager_channel_lesson_show', 'manager_channel_chapter_show', 'manager_channel_lesson_exercise_show', 'manager_channel_practical_case_show'],
['manager_channel_module_lesson_show', 'manager_channel_module_chapter_show', 'manager_channel_module_lesson_exercise_show', 'manager_channel_module_practical_case_show'],
['manager_channel_training_module_lesson_show', 'manager_channel_training_module_chapter_show', 'manager_channel_training_module_lesson_exercise_show', 'manager_channel_training_module_practical_case_show']
] %}
{% set summaryPath = null %}
{% if front_access is same as false %}
{% set summaryPath = null %}
{% elseif currentRoute in route_cases[0] %}
{% set summaryPath = path('front_channel_lesson_show', {'trainingId': training.id, 'moduleId': module.id, 'lessonId': trainingModuleLesson.id}) %}
{% elseif currentRoute in route_cases[1] %}
{% set summaryPath = path('manager_channel_lesson_show', {'channelId': channel.id, 'lessonId': trainingModuleLesson.id}) %}
{% elseif currentRoute in route_cases[2] %}
{% set summaryPath = path('manager_channel_module_lesson_show', {'channelId': channel.id, 'moduleId': module.id, 'lessonId': trainingModuleLesson.id}) %}
{% elseif currentRoute in route_cases[3] %}
{% set summaryPath = path('manager_channel_training_module_lesson_show', {'channelId': channel.id, 'trainingId': training.id, 'moduleId': module.id, 'lessonId': trainingModuleLesson.id}) %}
{% endif %}
{{ scholar_navigation_link('Sommaire', currentRoute in lesson_routes and trainingModuleLesson.id == lesson.id, summaryPath) }}
</div>
</li>
{% for chapter in chapters %}
<li class="progress-list">
<div class="d-flex align-items-center ptb-5px">
<div class="circle-icon-done{% if currentRoute in front_routes and chapter|get_chapter_done(app.user) is same as true %} success{% endif %}">
</div>
{% set chapterPath = null %}
{% if front_access is same as false %}
{% set chapterPath = null %}
{% elseif currentRoute in route_cases[0] %}
{% set chapterPath = path('front_channel_chapter_show', {'trainingId': training.id, 'moduleId': module.id, 'lessonId': trainingModuleLesson.id, 'chapterId': chapter.id}) %}
{% elseif currentRoute in route_cases[1] %}
{% set chapterPath = path('manager_channel_chapter_show', {'channelId': channel.id, 'lessonId': trainingModuleLesson.id, 'chapterId': chapter.id}) %}
{% elseif currentRoute in route_cases[2] %}
{% set chapterPath = path('manager_channel_module_chapter_show', {'channelId': channel.id, 'moduleId': module.id, 'lessonId': trainingModuleLesson.id, 'chapterId': chapter.id}) %}
{% elseif currentRoute in route_cases[3] %}
{% set chapterPath = path('manager_channel_training_module_chapter_show', {'channelId': channel.id, 'trainingId': training.id, 'moduleId': module.id, 'lessonId': trainingModuleLesson.id, 'chapterId': chapter.id}) %}
{% endif %}
{{ scholar_navigation_link(chapter.name, current_chapter is defined and current_chapter.id == chapter.id, chapterPath) }}
</div>
</li>
{% endfor %}
{% for exercise in exercises %}
<li class="progress-list">
<div class="d-flex align-items-center ptb-5px">
{% set exercise_done_status = exercise|get_exercise_done_status(app.user) %}
<div class="circle-icon-done{% if exercise_done_status is same as true %} success{% elseif exercise_done_status is same as false %} failed{% endif %}">
</div>
{% set exercisePath = null %}
{% if front_access is same as false %}
{% set exercisePath = null %}
{% elseif currentRoute in route_cases[0] %}
{% set exercisePath = path('front_channel_exercise_show', {'trainingId': training.id, 'moduleId': module.id, 'lessonId': trainingModuleLesson.id, 'exerciseId': exercise.id}) %}
{% elseif currentRoute in route_cases[1] %}
{% set exercisePath = path('manager_channel_lesson_exercise_show', {'channelId': channel.id, 'lessonId': trainingModuleLesson.id, 'exerciseId': exercise.id}) %}
{% elseif currentRoute in route_cases[2] %}
{% set exercisePath = path('manager_channel_module_lesson_exercise_show', {'channelId': channel.id, 'moduleId': module.id, 'lessonId': trainingModuleLesson.id, 'exerciseId': exercise.id}) %}
{% elseif currentRoute in route_cases[3] %}
{% set exercisePath = path('manager_channel_training_module_lesson_exercise_show', {'channelId': channel.id, 'trainingId': training.id, 'moduleId': module.id, 'lessonId': trainingModuleLesson.id, 'exerciseId': exercise.id}) %}
{% endif %}
{{ scholar_navigation_link(exercise.name, current_exercise is defined and exercise.id == current_exercise.id, exercisePath) }}
</div>
</li>
{% endfor %}
{% if practicalCase is not null %}
<li class="progress-list">
<div class="d-flex align-items-center ptb-5px">
{% set practical_case_done_status = practicalCase|get_practical_case_done_status(app.user) %}
<div class="circle-icon-done{% if practical_case_done_status is same as true %} success{% elseif practical_case_done_status is same as false %} failed{% endif %}">
</div>
{% set practicalCasePath = null %}
{% if front_access is same as false %}
{% set practicalCasePath = null %}
{% elseif currentRoute in route_cases[0] %}
{% set practicalCasePath = path('front_channel_practical_case_show', {'trainingId': training.id, 'moduleId': module.id, 'lessonId': trainingModuleLesson.id, 'practicalCaseId': practicalCase.id}) %}
{% elseif currentRoute in route_cases[1] %}
{% set practicalCasePath = path('manager_channel_practical_case_show', {'channelId': channel.id, 'lessonId': trainingModuleLesson.id}) %}
{% elseif currentRoute in route_cases[2] %}
{% set practicalCasePath = path('manager_channel_module_practical_case_show', {'channelId': channel.id, 'lessonId': trainingModuleLesson.id, 'moduleId': module.id}) %}
{% elseif currentRoute in route_cases[3] %}
{% set practicalCasePath = path('manager_channel_training_module_practical_case_show', {'channelId': channel.id, 'lessonId': trainingModuleLesson.id, 'moduleId': module.id, 'trainingId': training.id}) %}
{% endif %}
{{ scholar_navigation_link(practicalCase.title, currentRoute in practical_case_routes and trainingModuleLesson.id == lesson.id, practicalCasePath) }}
</div>
</li>
{% endif %}
{% if practicalCaseArchiveds is defined and practicalCaseArchiveds is not empty %}
{% for practicalCaseArchived in practicalCaseArchiveds %}
<li class="progress-list">
<div class="d-flex align-items-center ptb-5px">
<div class="circle-icon-done">
<div class="badge badge-info">{{ 'practical_case.archived.label' | trans }}</div>
</div>
{% set practicalCasePath = null %}
{% if front_access is same as false %}
{% set practicalCasePath = null %}
{% elseif currentRoute in route_cases[0] %}
{% set practicalCasePath = path('front_channel_practical_case_show', {'trainingId': training.id, 'moduleId': module.id, 'lessonId': trainingModuleLesson.id, 'practicalCaseId': practicalCaseArchived.getPracticalCase.id}) %}
{% elseif currentRoute in route_cases[1] %}
{% set practicalCasePath = path('manager_channel_practical_case_show', {'channelId': channel.id, 'lessonId': trainingModuleLesson.id}) %}
{% elseif currentRoute in route_cases[2] %}
{% set practicalCasePath = path('manager_channel_module_practical_case_show', {'channelId': channel.id, 'lessonId': trainingModuleLesson.id, 'moduleId': module.id}) %}
{% elseif currentRoute in route_cases[3] %}
{% set practicalCasePath = path('manager_channel_training_module_practical_case_show', {'channelId': channel.id, 'lessonId': trainingModuleLesson.id, 'moduleId': module.id, 'trainingId': training.id}) %}
{% endif %}
{{ scholar_navigation_link(practicalCaseArchived.getPracticalCase.title, currentRoute in practical_case_routes and trainingModuleLesson.id == lesson.id, practicalCasePath) }}
</div>
</li>
{% endfor %}
{% endif %}
{% if lessonReviewActivated %}
<li class="progress-list">
<div class="d-flex justify-content-center align-items-center ptb-5px w-100">
{% set path = null %}
{% if training is defined and training is not null and app.user is not null %}
{% if is_granted('FRONT_ACCESS_REVIEW', {'training': training, 'module': module, 'lesson': trainingModuleLesson}) is same as false %}
{% set path = null %}
{% else %}
{% set path = path('front_channel_lesson_show_review', {'trainingId': training.id, 'moduleId': module.id, 'lessonId': trainingModuleLesson.id}) %}
{% endif %}
{% endif %}
<div class="circle-icon-done review{% if path is null %} disabled{% endif %}">
</div>
{{ scholar_navigation_link('lessons.entity.lessonReviewActivated.menu_front_label' | trans, currentRoute in lesson_review_routes and trainingModuleLesson.id == lesson.id, path) }}
</div>
</li>
{% endif %}
</ul>
</div>
</div>
{% endfor %}
</div>
</div>