templates/entreprise/afficher_entreprise.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title  %}
  3.     {{ boutique.nom }} | {{ parent() }}
  4. {% endblock title  %}
  5. {% block stylesheets  %}
  6.     {{ parent() }}
  7.     {% if boutique.estPro %}
  8.     {% if boutique.coverPhoto is not null %}
  9.     
  10.         <style>
  11.             /* The hero image */
  12.             .hero-image {
  13.                 background-image: url("{{ boutique.coverPhoto.url }}");
  14.               /* Set a specific height */
  15.               height: 300px;
  16.               /* Position and center the image to scale nicely on all screens */
  17.               background-position: center;
  18.               background-repeat: no-repeat;
  19.               background-size: cover;
  20.               position: relative;
  21.               z-index: -1000;
  22.             }
  23.             /* Place text in the middle of the image */
  24.             .hero-text {
  25.               text-align: center;
  26.               position: absolute;
  27.               top: 50%;
  28.               left: 50%;
  29.               transform: translate(-50%, -50%);
  30.               color: white;
  31.             }
  32.             
  33.             .centre-principal{
  34.             margin: auto;
  35.             width: 70%;
  36.         }
  37.         
  38.         @media only screen and (max-width: 600px) {
  39.           .centre-principal{
  40.             margin: auto;
  41.             width: 100%
  42.             }
  43.         }
  44.         </style>
  45.     {% endif %}
  46.     {% endif %}
  47. {% endblock stylesheets  %}
  48. {% block contenu_propre  %}
  49. <br/>
  50.     <div class="centre-principal">
  51.     <div class="container py-4">
  52.         <div class="row">
  53.             <div class="col-md-12">
  54.                 {% for message in app.flashes('success') %}
  55.                         <div class="alert alert-success">
  56.                             {{ message }}
  57.                         </div>
  58.                 {% endfor %}
  59.                 <div class="container-fluid">
  60.                     <div class="row">
  61.                         <div class="col">
  62.                             <div class="hero-image">
  63.                             </div>
  64.                         </div>
  65.                     </div>
  66.                     <div class="row">
  67.                         <div class="assie-card shadow">
  68.                             <div class="assie-card-body">
  69.                                 <div class="container">
  70.                                     <div class="row">
  71.                                         <div class="col-md-2">
  72.                                             <img class="img-fluid" src="{{ asset(boutique.logo.url) }}" style="width: 100%; border-radius: 50% 50%; height:auto;"/>
  73.                                         </div>
  74.                                         <div class="col-md-8">
  75.                                             <h3>{{ boutique.nom }}
  76.                                                 {% if boutique.estCertifie %}
  77.                                                     <i class="bi bi-check-circle-fill success" data-toggle="tooltip" title="{{ 'entreprise.certified_profile' | trans }}"></i>
  78.                                                 {% endif %}
  79.                                             </h3>
  80.                                             
  81.                                             <div>
  82.                                                 <h4 class="">
  83.                                                     
  84.                                                 {% for i in range(1, 5) %}
  85.                                                     
  86.                                                     {% if i <= boutique.moyenneAvis %}
  87.                                                         <i class="bi bi-star-fill jaune-or"></i>
  88.                                                     {% else %}
  89.                                                         <i class="bi bi-star jaune-or"></i>
  90.                                                     {% endif %}
  91.                                                     
  92.                                                 {% endfor %}
  93.                             
  94.                                                     <strong>({{ boutique.nombreAvis }} {{ 'entreprise.review_and_recommandation' | trans }})</strong>
  95.                                                 </h4>
  96.                                                 <p>
  97.                                                     {#<span class="btn btn-warning rounded-pill btn-lg">{{ 'entreprise.share' | trans }}</span> #}
  98.                                                     {% if dejaEnregistre == false %}
  99.                                                         <a href="{{ path('save_entreprise', {'slug': boutique.slug}) }}" class="btn btn-warning rounded-pill">{{ 'entreprise.ajouter_aux_favoris' | trans }}</a>
  100.                                                     {% else %}
  101.                                                         <span class="btn btn-success rounded-pill">{{ 'entreprise.dans_vos_favoris' | trans }}<i class="bi bi-check"></i></a>
  102.                                                     {% endif %}
  103.                                                     
  104.                                                     
  105.                                                 </p>
  106.                                             </div>
  107.                                         </div>
  108.                                         <div class="col-md-3">
  109.                                             
  110.                                         </div>
  111.                                         <div class="col-md-1">
  112.                                         </div>
  113.                                     </div>
  114.                                 </div>
  115.                             </div>
  116.                         </div>
  117.                     </div>
  118.                     <br/>
  119.                     <br/>
  120.                     
  121.                     <div class="row">
  122.                         <div class="col">
  123.                             {% if cestMaBoutique == false %}
  124.                             <span class="btn btn-secondary rounded-pill" data-bs-toggle="modal" data-bs-target="#exampleModal"> {{ 'entreprise.request_quote' | trans }}</span>    
  125.                             
  126.                             {% endif %}
  127.                             <div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  128.                               <div class="modal-dialog">
  129.                                 <form action="{{ path('nouveau_devis', {'fromABoutique': true, 'boutique': boutique.id}) }}" class="forms-sample" method="POST">
  130.                                 <div class="modal-content">
  131.                                   <div class="modal-header">
  132.                                     <h5 class="modal-title" id="exampleModalLabel">{{ 'entreprise.request_quote' | trans }}</h5>
  133.                                     <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  134.                                   </div>
  135.                                   <div class="modal-body">
  136.                                         {{ render(controller('App\\Controller\\EntrepriseController::nouveauDevisAction', {'fromABoutique': true, 'boutique': boutique.id})) }}
  137.                                   </div>
  138.                                   <div class="modal-footer">
  139.                                     <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">{{ 'admin.close' | trans }}</button>
  140.                                     <button type="submit" class="btn btn-primary">{{ 'admin.save' | trans }}</button>
  141.                                   </div>
  142.                                 </div>
  143.                                 </form>
  144.                               </div>
  145.                             </div> {# Fin modal devis#}
  146.                         </div>
  147.                         <div class="col">
  148.                             {% if cestMaBoutique == false %}
  149.                                 <span class="btn btn-secondary rounded-pill" data-bs-toggle="modal" data-bs-target="#claimPageModal"> {{ 'entreprise.claim_page' | trans }}</span>    
  150.                             {% endif %}
  151.                             <div class="modal fade" id="claimPageModal" tabindex="-1" aria-labelledby="claimPageModalLabel" aria-hidden="true">
  152.                               <div class="modal-dialog">
  153.                                 <div class="modal-content">
  154.                                   <div class="modal-header">
  155.                                     <h5 class="modal-title" id="claimPageModalLabel">{{ 'entreprise.claim_page' | trans }}</h5>
  156.                                     <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  157.                                   </div>
  158.                                   <div class="modal-body">
  159.                                         <p>
  160.                                             {{ 'entreprise.claim_page_warning' | trans }}
  161.                                         </p>
  162.                                         
  163.                                   </div>
  164.                                   <div class="modal-footer">
  165.                                     <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">{{ 'admin.close' | trans }}</button>
  166.                                     <a href="{{ path('reclamer_page', {'slug': boutique.slug}) }}" class="btn btn-primary">{{ 'entreprise.claim_page' | trans }}</a>
  167.                                   </div>
  168.                                 </div>
  169.                               </div>
  170.                             </div>
  171.                             
  172.                         </div>
  173.                     </div>
  174.                     <br/>
  175.                     <br/>
  176.                     {% if boutique.estPro %}
  177.                     <div class="row">
  178.                         <div class="col-md-5">
  179.                             
  180.                         </div>
  181.                     </div>
  182.                     {% endif %}
  183.                     <div class="row">
  184.                         
  185.                     </div>
  186.                     
  187.                     <br/>
  188.                     <br/>
  189.                     <div class="row">
  190.                         <div class="col-md-12">
  191.                             <div class="assie-card shadow">
  192.                                 <div class="assie-card-body">
  193.                                      <section id="portfolio" class="portfolio">
  194.                                           <div class="container" data-aos="fade-up">
  195.                                             <header class="section-header">
  196.                                               <h2>{{ 'admin.products' | trans }}</h2>
  197.                                             </header>
  198.                                             <div class="row" data-aos="fade-up" data-aos-delay="100">
  199.                                               <div class="col-lg-12 d-flex justify-content-center">
  200.                                                 <ul id="portfolio-flters">
  201.                                                   <li data-filter="*" class="filter-active">All</li>
  202.                                                   
  203.                                                 </ul>
  204.                                               </div>
  205.                                             </div>
  206.                                             <div class="row gy-4 portfolio-container" data-aos="fade-up" data-aos-delay="200">
  207.                                             {% for produit in produits %}
  208.                                               <div class="col-lg-4 col-md-6 portfolio-item filter-web">
  209.                                                 <div class="portfolio-wrap">
  210.                                                     {% if produit.imagePrincipale is not null %}
  211.                                                         <img class="img-fluid" src=" {{ produit.imagePrincipale.url }}" alt="{{ produit.nom }}" />
  212.                                                     {% endif %}
  213.                                                   <div class="portfolio-links">
  214.                                                       {% if produit.imagePrincipale is not null %}
  215.                                                          <a href="{{ produit.imagePrincipale.url }}" data-gallery="portfolioGallery" class="portfolio-lightbox" title="{{ produit.nom }}"><i class="bi bi-plus"></i></a>
  216.                                                     {% endif %}
  217.                                                     
  218.                                                      {#<a href="portfolio-details.html" title="More Details"><i class="bi bi-link"></i></a>#}
  219.                                                     </div>
  220.                                                   <div class="portfolio-info">
  221.                                                     <h4>{{ produit.nom }}</h4>
  222.                                                     
  223.                                                   </div>
  224.                                                 </div>
  225.                                               </div>
  226.                                               {% endfor %}
  227.                                             </div>
  228.                                           </div>
  229.                                         </section><!-- End Portfolio Section -->
  230.                                 </div>
  231.                             </div>
  232.                         </div>
  233.                     </div>
  234.                     <br/>
  235.                     <br/>
  236.                     <div class="row">
  237.                         <div class="col-md-6">
  238.                             <div class="assie-card shadow">
  239.                                 <div class="assie-card-body">
  240.                                     <h3>{{ 'entreprise.about' | trans }}</h3>
  241.                                     <hr/>
  242.                                     <p>
  243.                                     {{ boutique.description | raw }}
  244.                                         
  245.                                     </p>
  246.                                     <br/>
  247.                                     <h5><i class="bi bi-person-raised-hand"></i> Disponibilité: {{ boutique.disponibilite }}</h5><br/>
  248.                                     <h5><i class="bi bi-cash"></i> Main d'oeuvre: {{ boutique.mainDOeuvre }}</h5><br/>
  249.                                     <h5><i class="bi bi-geo-alt"></i> Zone d'intervention: {{ boutique.zoneDIntervention }}</h5>
  250.                                 </div>
  251.                             </div>
  252.                         </div>
  253.                         <div class="col-md-6">
  254.                             <div class="assie-card shadow">
  255.                                 <div class="assie-card-body">
  256.                                     <h3>{{ 'entreprise.contact_information' | trans }}</h3>
  257.                                     <hr/>
  258.                                     <p>
  259.                                         <span class="btn btn-lg btn-ouline-light"><i class="bi bi-geo-alt"></i></span> {{ boutique.adresse }}
  260.                                     </p>
  261.                                     <p>
  262.                                         <span class="btn btn-lg btn-ouline-light"><i class="bi bi-globe"></i></span> {{ boutique.siteweb }}
  263.                                     </p>
  264.                                     <p>
  265.                                         <span class="btn btn-lg btn-ouline-light"><i class="bi bi-telephone"></i></span> {{ boutique.phone }}
  266.                                     </p>
  267.                                     <p>
  268.                                         {% if cestMaBoutique == false %}
  269.                                             
  270.                                             <span class="btn btn-lg btn-danger btnScroller"  title="message" data-bs-toggle="modal" data-bs-target="#messageModal"><i class="bi bi-chat-fill"></i> {{ 'entreprise.send_message' | trans  }}</span>
  271.                                         
  272.                                             <div class="modal fade" id="messageModal" tabindex="-1" aria-labelledby="messageModalLabel" aria-hidden="true">
  273.                                               <div class="modal-dialog">
  274.                                                 <div class="modal-content">
  275.                                                   <div class="modal-header">
  276.                                                     <h5 class="modal-title" id="messageModalLabel">{{ 'entreprise.message' | trans }}</h5>
  277.                                                     <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  278.                                                   </div>
  279.                                                   <div class="modal-body">
  280.                                                         {{ render(controller('App\\Controller\\EntrepriseController::envoyerMessageAction', {'slug': boutique.slug})) }}    
  281.                                                   </div>
  282.                                                  
  283.                                                 </div>
  284.                                               </div>
  285.                                             </div>
  286.                                             
  287.                                             
  288.                                             <span class="btn btn-lg btn-warning btnScroller"  title="review" data-bs-toggle="modal" data-bs-target="#leaveReviewModal"><i class="bi bi-star-fill"></i> {{ 'entreprise.leave_review' | trans  }}</span>
  289.                                             <div class="modal fade" id="leaveReviewModal" tabindex="-1" aria-labelledby="leaveReviewModalLabel" aria-hidden="true">
  290.                                               <div class="modal-dialog">
  291.                                                 <div class="modal-content">
  292.                                                   <div class="modal-header">
  293.                                                     <h5 class="modal-title" id="leaveReviewModalLabel">{{ 'entreprise.leave_review' | trans }}</h5>
  294.                                                     <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  295.                                                   </div>
  296.                                                   <div class="modal-body">
  297.                                                         {{ render(controller('App\\Controller\\EntrepriseController::donnerAvisAction', {'slug': boutique.slug})) }}
  298.                                 
  299.                                                         
  300.                                                   </div>
  301.                                                  
  302.                                                 </div>
  303.                                               </div>
  304.                                             </div>
  305.                                             
  306.                                         {% endif %}
  307.                                     </p>
  308.                                 </div>
  309.                             </div>
  310.                         </div>
  311.                         
  312.                     </div>
  313.                     <br/>
  314.                     <br/>
  315.                     <div class="row">
  316.                         <div class="col-md-12">
  317.                             <div class="assie-card shadow">
  318.                                 <div class="assie-card-body">
  319.                                     <h3>{{ 'gestion.introduction_video' | trans }}</h3>
  320.                                     <p>
  321.                                         {% if boutique.estPro %}
  322.                                             {% if boutique.videoPresentation is not null %}
  323.                                                 <video>
  324.                                                     <video width="320" height="240" controls>
  325.                                                       <source src="{{ boutique.videoPresentation.url }}" >
  326.                                                       Your browser does not support the video tag.
  327.                                                     </video>
  328.                                                 </video>
  329.                                             {% endif %}
  330.                                         {% endif %}
  331.                                     </p>
  332.                                 </div>
  333.                             </div>
  334.                         </div>
  335.                     </div>
  336.                     <br/>
  337.                     <br/>
  338.                     {% if cestMaBoutique == false %}
  339.                     
  340.                     <br/>
  341.                     <br/>
  342.                     {% endif %}
  343.                     <div class="row">
  344.                         <div class="col-md-10">
  345.                             <div class="assie-card bg-light">
  346.                                 <div class="assie-card-body">
  347.                                     <strong>{{ 'entreprise.verified_reviews' | trans }} ({{ nombreAvis }})</strong>
  348.                                 </div>
  349.                             </div>
  350.                         </div>
  351.                     </div>
  352.                     <br/>
  353.                     
  354.                     <div class="row">
  355.                         <div class="col-md-4">
  356.                             <div class="assie-card bg-light">
  357.                                 <div class="assie-card-body">
  358.                                     <h2 class="jaune-or text-center"><strong>{{ boutique.moyenneAvis }}/5</strong></h2>
  359.                                     <h2 class="text-center">
  360.                                     {% for i in range(1, 5) %}
  361.                                         {% if i <= boutique.moyenneAvis %}
  362.                                             <i class="bi bi-star-fill jaune-or"></i>
  363.                                         {% else %}
  364.                                             <i class="bi bi-star jaune-or"></i>
  365.                                         {% endif %}
  366.                                     {% endfor %}
  367.                                     </h2>
  368.                                     <p class="text-center"><strong>{{ nombreAvis }} {{ 'entreprise.verified_reviews' | trans }}</strong></p>
  369.                                 </div>
  370.                             </div>
  371.                         </div>
  372.                         
  373.                         <div class="col-md-1">
  374.                             <p><strong>5</strong> <i class="bi bi-star-fill jaune-or"></i> ({{ cinqEtoiles.nombre }})</p>
  375.                             <p><strong>4</strong> <i class="bi bi-star-fill jaune-or"></i> ({{ quatreEtoiles.nombre }})</p>
  376.                             <p><strong>3</strong> <i class="bi bi-star-fill jaune-or"></i> ({{ troisEtoiles.nombre }})</p>
  377.                             <p><strong>2</strong> <i class="bi bi-star-fill jaune-or"></i> ({{ deuxEtoiles.nombre }})</p>
  378.                             <p><strong>1</strong> <i class="bi bi-star-fill jaune-or"></i> ({{ uneEtoiles.nombre }})</p>
  379.                         </div>
  380.                         <div class="col-md-5">
  381.                             <p>
  382.                                 <div class="progress">
  383.                                       <div class="progress-bar" role="progressbar" style="width: {{ cinqEtoiles.moyenne }}%; background: #F9C852;" aria-valuenow="{{ cinqEtoiles.moyenne }}" aria-valuemin="0" aria-valuemax="100"></div>
  384.                                 </div>
  385.                             </p>
  386.                             <p>
  387.                             <div class="progress">
  388.                                   <div class="progress-bar" role="progressbar" style="width: {{ quatreEtoiles.moyenne }}%; background: #F9C852;" aria-valuenow="{{ quatreEtoiles.moyenne }}" aria-valuemin="0" aria-valuemax="100"></div>
  389.                             </div>
  390.                             </p>
  391.                             <p>
  392.                                 <div class="progress">
  393.                                       <div class="progress-bar" role="progressbar" style="width: {{ troisEtoiles.moyenne }}%; background: #F9C852;" aria-valuenow="{{ troisEtoiles.moyenne }}" aria-valuemin="0" aria-valuemax="100"></div>
  394.                                 </div>
  395.                             </p>
  396.             
  397.                             <p>
  398.                                 <div class="progress">
  399.                                       <div class="progress-bar" role="progressbar" style="width: {{ deuxEtoiles.moyenne }}%; background: #F9C852;" aria-valuenow="{{ deuxEtoiles.moyenne }}" aria-valuemin="0" aria-valuemax="100"></div>
  400.                                 </div>
  401.                             </p>
  402.                             <p>
  403.                                 <div class="progress">
  404.                                       <div class="progress-bar" role="progressbar" style="width: {{ uneEtoiles.moyenne }}%; background: #F9C852;" aria-valuenow="{{ uneEtoiles.moyenne }}" aria-valuemin="0" aria-valuemax="100"></div>
  405.                                 </div>
  406.                             </p>
  407.                         </div>
  408.                     </div>
  409.                     <br/>
  410.                             {% for avisUtilisateur in avisUtilisateurs %}
  411.                                         <div class="row">
  412.                                         <div class="col-md-12">
  413.                                             <div class="assie-card">
  414.                                             <div class="assie-card-body">
  415.                                             <div class="row">
  416.                                                 <div class="col-md-2">
  417.                                                     <img src="{{ asset(avisUtilisateur.user.avatar.url) }} " alt="Profile" class="rounded-circle" style="max-height: 96px; max-width: 96px;">
  418.                                                 </div>
  419.                                                 <div class="col-md-6">
  420.                                                     <h3>{{ avisUtilisateur.user.username }} {% if avisUtilisateur.user.estEmbassadeur %} <i class="bi bi-star-fill jaune-or" data-toggle="tooltip" title="{{ 'entreprise.assie_embassy' | trans }}"></i> {% endif %}</h3>
  421.                                                 
  422.                                                         {% for i in range(1, 5) %}
  423.                                                             
  424.                                                             {% if i <= avisUtilisateur.valeurAvis %}
  425.                                                                 <i class="bi bi-star-fill"></i>
  426.                                                             {% else %}
  427.                                                                 <i class="bi bi-star"></i>
  428.                                                             {% endif %}
  429.                                                             
  430.                                                         {% endfor %}
  431.                                                         
  432.                                                         {{ avisUtilisateur.laDate | date('d/m/Y') }}
  433.                                                         <br/>
  434.                                                     <p>{{ avisUtilisateur.contenu }}</p>
  435.                                                 </div>
  436.                                                 <div class="col-md-2">
  437.                                                     <br/>
  438.                                                     <br/>
  439.                                                     <div class="text-center">
  440.                                                         <a href="{{ path('avis_inutile', {'id': avisUtilisateur.id}) }}" class="btn btn-warning"  data-toggle="tooltip" title="{{ 'gestion.useless_review' | trans }}"><i class="bi bi-hand-thumbs-down-fill"></i></a>
  441.                                                         <a href="{{ path('avis_utile', {'id': avisUtilisateur.id}) }}" class="btn btn-success"  data-toggle="tooltip" title="{{ 'gestion.usefull_review' | trans }}"><i class="bi bi-hand-thumbs-up-fill"></i></a>
  442.                                                         <a href="{{ path('signaler_avis', {'id': avisUtilisateur.id}) }}" class="btn btn-danger"  data-toggle="tooltip" title="{{ 'gestion.flag' | trans }}"><i class="bi bi-flag-fill"></i></a>
  443.                                                     </div>
  444.                                                 </div>
  445.                                             </div>
  446.                                             </div>
  447.                                             </div>
  448.                                         </div>
  449.                                         </div>
  450.                                 <br/>
  451.                             {% endfor %}
  452.                         
  453.                 </div>
  454.             </div>
  455.             <div class="col-md-3">
  456.                 <a href="" class="">
  457.                     <h5></h5>
  458.                 </a>
  459.             </div>
  460.         </div>
  461.         <br/>
  462.     </div>
  463.     </div>
  464. {% endblock contenu_propre  %}
  465. {% block javascripts  %}
  466.     {{ parent() }}
  467.     <script type="text/javascript">
  468.         $(function(){
  469.             var $btnScroller = $('.btnScroller');
  470.             
  471.             $btnScroller.click(function(){
  472.                 var $id = $(this).attr('title');
  473.                 var $theTop =  $('#'+$id).offset().top - $(this).offset().top + $(this).scrollTop();
  474.                 
  475.                 $('html, body').animate({
  476.                     scrollTop: $theTop
  477.                 }, 1000, 'linear', function(){
  478.                     console.log($theTop);
  479.                 })
  480.             });
  481.         });
  482.     </script>
  483. {% endblock javascripts  %}