templates/front/pro/_pro-card.html.twig line 1

Open in your IDE?
  1. {% if pro is instanceof('App\\Entity\\Coach') %}
  2.     {% set type = 'global.coach' | trans %}
  3.     {% set originalName = 'coach' %}
  4. {% elseif pro is instanceof('App\\Entity\\Club') %}
  5.     {% set type = 'global.club' | trans %}
  6.     {% set originalName = 'club' %}
  7. {% elseif pro is instanceof('App\\Entity\\Operator') %}
  8.     {% set type = 'global.operator' | trans %}
  9.     {% set originalName = 'operator' %}
  10. {% endif %}
  11. <div class="pro-card {{ originalName }}">
  12.     {% if is_granted('ROLE_TRAINEE') %}
  13.     <a href="{{ path('add_pro_favorite', {'id': pro.id}) }}" class="btn btn-icon btn-like-pro" data-update data-token="{{ csrf_token('favorite' ~ pro.id) }}">
  14.         <i class="fas fa-heart {% if app.user.isProFavorite(pro) %}favorite{% endif %}"></i>
  15.     </a>
  16.     {% elseif not is_granted('ROLE_TRAINEE') and not is_granted('ROLE_PRO') %}
  17.     <button type="button" class="btn btn-icon btn-like-pro" data-toggle="modal" data-target="#add-to-favorite">
  18.         <i class="fas fa-heart"></i>
  19.     </button>
  20.     {% endif %}
  21.     {% if page is defined and page == 'partner' %}
  22.         <button type="submit" class="btn partner-delete-btn" data-toggle="modal" data-target="#remove-partner-{{ partnerInfo.id }}">
  23.             <i class="far fa-times"></i>
  24.         </button>
  25.         <!-- Modal remove partner -->
  26.         <div class="modal fade" id="remove-partner-{{ partnerInfo.id }}" tabindex="-1" role="dialog" aria-labelledby="partner" aria-hidden="true">
  27.             <div class="modal-dialog modal-dialog-centered" role="document">
  28.                 <div class="modal-content">
  29.                     <div class="modal-body">
  30.                         <div class="modal-title-wrap">
  31.                             <h5 class="modal-title">Suppression d'un partenaire</h5>
  32.                             <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  33.                                 <i class="fal fa-times"></i>
  34.                             </button>
  35.                         </div>
  36.                         <div class="partner-content-wrap">
  37.                             {% if haveCommonIntership(app.user, partnerInfo) %}
  38.                                 <p class="modal-text">
  39.                                     Vous ne pouvez pas supprimer ce partenaire car il est associé à l'un de vos stages en ligne
  40.                                 </p>
  41.                             {% else %}
  42.                                 {% if partnerInfo is instanceof('App\\Entity\\ClubInfo') %}
  43.                                 {% set actionUrl = path('delete_club_partner') %}
  44.                                 {% elseif partnerInfo is instanceof('App\\Entity\\CoachInfo') %}
  45.                                 {% set actionUrl = path('delete_coach_partner') %}
  46.                                 {% endif %}
  47.                                 <form action="{{ actionUrl }}" method="post">
  48.                                     <input type="hidden" name="partnerId" value="{{ partnerInfo.id }}">
  49.                                     <p class="modal-text">
  50.                                         Êtes vous sûr de vouloir supprimer votre partenaire <b>{{ partnerInfo.name }}</b> ?
  51.                                     </p>
  52.                                     <div class="modal-actions">
  53.                                         <button type="submit" class="btn main-btn btn-sm">
  54.                                             Oui, supprimer
  55.                                         </button>
  56.                                         <button type="button" class="btn main-btn-outline btn-sm" data-dismiss="modal" aria-label="Close">
  57.                                             Non, annuler
  58.                                         </button>
  59.                                     </div>
  60.                                 </form>
  61.                             {% endif %}
  62.                         </div>
  63.                     </div>
  64.                 </div>
  65.             </div>
  66.         </div>
  67.         
  68.     {% endif %}
  69.     <a href="{{ path('view_pro', {'type': originalName, 'slug': pro.slug}) }}" class="pro-link">
  70.         <div class="pro-type">{{ type | capitalize }}</div>
  71.         <div class="pro-infos">
  72.             {% if pro.photo is fileexists('avatar_directory') %}
  73.                 {% set avatar = pro.photo %}
  74.             {% else %}
  75.                 {% set avatar = 'default-profile.png' %}
  76.             {% endif %}
  77.             <img loading="lazy" src="{{ asset('/images/profiles/' ~ avatar) }}" alt="" class="pro-img">
  78.             <h3 class="pro-name">
  79.             {{ pro.proInfo.fullname }}
  80.             </h3>
  81.             
  82.             
  83.             <div class="pro-review">
  84.                 {% set averageNotes = getAverageNotes(pro)%}
  85.                 {% set average = averageNotes.total %}
  86.                 {% if average != 0 %}
  87.                     {% for i in 1..5 %}
  88.                         {% if average >= i %}
  89.                             <i class="fas fa-star"></i>
  90.                         {% else %}
  91.                             {% if average > (i - 1) %}
  92.                                 <i class="fas fa-star-half-alt"></i>
  93.                             {% else %}
  94.                                 <i class="far fa-star"></i>                                    
  95.                             {% endif %}
  96.                         {% endif %}
  97.                     {% endfor %}
  98.                 {% else %}
  99.                     {% for i in 1..5 %}
  100.                         <i class="fas fa-star grey-star"></i>
  101.                     {% endfor %}
  102.                 {% endif %}
  103.                 <span class="pro-review-note">({{ averageNotes.count }})</span>
  104.             </div>
  105.             
  106.             <div class="pro-extra">
  107.                 <i class="far fa-map-marker-alt"></i>
  108.                 <span class="pro-extra-text">{% if pro.address.city %}{{ pro.address.city }}, {% endif %}{{ pro.address.countryCode | countryName(app.request.locale) }}</span>
  109.             </div>
  110.             <div class="pro-extra">
  111.                 <i class="fal fa-globe"></i>
  112.                 <span class="pro-languages">
  113.                     {% for language in pro.languages | slice(0, 4) %}
  114.                         <img loading="lazy" src="{{ asset('/images/flag/' ~ language.slug ~ '.png') }}" class="language-flag" alt="{{ language.name }}">
  115.                     {% endfor %}
  116.                     {% if pro.languages | length > 4 %}
  117.                     {% set others = pro.languages | length - 4 %}
  118.                     <span class="language-flag">+{{ others }}</span>
  119.                     {% endif %}
  120.                 </span>
  121.             </div>
  122.             <span class="pro-courses">
  123.                 {% if pro | proActiveCourses > 1 %}
  124.                     {{ pro | proActiveCourses }} {{ 'global.courses' | trans }}
  125.                 {% else %}
  126.                     {{ pro | proActiveCourses }} {{ 'global.course' | trans }}
  127.                 {% endif %}
  128.             </span>
  129.         </div>
  130.     </a>
  131. </div>