templates/mission_details/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block body %}
  3.     <style>
  4.         /* Général */
  5.         body {
  6.             font-family: 'Roboto', sans-serif;
  7.             background-color: #F7F7F7;
  8.             color: #333;
  9.             line-height: 1.6;
  10.             margin: 0;
  11.             padding: 0;
  12.         }
  13.         /* Conteneurs et sections */
  14.         .rectangle {
  15.             border-radius: 10px;
  16.             border: 1px solid #B0C4DE;
  17.             padding: 30px;
  18.             margin-left: 50px;
  19.             margin-bottom: 30px;
  20.             background-color: #FFF;
  21.             box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  22.             overflow-wrap: break-word;
  23.             word-wrap: break-word;
  24.             overflow-x: hidden;
  25.             height: auto;
  26.         }
  27.         .summary-container {
  28.             background-color: #FFF;
  29.             border: 1px solid #B0C4DE;
  30.             border-radius: 10px;
  31.             padding: 25px;
  32.             margin-bottom: 20px;
  33.             margin-left: 50px;
  34.             box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  35.             overflow-wrap: break-word;
  36.             word-wrap: break-word;
  37.             overflow-x: hidden;
  38.             height: auto;
  39.             width: 100%; /* Pour qu'il prenne toute la largeur de sa colonne */
  40.             max-width: 400px;
  41.         }
  42.         /* Titres et en-têtes */
  43.         .Title {
  44.             font-family: 'Roboto', sans-serif;
  45.             font-size: 36px;
  46.             font-weight: 700;
  47.             color: #004080;
  48.             margin-bottom: 10px;
  49.         }
  50.         .second-title {
  51.             font-family: 'Roboto', sans-serif;
  52.             font-size: 28px;
  53.             color: #66B2FF;
  54.             margin-bottom: 20px;
  55.         }
  56.         .sous-titre {
  57.             font-size: 24px;
  58.             color: #004080;
  59.             border-bottom: 2px solid #66B2FF;
  60.             margin-bottom: 15px;
  61.             padding-bottom: 5px;
  62.         }
  63.         .RefMission {
  64.             font-size: 16px;
  65.             font-weight: bold;
  66.             color: #a3a3a3;
  67.             margin-bottom: 30px;
  68.         }
  69.         .vp {
  70.             font-size: 18px;
  71.             color: #333;
  72.             margin-bottom: 40px;
  73.         }
  74.         /* Boutons */
  75.         .large-button2 {
  76.             background-color: #0056b3;
  77.             color: white;
  78.             font-size: 20px;
  79.             width: 160px;
  80.             padding: 12px 0;
  81.             border: none;
  82.             border-radius: 8px;
  83.             cursor: pointer;
  84.             text-align: center;
  85.             transition: background-color 0.3s, transform 0.3s;
  86.             display: flex;
  87.             align-items: center;
  88.             justify-content: center;
  89.         }
  90.         .large-button2:hover {
  91.             background-color: #0056b3;
  92.             transform: translateY(-2px);
  93.         }
  94.         .large-button2 i {
  95.             margin-right: 8px;
  96.         }
  97.         /* Informations supplémentaires */
  98.         .summary-header {
  99.             font-size: 24px;
  100.             font-weight: bold;
  101.             color: #004080;
  102.             border-bottom: 1px solid #ccc;
  103.             margin-bottom: 20px;
  104.             padding-bottom: 5px;
  105.         }
  106.         .summary-content p {
  107.             margin: 5px 0;
  108.             font-size: 18px;
  109.             color: #004080;
  110.         }
  111.         .summary-content .value {
  112.             font-size: 1em;
  113.             width: auto;
  114.         }
  115.         /* Statut */
  116.         .status-header {
  117.             font-size: 22px;
  118.             font-weight: 700;
  119.             color: #66B2FF;
  120.             margin-top: 25px;
  121.             text-align: center;
  122.             padding: 10px;
  123.         }
  124.         .status-content {
  125.             font-size: 20px;
  126.             font-weight: bold;
  127.             color: #004080;
  128.             text-align: center;
  129.             background-color: #E6F2FA;
  130.             padding: 15px;
  131.             border-radius: 8px;
  132.             border: 1px solid #B0C4DE;
  133.         }
  134.         /* Mise en page et formulaires */
  135.         .form-inline {
  136.             display: flex;
  137.             align-items: center;
  138.             margin-left: 40px;
  139.         }
  140.         .block {
  141.             margin-left: 60px;
  142.         }
  143.         .move-left {
  144.             margin-left: -20px;
  145.         }
  146.         .prefix {
  147.             color: #66B2FF;
  148.             font-size: 0.9em;
  149.             font-weight: normal;
  150.         }
  151.         /* Styles pour la liste des compétences */
  152.         .competences-list {
  153.             list-style-type: none;
  154.             padding: 0;
  155.         }
  156.         .competence-item {
  157.             display: flex;
  158.             justify-content: space-between; /* Aligne les éléments à gauche et à droite */
  159.             align-items: center;
  160.             padding: 10px;
  161.             border-bottom: 1px solid #ddd;
  162.         }
  163.         .competence-info {
  164.             display: flex;
  165.             flex: 1; /* Occupe tout l'espace disponible à gauche */
  166.             font-size: 18px;
  167.         }
  168.         .categorie {
  169.             min-width: 120px; /* Largeur minimale fixe pour la catégorie */
  170.         }
  171.         .libelle {
  172.             margin-left: 10px; /* Espacement entre catégorie et libellé */
  173.             flex: 1;
  174.         }
  175.         .stars-container {
  176.             display: flex;
  177.             margin-left: 10px;
  178.             justify-content: flex-end; /* Aligne les étoiles à droite */
  179.         }
  180.         .star {
  181.             font-size: 25px;
  182.             color: #ddd; /* couleur des étoiles non remplies */
  183.         }
  184.         .star.filled {
  185.             color: #f39c12; /* couleur des étoiles remplies */
  186.         }
  187.         .large-button3 {
  188.             background-color:rgb(30, 150, 225)!important;
  189.             border-radius:rgb(30, 150, 225)!important;
  190.             width: 200px;
  191.             margin-left: -60px;
  192.         }
  193.     </style>
  194.     <div class="block row pt-5">
  195.         <div class="col-md-8">
  196.             <div class="row rectangle">
  197.                 <div class="col-md-10">
  198.                     <h2 class="Title">{{ laMission.titre }}</h2>
  199.                     <h3 class="second-title mb-4">
  200.                         <span class="prefix">Mission proposée par :</span> {% if laMission.confidentialite == 1 %}
  201.                                 Confidentiel
  202.                                 {% else %}
  203.                                     {{ laMission.entrepriseconcernee }} 
  204.                                 {% endif %}
  205.                     </h3>
  206.                     <p class="text-muted RefMission">
  207.                         <u>Ref :</u> {{ laMission.referencemission }}</p>
  208.                 </div>
  209.                 <div class="col-md-2">
  210.                 {% if hasAlreadyApplied %}
  211.                     <button type="button" class="btn btn-secondary mt-3 large-button3 move-left" disabled>
  212.                         <i class="fas fa-times-circle"></i> Vous avez déjà postulé
  213.                     </button>
  214.                 {% elseif laMission.statut == 0 %}
  215.                     <button type="button" class="btn btn-secondary mt-3 large-button2 move-left" disabled>
  216.                         <i class="fas fa-times-circle"></i> Postuler
  217.                     </button>
  218.                 {% else %}
  219.                     <a type="button" href="{{ path('app_postuler', { 'missionId': laMission.id }) }}" class="btn btn-primary mt-3 large-button2 move-left">
  220.                         <i class="fas fa-check-circle"></i> Postuler
  221.                     </a>
  222.                 {% endif %}
  223.             </div>
  224.             </div>
  225.             <div class="rectangle">
  226.                 <h2 class="sous-titre mb-4">À propos de l'entreprise :</h2>
  227.                 <p class="vp">{{ laMission.livrable|nl2br }}</p>
  228.                 <h2 class="sous-titre mb-4">Votre Mission :</h2>
  229.                 <p class="vp">{{ laMission.contexte|nl2br }}</p>
  230.                 <h2 class="sous-titre mb-4">Objectifs à atteindre :</h2>
  231.                 <p class="vp">{{ laMission.objectifs|nl2br }}</p>
  232.                 <h2 class="sous-titre mb-4">Compétences requises :</h2>
  233.                 
  234.                 {% if competence is not empty %}
  235.                     <ul class="competences-list">
  236.                         {% for competence in competence %}
  237.                             <li>
  238.                                 <div class="competence-info">
  239.                                     <span class="categorie">{{ competence.categorie }} : </span>
  240.                                     <span class="libelle">{{ competence.libelle }}</span
  241.                                 </div>
  242.                                 <div class="stars-container">
  243.                                     {% for i in 1..5 %}
  244.                                         <span class="star {% if i <= competence.niveaucompetence %}filled{% endif %}">&#9733;</span>
  245.                                     {% endfor %}
  246.                                 </div>
  247.                             </li>
  248.                         {% else %}
  249.                             <li>Aucune compétence ajoutée.</li>
  250.                         {% endfor %}
  251.                     </ul>
  252.                 {% else %}
  253.                     <p>Aucune compétence requise pour cette mission.</p>
  254.                 {% endif %}
  255.             </div>
  256.         </div>
  257.         <div class="col-md-3 container">
  258.             <div class="summary-container">
  259.                 <div class="summary-header">Informations</div>
  260.                 <div class="summary-content">
  261.                     <p class="vp">
  262.                         <span class="label"><i class="fas fa-tasks"></i> Type :</span>
  263.                         <span class="value">{{ laMission.modalite }}</span>
  264.                     </p>
  265.                     <p class="vp">
  266.                         <span class="label"><i class="fas fa-calendar-alt"></i> Début :</span>
  267.                         <span class="value">{{ laMission.datedebut|date('d/m/Y') }}</span>
  268.                     </p>
  269.                     <p class="vp">
  270.                         <span class="label"><i class="fas fa-hourglass-half"></i> Durée :</span>
  271.                         <span class="value">{{ laMission.duree }} {{ laMission.uniteduree }} mois</span>
  272.                     </p>
  273.                     <p class="vp">
  274.                         <span class="label"><i class="fas fa-euro-sign"></i> Budget :</span>
  275.                         <span class="value">
  276.                             {% if laMission.budget == 0 or laMission.budget is null %}
  277.                                 Non renseigné
  278.                             {% else %}
  279.                                 {{ laMission.budget }} €
  280.                             {% endif %}
  281.                         </span>
  282.                     </p>
  283.                     <p class="vp">
  284.                         <span class="label"><i class="fas fa-map-marker-alt"></i> Lieu :</span>
  285.                         <span class="value">{{ laMission.cp }}, {{ laMission.ville }}</span>
  286.                     </p>
  287.                     <p class="vp">
  288.                         <span class="label"><i class="{{ laMission.experiencedmd > 5 ? 'fas fa-user-tie' : (laMission.experiencedmd > 1 ? 'fas fa-user' : 'fas fa-user-graduate') }}"></i> Expérience demandée :</span>
  289.                         <span class="value">
  290.                             {{ laMission.experiencedmd }} {{ laMission.experiencedmd > 1 ? 'ans' : 'an' }}
  291.                         </span>
  292.                     </p>
  293.                 </div>
  294.                 <div class="status-header">Statut de la mission :</div>
  295.                 <div class="status-content">{{ laMission.statut ? 'Ouvert' : 'Fermé' }}</div>
  296.             </div>
  297.         </div>
  298.         <div class="col-md-1"></div>
  299.         <div class="button-group"></div>
  300.     </div>
  301. {% endblock %}
  302. {% block javascripts %}
  303.     {% include "include/_modale.html.twig" %}
  304. {% endblock %}