templates/front/includes/courses/forum.html.twig line 1
{% if heIsMembre %}
<h5 class="mb-4">Ask Your Question</h5>
<!-- Comment box -->
<div class="d-flex mb-4">
<!-- Avatar -->
<div class="avatar avatar-sm flex-shrink-0 me-2">
<a href="#"> <img class="avatar-img rounded-circle" src="{{ asset(membre.utilisateur.personne.avatarPath) }}" alt=""> </a>
</div>
{{ form_start(sujetForm) }}
{{ form_widget(sujetForm.content) }}
<button class="btn btn-primary ms-2 mb-0" type="submit">Post</button>
{{ form_end(sujetForm) }}
</div>
{% endif %}
<div class="accordion accordion-icon accordion-bg-light" id="accordionExample3">
{% for sujet in course.forum.sujets|default([]) %}
<div class="accordion-item mb-3">
<h6 class="accordion-header font-base" id="heading-forum-{{ sujet.id }}">
<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 }}">
<span class="mb-0">{{ sujet.content|raw }}</span>
<hr>
<span class="d-block mt-1">{{ sujet.forumMessages|length }} Messages</span>
{% if sujet.isSolved %}
<span class="d-block badge badge-lg text-success">SOLVED</span>
{% else %}
<span class="d-block badge badge-lg text-danger">NOT SOLVED</span>
{% endif %}
</a>
</h6>
<div id="collapse-forum-{{ sujet.id }}" class="accordion-collapse collapse" aria-labelledby="heading-forum-{{ sujet.id }}" data-bs-parent="#accordionExample3">
<div class="accordion-body mt-0 p-0">
<div class="vstack gap-0">
<!-- Comment item START -->
<div class="border p-2 p-sm-4 rounded-3 mb-4">
<div class="custom-scrollbar" style="max-height: 300px;overflow: auto;">
<ul class="list-unstyled mb-0">
{% for message in sujet.forumMessages %}
{% if not message.isAnswer %}
<li class="comment-item" id="item-comment-{{ message.id }}">
<div class="d-flex mb-3">
<!-- Avatar -->
<div class="avatar avatar-sm flex-shrink-0">
<a href="#"><img class="avatar-img rounded-circle" src="{{ asset(message.membre.utilisateur.personne.avatarPath) }}" alt=""></a>
</div>
<div class="ms-2">
<!-- Comment by -->
<div class="bg-light p-3 rounded">
<div class="d-flex justify-content-center">
<div class="me-2">
<h6 class="mb-1 lead fw-bold"> <a href="#!"> {{ message.membre.utilisateur.personne.pseudo }}</a></h6>
<p class="h6 mb-0">{{ message.content }}</p>
</div>
<small>{{ message.createdAt|date('d/m/Y - H:i:s') }}</small>
</div>
</div>
<!-- Comment react -->
<ul class="nav nav-divider py-2 small">
<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>
{% if not sujet.isSolved and membre is not same as null %}
<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>
{% if membre is same as sujet.membre %}
<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>
{% endif %}
{% endif %}
</ul>
</div>
</div>
<!-- Comment item nested START -->
<ul class="list-unstyled ms-4" id="reply-forum-message-{{ message.id }}">
{% if message.forumMessages|length > 0 %}
<!-- Comment item START -->
{% for fm in message.forumMessages %}
<li class="comment-item" id="item-comment-{{ fm.id }}">
<div class="d-flex">
<!-- Avatar -->
<div class="avatar avatar-xs flex-shrink-0">
<a href="#"><img class="avatar-img rounded-circle" src="{{ asset(fm.membre.utilisateur.personne.avatarPath) }}" alt=""></a>
</div>
<!-- Comment by -->
<div class="ms-2">
<div class="bg-light p-3 rounded">
<div class="d-flex justify-content-center">
<div class="me-2">
<h6 class="mb-1 lead fw-bold"> <a href="#"> {{ fm.membre.utilisateur.personne.pseudo }} </a> </h6>
<p class=" mb-0">{{ fm.content }}</p>
</div>
<small>{{ fm.createdAt|date('d/m/Y - H:i:s') }}</small>
</div>
</div>
<!-- Comment react -->
<ul class="nav nav-divider py-2 small">
<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>
{% if not sujet.isSolved and membre is same as sujet.membre %}
<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>
{% endif %}
</ul>
</div>
</div>
</li>
{% endfor %}
<!-- Comment item END -->
{% endif %}
</ul>
</li>
{% endif %}
{% else %}
<h5 class="mt-2 text-danger">No answer found</h5>
{% endfor %}
</ul>
<!-- Comment item nested END -->
</div>
<hr>
{% if heIsMembre and not sujet.isSolved %}
<div class="d-flex mb-4 mt-3">
<!-- Avatar -->
<div class="avatar avatar-sm flex-shrink-0 me-2">
<a href="#"> <img class="avatar-img rounded-circle" src="{{ asset(app.user.personne.avatarPath) }}" alt=""> </a>
</div>
<form method="POST" action="{{ url("app_front_course_new_forum_message", {referenceSujet: sujet.reference, membreId: membre.id}) }}" class="w-100 d-flex">
<textarea name="message" class="one form-control pe-4 bg-light" placeholder="Add a comment..." rows="1"></textarea>
<button class="btn btn-primary ms-2 mb-0" type="submit"><i class="fas fa-paper-plane"></i></button>
</form>
</div>
{% endif %}
</div>
<!-- Comment item END -->
</div>
</div>
</div>
</div>
{% endfor %}
</div>