templates/Front/Scholar/Lesson/show.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}{{ lesson.name }} - {{ parent() }}{% endblock %}
  3. {% set currentRoute = app.request.attributes.get('_route') %}
  4. {% block before_navbar %}
  5.     {% include 'Front/Scholar/Partial/_preview_manager_heager.html.twig' with {
  6.         'channel': channel,
  7.         'currentRoute': currentRoute,
  8.     } %}
  9. {% endblock before_navbar %}
  10. {% block body_markup %}
  11. <body class="progression lesson-view {% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}logged-in{% endif %}"
  12.       style="font-family: 'Poppins';"
  13.       id="page-training-lesson"
  14.         {% if currentRoute == 'front_channel_lesson_show' %}
  15.       data-training_id={{ training.id }}
  16.       data-module_id={{ module.id }}
  17.       data-lesson_id={{ lesson.id }}
  18.           {% endif %}
  19. >
  20. {% endblock body_markup %}
  21. {% block content %}
  22.     {% if currentRoute in ['front_channel_lesson_show', 'front_channel_lesson_show_without_training', 'manager_channel_module_lesson_show', 'manager_channel_training_module_lesson_show'] %}
  23.         {% set trainingModuleLessons = module | get_lessons %}
  24.     {% elseif currentRoute in ['manager_channel_lesson_show'] %}
  25.         {% set trainingModuleLessons = [lesson] %}
  26.     {% endif %}
  27.     {% include 'Front/Scholar/Partial/_menu_lessons_mobile.html.twig' %}
  28.     <div class="container pt-md-5 pb-md-5 pt-3 pb-3 summary-lesson font-size-14">
  29.         <div class="row">
  30.             <div class="col-md-9 col-12">
  31.                 <div>
  32.                     {% for key, messageType in app.flashes() %}
  33.                         <div>
  34.                             {% for message in messageType %}
  35.                                 <div class="alert alert-{{ key|replace({'error': 'danger'}) }}">
  36.                                     {{ message | trans }}
  37.                                 </div>
  38.                             {% endfor %}
  39.                         </div>
  40.                     {% endfor %}
  41.                 </div>
  42.                 <h2 class="v2-title-big">{{- 'front.scholar.lesson.show.summary_title.label'|trans({'%name%': lesson.name}) -}}</h2>
  43.                 <div class="col-12 col-lg-6 d-flex justify-content-between align-items-baseline p-0">
  44.                     {% if lesson is lock_by_interface %}
  45.                         {% set lessonStats = lesson.lockBy.lessonStats %}
  46.                     {% else %}
  47.                         {% set lessonStats = lesson.lessonStats %}
  48.                     {% endif %}
  49.                     {% if lessonStats is not null %}
  50.                         {{ get_rating_component(lessonStats.lessonReviewMarkAvg, 5, {'class': 'blue-stars', 'hide_when_null': true}) }}
  51.                     {% endif %}
  52.                     <div>
  53.                         {% if lesson.updatedAt is not null %}
  54.                             {{- 'front.scholar.training.show.createdAt.label'|trans({
  55.                                 '%date%': lesson.updatedAt|format_date('long', locale=app.request.locale),
  56.                             })|raw -}}
  57.                         {% else %}
  58.                             {{- 'front.scholar.training.show.createdAt.label'|trans({
  59.                                 '%date%': lesson.createdAt|format_date('long', locale=app.request.locale),
  60.                             })|raw -}}
  61.                         {% endif %}
  62.                     </div>
  63.                 </div>
  64.                 <div class="description-lesson mt-4">
  65.                     <p class="text-subcateg description-style">{{- lesson.description|raw -}}</p>
  66.                 </div>
  67.                 {% if lesson.objective is not null %}
  68.                     <div class="pt-30px">
  69.                         <div class="font-weight-bold pb-10px">{{- 'front.scholar.lesson.show.objectif_cours.label'|trans -}}</div>
  70.                         <p class="text-subcateg description-style">{{- lesson.objective -}}</p>
  71.                     </div>
  72.                 {% endif %}
  73.                 {% if lesson.lessonPrerequisites|length > 0 %}
  74.                     <div class="pt-30px mb-3">
  75.                         <div class="font-weight-bold pb-10px">{{- 'front.scholar.lesson.show.pre_requis.label'|trans -}}</div>
  76.                         {% for prerequisite in lesson.lessonPrerequisites %}
  77.                             <p class="font-size-14 m-0">{{- '- ' ~ prerequisite.label -}}</p>
  78.                         {% endfor %}
  79.                     </div>
  80.                 {% endif %}
  81.                 {% if lesson.minimumTime is not null %}
  82.                     {% set minimumTime = lesson.minimumTime | format_datetime(pattern = "HH'h'mm", locale=app.request.locale) %}
  83.                 {% else %}
  84.                     {% set minimumTime = null %}
  85.                 {% endif %}
  86.                 {% set caseStudy = lesson.caseStudy %}
  87.                 {% set mcq = lesson.exerciseCount %}
  88.                 {% if minimumTime or caseStudy or mcq %}
  89.                     <div class="row pt-20px">
  90.                         <div class="col-6 col-md-4 pt-10px">
  91.                             <div class="d-flex flex-row">
  92.                                 <img class="small-svg" src="{{ asset('build/common/watch.svg', 'common') }}"
  93.                                      alt="Temps minimum logo"/>
  94.                                 <div>
  95.                                     <div class="font-weight-bold">{{- 'front.scholar.lesson.show.temps_minimum.label'|trans -}}</div>
  96.                                     <div class="text-subcateg">{{- minimumTime -}}</div>
  97.                                 </div>
  98.                             </div>
  99.                         </div>
  100.                         <div class="col-6 col-md-4 pt-10px">
  101.                             <div class="d-flex flex-row">
  102.                                 <img class="small-svg" src="{{ asset('build/common/sheet-user.svg', 'common') }}"
  103.                                      alt="Cas pratique logo"/>
  104.                                 <div>
  105.                                     <div class="font-weight-bold">{{- 'front.scholar.lesson.show.cas_pratique.label'|trans -}}</div>
  106.                                     {% if caseStudy %}
  107.                                         <div class="text-subcateg">Oui</div>
  108.                                     {% else %}
  109.                                         <div class="text-subcateg">Non</div>
  110.                                     {% endif %}
  111.                                 </div>
  112.                             </div>
  113.                         </div>
  114.                         <div class="col-6 col-md-4 pt-10px">
  115.                             <div class="d-flex flex-row">
  116.                                 <img class="small-svg" src="{{ asset('build/common/sheet-pen.svg', 'common') }}"
  117.                                      alt="QCM logo"/>
  118.                                 <div>
  119.                                     <div class="font-weight-bold">{{- 'front.scholar.lesson.show.qcm.label'|trans -}}</div>
  120.                                     {% if mcq %}
  121.                                         <div class="text-subcateg">Oui</div>
  122.                                     {% else %}
  123.                                         <div class="text-subcateg">Non</div>
  124.                                     {% endif %}
  125.                                 </div>
  126.                             </div>
  127.                         </div>
  128.                     </div>
  129.                 {% endif %}
  130.                 {% if currentRoute == 'front_channel_lesson_show' %}
  131.                     {% include 'Front/Scholar/Partial/_scholar_navigation_previous_after.html.twig' with {
  132.                         next_informations: get_next_informations_lesson_summary(training, module, lesson),
  133.                         previous_informations: get_previous_informations_lesson_summary(training, module, lesson),
  134.                     } %}
  135.                 {% endif %}
  136.             </div>
  137.             <div class="col-3 p-0 d-none d-md-block">
  138.                 {% include 'Front/Scholar/Partial/menu_lessons.html.twig' %}
  139.             </div>
  140.         </div>
  141.     </div>
  142.     {{ parent() }}
  143. {% endblock content %}
  144. {% block inner_content %}
  145.     {{ parent() }}
  146. {% endblock inner_content %}
  147. {% block body %}
  148.     {{ parent() }}
  149. {% endblock %}
  150. {% block javascripts %}
  151.     {% if app.user and currentRoute == 'front_channel_lesson_show' %}
  152.         <script>
  153.             var attendanceLessonUrl = '{{ url('async_channel_scholar_attendance_lesson', {
  154.                 'channelId': channel.id
  155.             }) }}';
  156.         </script>
  157.     {% endif %}
  158.     {{ parent() }}
  159. {% endblock %}