{% 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'
] %}
{% if currentRoute in routes_allowed %}
<div class="dropdown-div w-100">
<div class="dropdown-item-to-hover font-weight-bold d-flex justify-content-between align-items-center module-menu">
<div>Module : {{ module.name }}</div>
{% if currentRoute in sub_routes_allowed %}
<i class="fas fa-chevron-down"></i>
{% endif %}
</div>
{% if currentRoute in sub_routes_allowed %}
<div class="dropdown-content">
{% set trainingModules = training | get_modules %}
{% for trainingModule in trainingModules %}
{% set moduleLink = null %}
{% if currentRoute in front_routes %}
{% set moduleLink = path('front_channel_module_show_redirection', {'trainingId': training.id, 'moduleId': trainingModule.id}) %}
{% elseif currentRoute == 'manager_channel_training_module_lesson_show' or currentRoute == 'manager_channel_training_module_chapter_show' %}
{% set moduleLink = path('manager_channel_training_module_show', {'channelId': channel.id, 'trainingId': training.id, 'moduleId': trainingModule.id}) %}
{% endif %}
<a class="dropdown-content-item font-weight-bold w-100" href="{{- moduleLink -}}"
style="color: #212529;{% if loop.first %}padding: 8px 10px 4px 10px;{% else %}padding: 4px 10px;{% endif %}{% if trainingModule.id == module.id %}color: #4050B5;background-color: rgba(64, 80, 181, 0.11);{% endif %}">
- {{ trainingModule.name }}
</a>
{% endfor %}
</div>
{% endif %}
</div>
{% endif %}
<div class="accordion-nellapp accordion-style">
{% for trainingModuleLesson in trainingModuleLessons %}
{% set chapters = getChapters(trainingModuleLesson) %}
{% set exercises = getExercises(trainingModuleLesson) %}
{% set practicalCase = trainingModuleLesson.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="heading{{ trainingModuleLesson.id }}" class="accordion-nellapp-header"
{% if not loop.first %}style="border-top: 1px solid #dee2e6"{% endif %}>
<h5 class="mb-0">
<button class="btn-nellapp-accordion btn-nellapp-accordion-style"
data-toggle="collapse"
data-target="#collapse{{- trainingModuleLesson.id -}}"
aria-expanded="{% if trainingModuleLesson.id == lesson.id %}true{% else %}false{% endif %}"
aria-controls="collapse{{- 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_routes %}
{% 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="collapse{{ trainingModuleLesson.id }}"
class="collapse {% if trainingModuleLesson.id == lesson.id %}show{% endif %}"
style="border-top: 1px solid #dee2e6"
>
<div class="card-body padding-075">
<ul class="lesson-list p-0 m-0">
<li class="progress-list">
<div class="d-flex justify-content-center align-items-center ptb-5px w-100">
<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_chapter_show_message'],
['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 justify-content-center align-items-center ptb-5px w-100">
<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 justify-content-center align-items-center ptb-5px w-100">
{% 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 justify-content-center align-items-center ptb-5px w-100">
{% 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 justify-content-center align-items-center ptb-5px w-100">
<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>