templates/front/includes/courses/forum.html.twig line 1

  1. {% if heIsMembre %}
  2. <h5 class="mb-4">Ask Your Question</h5>
  3. <!-- Comment box -->
  4. <div class="d-flex mb-4">
  5.     <!-- Avatar -->
  6.     <div class="avatar avatar-sm flex-shrink-0 me-2">
  7.         <a href="#"> <img class="avatar-img rounded-circle" src="{{ asset(membre.utilisateur.personne.avatarPath) }}" alt=""> </a>
  8.     </div>
  9.     {{ form_start(sujetForm) }}
  10.         {{ form_widget(sujetForm.content) }}
  11.         <button class="btn btn-primary ms-2 mb-0" type="submit">Post</button>
  12.     {{ form_end(sujetForm) }}
  13. </div>
  14. {% endif %} 
  15.  
  16. <div class="accordion accordion-icon accordion-bg-light" id="accordionExample3">
  17.     
  18.     {% for sujet in course.forum.sujets|default([]) %}
  19.         
  20.         <div class="accordion-item mb-3">
  21.             <h6 class="accordion-header font-base" id="heading-forum-{{ sujet.id }}">
  22.                 <a class="accordion-button fw-bold rounded d-block" href="#collapse-forum-{{ sujet.id }}" data-bs-toggle="collapse" data-bs-target="#collapse-forum-{{ sujet.id }}" aria-expanded="true" aria-controls="collapse-forum-{{ sujet.id }}">
  23.                     <span class="mb-0">{{ sujet.content|raw }}</span> 
  24.                     <hr>
  25.                     <span class="d-block mt-1">{{ sujet.forumMessages|length }} Messages</span> 
  26.                     {% if sujet.isSolved %}
  27.                         <span class="d-block badge badge-lg text-success">SOLVED</span>
  28.                     {% else %}
  29.                         <span class="d-block badge badge-lg text-danger">NOT SOLVED</span>
  30.                     {% endif %}
  31.                 </a>
  32.             </h6>
  33.             <div id="collapse-forum-{{ sujet.id }}" class="accordion-collapse collapse" aria-labelledby="heading-forum-{{ sujet.id }}" data-bs-parent="#accordionExample3">
  34.                 <div class="accordion-body mt-0 p-0">
  35.                     <div class="vstack gap-0">
  36.                         <!-- Comment item START -->
  37.                         <div class="border p-2 p-sm-4 rounded-3 mb-4">
  38.                             <div class="custom-scrollbar" style="max-height: 300px;overflow: auto;">
  39.                                 <ul class="list-unstyled mb-0">
  40.                                     {% for message in sujet.forumMessages %}
  41.                                         {% if not message.isAnswer %}
  42.                                             <li class="comment-item" id="item-comment-{{ message.id }}">
  43.                                                 <div class="d-flex mb-3">
  44.                                                     <!-- Avatar -->
  45.                                                     <div class="avatar avatar-sm flex-shrink-0">
  46.                                                         <a href="#"><img class="avatar-img rounded-circle" src="{{ asset(message.membre.utilisateur.personne.avatarPath) }}" alt=""></a>
  47.                                                     </div>
  48.                                                     <div class="ms-2">
  49.                                                         <!-- Comment by -->
  50.                                                         <div class="bg-light p-3 rounded">
  51.                                                             <div class="d-flex justify-content-center">
  52.                                                                 <div class="me-2">
  53.                                                                     <h6 class="mb-1 lead fw-bold"> <a href="#!"> {{ message.membre.utilisateur.personne.pseudo }}</a></h6>
  54.                                                                     <p class="h6 mb-0">{{ message.content }}</p>
  55.                                                                 </div>
  56.                                                                 <small>{{ message.createdAt|date('d/m/Y - H:i:s') }}</small>
  57.                                                             </div>
  58.                                                         </div>
  59.                                                         <!-- Comment react -->
  60.                                                         <ul class="nav nav-divider py-2 small">
  61.                                                             <li class="nav-item"> <a class="text-primary-hover {{ heIsMembre and not sujet.isSolved ? 'like-forum-message' : ''}}" href="{{ heIsMembre and not sujet.isSolved ? url("app_course_like_forum_message", {id: message.id}) : '#item-comment-' ~ message.id }}"><i class="fas fa-thumbs-up"></i> Like (<span class="nb-likes">{{ message.likes }}</span>)</a> </li>
  62.                                                             {% if not sujet.isSolved and membre is not same as null %}
  63.                                                                 <li class="nav-item"> <a class="text-primary-hover {{ heIsMembre and not sujet.isSolved ? 'reply-forum-message' : '' }}" data-forum-message="{{ message.id }}" data-membre="{{ membre.id }}" data-append-response="#reply-forum-message-{{ message.id }}" {{ heIsMembre and not sujet.isSolved ? 'data-bs-toggle="modal" data-bs-target="#replyForumMessage"' : '' }} href="#"><i class="fas fa-reply"></i> Reply</a> </li>
  64.                                                                 {% if membre is same as sujet.membre %}
  65.                                                                     <li class="nav-item"> <a onclick="return confirm('Are you sure that you want to set these response as the top response that solved your problem ?')" class="text-primary-hover text-success" href="{{ url("app_course_solve_forum_message", {id: message.id}) }}"><i class="fas fa-check"></i> Resolved by these post</a> </li>
  66.                                                                 {% endif %}
  67.                                                             {% endif %}
  68.                                                         </ul>
  69.                                                     </div>
  70.                                                 </div>
  71.                                                     <!-- Comment item nested START -->
  72.                                                     <ul class="list-unstyled ms-4" id="reply-forum-message-{{ message.id }}">
  73.                                                         {% if message.forumMessages|length > 0 %}
  74.                                                             <!-- Comment item START -->
  75.                                                             {% for fm in message.forumMessages %}
  76.                                                                 <li class="comment-item" id="item-comment-{{ fm.id }}">
  77.                                                                     <div class="d-flex">
  78.                                                                         <!-- Avatar -->
  79.                                                                         <div class="avatar avatar-xs flex-shrink-0">
  80.                                                                             <a href="#"><img class="avatar-img rounded-circle" src="{{ asset(fm.membre.utilisateur.personne.avatarPath) }}" alt=""></a>
  81.                                                                         </div>
  82.                                                                         <!-- Comment by -->
  83.                                                                         <div class="ms-2">
  84.                                                                             <div class="bg-light p-3 rounded">
  85.                                                                                 <div class="d-flex justify-content-center">
  86.                                                                                     <div class="me-2">
  87.                                                                                         <h6 class="mb-1  lead fw-bold"> <a href="#"> {{ fm.membre.utilisateur.personne.pseudo }} </a> </h6>
  88.                                                                                         <p class=" mb-0">{{ fm.content }}</p>
  89.                                                                                     </div>
  90.                                                                                     <small>{{ fm.createdAt|date('d/m/Y - H:i:s') }}</small>
  91.                                                                                 </div>
  92.                                                                             </div>
  93.                                                                             <!-- Comment react -->
  94.                                                                             <ul class="nav nav-divider py-2 small">
  95.                                                                                 <li class="nav-item"> <a class="text-primary-hover {{ heIsMembre and not sujet.isSolved ? 'like-forum-message' : ''}}" href="{{ heIsMembre and not sujet.isSolved ? url("app_course_like_forum_message", {id: fm.id}) : '#item-comment-' ~ fm.id }}"><i class="fas fa-thumbs-up"></i> Like (<span class="nb-likes">{{ fm.likes }}</span>)</a> </li>
  96.                                                                                 {% if not sujet.isSolved and membre is same as sujet.membre %}
  97.                                                                                     <li class="nav-item"> <a onclick="return confirm('Are you sure that you want to set these response as the top response that solved your problem ?')" class="text-primary-hover text-success" href="{{ url("app_course_solve_forum_message", {id: fm.id}) }}"><i class="fas fa-check"></i> Resolved by these post</a> </li>
  98.                                                                                 
  99.                                                                                 {% endif %}
  100.                                                                             </ul>
  101.                                                                         </div>
  102.                                                                     </div>
  103.                                                                 </li>
  104.                                                             {% endfor %}
  105.                                                                 <!-- Comment item END -->
  106.                                                         {% endif %}
  107.                                                     </ul>
  108.                                             </li>
  109.                                         {% endif %}
  110.                                     {% else %}
  111.                                         <h5 class="mt-2 text-danger">No answer found</h5>
  112.                                     {% endfor %}
  113.                                 </ul>
  114.                                 <!-- Comment item nested END -->
  115.                             </div>
  116.                             <hr>
  117.                             {% if heIsMembre and not sujet.isSolved %}
  118.                                 <div class="d-flex mb-4 mt-3">
  119.                                     <!-- Avatar -->
  120.                                     <div class="avatar avatar-sm flex-shrink-0 me-2">
  121.                                         <a href="#"> <img class="avatar-img rounded-circle" src="{{ asset(app.user.personne.avatarPath) }}" alt=""> </a>
  122.                                     </div>
  123.                                     <form method="POST" action="{{ url("app_front_course_new_forum_message", {referenceSujet: sujet.reference, membreId: membre.id}) }}" class="w-100 d-flex">
  124.                                         <textarea name="message" class="one form-control pe-4 bg-light" placeholder="Add a comment..." rows="1"></textarea>
  125.                                         <button class="btn btn-primary ms-2 mb-0" type="submit"><i class="fas fa-paper-plane"></i></button>
  126.                                     </form>
  127.                                 </div>
  128.                             {% endif %}
  129.                         </div>
  130.                         <!-- Comment item END -->
  131.                         
  132.                     </div>
  133.                 </div>
  134.             </div>
  135.         </div>
  136.         
  137.     {% endfor %}
  138.  </div>