Skip to main content

COP/SECOURS - Transformer un choix oui/non en multichoix

Nous rejoindre sur Discord : lien discord

Sujet : L'objectif de ce plugin sera de vous permettre de changer une sélection oui/non par une valeur présente dans une liste prédéfinie (par exemple pour les permis, changer oui/non par Voiture/Moto/Camion/etc....

Attention la mise en place de ce plugin est difficile et demande de l'attention. Si vous rencontrez un problème, n'hésitez pas à venir sur notre Discord et créez un ticket avec votre objectif et le problème que vous rencontré.

Étape 1 : Identifiez

La première étape consiste à identifier le champs que vous souhaitez modifier. Ensuite une fois le champs identifier, il vous faudra appliquer les modifications adéquates.

Étape 2 : Modification de la base de données

Pour faire la modification dans la base de données, vous devez identifiez la colonne contenant votre information (dans la majorité des cas, le type de la colonne sera ENUM). Une fois la colonne identifiez, il faut exécuter la requête suivante pour faire la modification :

ALTER TABLE nom_table MODIFY nom_champ VARCHAR(128);

Exemple, pour modifier :

  • Le permis :
    • nom_table = personnes
    • nom_champ = permis
  • Le PPA
    • nom_table = personnes
    • nom_champ = ppa
  • Le sexe/genre
    • nom_table = personnes
    • nom_champ = sexe

Étape 3 : Modifier les champs de saisies

Une fois la base de données modifiée, il faut maintenant mettre à jour les champs de saisie des informations. Voici comment retrouver le fichier à modifier dans une page :

Récupérer l'url :

Retouvez le code associé : tous les liens sont présents dans le répertoire routes, il vous suffit ensuite de retrouvez votre URL

Flight::route('/ajouter/civil', function() {
  verif_connecter();
  Flight::view()->display('add/add_civil.twig');
});

Afficher la page : avec le code, l'élement Flight::view()->display('add/add_civil.twig'); permet de définir quelle page est associé à l'url. Les pages sont présentes dans page pour l'intranet cop ou views pour l'intranet secours.

Trouver la liste : Pour trouver votre liste, vous devez rechercher l'élément suivant sur la pge : <select

<div>
  <label for="licence">Permis :</label>

  <select name="civil_licence" id="licence">
    <option value="0">Non</option>
    <option value="1">Oui</option>
  </select>
</div>

Modifiez les valeurs : La dernière étape consite à remplacer les valeurs présentes dans la liste par celle que vous souhaitez. Pour cela, il suffit de modifiez les option dans le select

<div>
  <label for="licence">Permis :</label>

  <select name="civil_licence" id="licence">
    <option value="Voiture">Voiture</option>
    <option value="Poids Lourd">Poids Lourd</option>
    <option value="Moto">Moto</option>
    <option value="Voiture/Moto">Voiture/Moto</option>
    <option value="Nouvelle valeur">Nouvelle valeur</option>
  </select>
</div>

Attention à ce que la valeur présente dans value soit identique à celle qui sera affichée !

Étape 4 : Modifier l'affichage

Lorsque vous aurez modifié tous les champs de saisie, il vous faudra alors modifier l'affichage de ces valeurs. Pour trouvez la page à modifier, utilisez la même méthode que dans l'étape 3. Cependant, il est possible que l'information ne soit pas présente sur la page, mais sur une page importée (reconnaissable avec la présence de : {% include .... %}). Dans ce cas là, il faudra vous rendre sur la page en question afin d'effectuer le changement.

Dans le cas de la modification du permis de conduire, la valeur se trouve dans /templates/fiche_civil.twig. Une fois sur la page, vous devez recherchez l'endroit où la valeur est affiché. Dans la majorité des cas, vous aurez quelque chose sous la forme suivante : <p><strong>Nom affichage :</strong>{% if civil.xxx == 1 %}Oui{% else %}Non{% endif %}</p>

Il suffit de le remplacer par :

<p><strong>Nom affichage :</strong>{{ civil.xxx }}</p>

Note : Nous sommes bien conscient que la mise en place d'un tel plugin peut être difficile avec une description de la sorte. Cependant avec tous les champs éligibles à cette modification, il aurait été trop long d'écrire les modifications à faire pour chaque valeur. Si vous rencontrez un souci dans vos modifications, n'hésitez surtout pas à venir demander de l'aide !