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