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éprésente dans une liste prédéprédéfinie (par exempleexemple, 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èproblème, n'hésitez pas àà venir sur notre Discord et crécréez un ticket avec votre objectif et le problèproblème que vous rencontréavez rencontré.

ÉÉtape 1 : Identifiez

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

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

Pour faire la modification dans la base de donnédonnées, vous devez identifiezidentifier la colonne contenant votre information (dans la majoritémajorité des cas, le type de la colonne sera ENUM). Une fois la colonne identifiez,identifiée, il faut exécuterexécutez la requê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édonnées modifiémodifiée, il faut maintenant mettre à jouractualiser les champs de saisie des informations. Voici comment retrouver le fichier àà modifier dans une page :

RécupéRécupérer l'urlURL : dans votre navigateur l'URL est présente dans la barre de recherche

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

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

Afficher la page : avec le code, l'élementélément Flight::view()->display('add/add_civil.twig'); permet de définir quelle page est associéassocié àà l'url.URL. Les pages sont pré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éé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èdernière éétape consiteconsiste àà remplacer les valeurs préprésentes dans la liste par celle que vous souhaitez. Pour cela, il suffit de modifiezmodifier 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éprésente dans value soit identique àà celle qui sera affichéaffichée !

ÉÉtape 4 : Modifier l'affichage

Lorsque vous aurez modifiémodifié tous les champs de saisie, il vous faudra alors modifier l'affichage de ces valeurs. Pour trouveztrouver 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ésenteabsente sur la page, mais sur une page importéimportée (reconnaissable avec la préprésence de : {% include .... %}). Dans ce cas là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 recherchezrechercher l'endroit où la valeur est affiché.affichée. Dans la majorité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 conscientconscients que la mise en place d'un tel plugin peut êêtre difficile avec une description de la sorte. CependantMalheureusement, avec tous les champs ééligibles àà cette modification, il aurait étéé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 !

Avant :

Après :