Bonsoir à tous,je suis en ce moment sur un projet de création d'une application de gestion de l'Etat Civil,j'ai crée un formulaire de gestion d'utilisateur,avec assignation de droit dès leur création,pour cela j'ai crée ma table "user" avec comme "champs" (Id_user,NomUser,Pass,Acte_Naiss,Juge_Sup,Acte_Mar,Droit_Admin).{Acte_Naiss,Juge_Sup,Acte_Mar,Droit_Admin} représente repectivement les droits qu'a l'utilisateur sur les Actes de naissance, les Jugements Supplétifs,les
Actes de mariage,et enfin le droit d'administration qu'auront certains utilisateurs.[/COLOR]Pour chacun de ces différents actes il existe les mêmes droits c'est à dire les droits de(Consultation=1;Création=2 et modification=4),ainsi un utilsateur ayant un droit =7 aura accès à tous les actes et pourra effectuer tou les traitements disponible sur cesdits actes.Mon formulaire de getion des utilisateurs est structuré ainsi qu'il suit.
Le couple(Nom Utilisateur,Mdp)pour la création d'utilisateur,5 Boutons (Nouveau,Retirer,Modifier,Annuler,Quitter) nouveau et modifier jouent en même temps le rôle d'enregistrement.Un bouton radio intitulé{Droit D'administration du Système } qui a sous sa coupe 2 checkbox intitulé respectivement{"A Les Droits D'Administration du système"=3;"A Tous Les Droits De Gestion Des Pièces D'Etat Civil"=4} ainsi qu'un autre bouton radio intitulé{"Droit De Getion Uniquement"} qui,lui, a à sa charge les différents droits cités plus haut réprésentés par des checkbox.Un Jlist qui affiche les utilisateurs déjà enregistrés lorsqu'on click sur le bouton nouveau,J'arrive sans problème à enregistrer un utilisateur avec l'ensemble de ses droits,mon véritable problème se situe au niveau de la modification de l'utilsateur,c'est à dire que quand je selectionne un utilisateur dans le JListe et que j'appuie sur modifier,que toutes ces donneés apparaissent,pour la restitution du nom et du mot de passe pas de probleme,j'arrive à le faire,par contre pour pouvoir cocher les différents checkbox correspondant aux droit qu'on lui a attribué lors de la création je patoge énormement.J'utilise des if pour tester toutes les conditions,ce qui n'est pas évident et profesionnel,vous vous imaginez,en gros un suite de 31(IF),je sais qu'il y'a pourtant un moyen plus simple de le faire,comme pour une recherche multicritères,mais je ne la connait,si quelqu'un a déjà eu à faire à ce type d'impléméntation qu'il veuille partager son expérience avec moi.voici une ébauche de ce que je fais en ce moment :
ps :Excusez moi de la longueur de mon sujet c'est jute dans le souci de me faire mieux comprendre.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
if("Modifier".equals(CmdModifier.getText()))
        {
                    CmdQuitter.setEnabled(true);
                    annuler();     
               try {
                       Connection connection = DataBaseConnector.getConnection();
                       if (connection != null)     
                        {
                          methModif();
                          boolean encore=rst.next();
                          if(encore)
                             { 
                                TxtNomUser.setText(rst.getString("NomUser"));  
                                TxtMdp.setText(rst.getString("Pass"));
                                 if(rst.getInt("Droit_Admin")!=0)
                                {
                                    RadioDroitAdimEtGestion.setSelected(true); 
                                    RadioDroitGestionUniquement.setSelected(false);
                                    if(rst.getInt("Droit_Admin")==7)
                                    {
                                         ChkDroitAdmin.setSelected(true);
                                         ChkTousDroitGestion.setSelected(true);
                                    }else
                                    {
                                       if(rst.getInt("Droit_Admin")==3)
                                        {
                                       ChkDroitAdmin.setSelected(true);
                                        }else
                                          {
                                          if(rst.getInt("Droit_Admin")==4)
                                           {
                                              ChkTousDroitGestion.setSelected(true);
                                           }
                                        }
                                    }
 
                                }
                              else{
                                    if(rst.getInt("Droit_Admin")==0){                                   
                                 if(rst.getInt("Acte_Naiss")!=0)
                                     {
                                        if(rst.getInt("Acte_Naiss")<4)
                                         {
                                           if(rst.getInt("Acte_Naiss")==3)
                                            {
                                                   ChkDroitConsActeNaissDeces.setSelected(true);
                                                   ChkDroitCreerActeNaissDeces.setSelected(true);
                                            }else
                                               {
                                                   if(rst.getInt("Acte_Naiss")==2)
                                                    {
                                                     ChkDroitCreerActeNaissDeces.setSelected(true);
 
                                                    }else{}