- Page principale
- Classes
- Fichiers
- Pages associées

# /home/eric/Bureau/MedinTux-V-2.00/Plug/Compta2/compta/ui/FormSelectionUser.ui.h

    00001 /****************************************************************************
    00002 ** ui.h extension file, included from the uic-generated form implementation.
    00003 **
    00004 ** If you want to add, delete, or rename functions or slots, use
    00005 ** Qt Designer to update this file, preserving your code.
    00006 **
    00007 ** You should not define a constructor or destructor in this file.
    00008 ** Instead, write your code in functions called init() and destroy().
    00009 ** These will automatically be called by the form's constructor and
    00010 ** destructor.
    00011 *****************************************************************************/
    00012
    00013
    00018 #include "../icones.h"
    00019
    00020 void FormSelectionUser::init()
    00021 { nbEssais = 0;
    00022   selectedUsrId = 0;
    00023   ul = 0;
    00024   lkTux = 0;
    00025   QImage img;
    00026   img.loadFromData( icone, sizeof( icone ), "PNG" );
    00027   setIcon( img );
    00028 }
    00029
    00030
    00031 void FormSelectionUser::destroy()
    00032 { //delete ul;
    00033
    00034 }
    00035
    00039 void FormSelectionUser::setUsersList( UTILISATEURS_LISTE *usersl)
    00040 { ul = usersl;
    00041   listUsers->clear();
    00042   if (ul->count() > 0)
    00043     if (ul->count() > 1)
    00044     { UTILISATEURS_LISTE::iterator it;
    00045       for (it = ul->begin(); it != ul->end(); ++it)
    00046        { listUsers->insertItem( (*it).getNom() ); }
    00047     } // Fin if + de 1 utilisateurs
    00048     else
    00049     { UTILISATEURS_LISTE::iterator it = ul->at(0);
    00050        listUsers->insertItem( (*it).getNom() );
    00051     } // Fin if au moins un utilisateur
    00052   else { createNewUser(); }
    00053 }
    00054
    00055
    00059 void FormSelectionUser::setComptaMoteurBase(ComptaMoteurBase* base)
    00060 { if (base) m_CBase = base; }
    00061
    00062
    00063
    00068 void FormSelectionUser::createNewUser()
    00069 {
    00070
    00071 }
    00072
    00073
    00079 void FormSelectionUser::but_Valider_clicked()
    00080 { // Vérifie que le password rentrée est le même que celui de la base de données
    00081   QString pass = Password->text();
    00082   // Récupérer l'utilisateur sélectionné
    00083   UTILISATEURS_LISTE::iterator it = ul->at( selectedUsrId );
    00084   m_CBase->PassWordEncode( pass );
    00085   if ( pass == (*it).getPassword() && Login->text() == (*it).getLogin() )
    00086   { // Login et Password sont vérifiés  ;   L'id de l'utilisateur est stockée dans selectedUsrId
    00087     accept();
    00088   }
    00089   else
    00090   { nbEssais++;
    00091      Password->clear();
    00092     if (nbEssais == 4)
    00093      {reject();}
    00094     else
    00095      {  QString msg = "";
    00096         switch (nbEssais)
    00097         { case 1 : { msg = TR("Premier essai erroné.\n\n"); break; }
    00098           case 2 : { msg = TR("Deuxième essai erroné.\n\n"); break; }
    00099           case 3 : { msg = TR("Troisième essai erroné.\n\nL'application va maintenant se fermer."); break; }
    00100         }
    00101         if (nbEssais == 3)
    00102         { QMessageBox::information(this, TR("Identification erronée."),  msg ,"OK" ,"","",1,0);
    00103           reject();
    00104         }
    00105         else    QMessageBox::information(this, TR("Identification erronée."),  msg + TR("Le login et le mot de passe renseignés sont incorrects.\nVérifiez que la touche majuscule de votre clavier n'est pas activée."),"OK" ,"","",1,0);
    00106       } // Fin if essais == 3
    00107   } // Fin if pass and login
    00108 }
    00109
    00110
    00111 void FormSelectionUser::but_Quitter_clicked()
    00112 { reject(); }
    00113
    00114
    00115 void FormSelectionUser::listUsers_highlighted( int id )
    00116 { // Récupère le nom de l'utilisateur et mais le dans le login
    00117   UTILISATEURS_LISTE::iterator it = ul->at( id );
    00118   Login->setText ( (*it).getLogin() );
    00119   // Setfocus dans la case password
    00120   selectedUsrId = id;
    00121   Password->setFocus();
    00122 }
    00123
    00127 Utilisateurs* FormSelectionUser::getUser()
    00128 { UTILISATEURS_LISTE::iterator it = ul->at( selectedUsrId );
    00129     return &(*it);
    00130 }
    00131
    00132
    00136 void FormSelectionUser::but_Creer_clicked()
    00137 { // Ouvrir une fenêtre avec sélection utilisateur DrTux
    00138   mQDialog_NewUser = new QDialog(this);
    00139   lkTux = new FormLinkTux(mQDialog_NewUser);
    00140   QString f, erreur;
    00141
    00142  ComptaMoteurBase* m_BaseTux = new ComptaMoteurBase( G_pCApp->tuxdb_Driver, G_pCApp->tuxdb_Name, G_pCApp->tuxdb_User, G_pCApp->tuxdb_Pass, G_pCApp->tuxdb_Serv, f, G_pCApp->tuxdb_Name, &erreur);
    00143   if (erreur != "") qWarning(erreur);
    00144
    00145   // Récupérer les utilisateurs drtux
    00146   tux_usr = new UTILISATEURS_LISTE;
    00147   if (!m_BaseTux->getDrTuxUsers(tux_usr)) qWarning(m_BaseTux->m_messageErreur);
    00148
    00149   // Créer widget de sélection avec demande du mot de passe
    00150   lkTux->setUsersList(tux_usr);
    00151   connect (lkTux, SIGNAL ( signal_FormLinkTux_butValider_clicked() ) ,
    00152            this,    SLOT   ( checkLinkTux() ) );
    00153   mQDialog_NewUser->exec();
    00154 //  delete m_BaseTux;
    00155 //  delete mQDialog_NewUser;
    00156 //  delete lkTux;
    00157 }
    00158
    00163 void FormSelectionUser::checkLinkTux()
    00164 { // Vérifie les paramètres de connection de l'utilisateur
    00165   UTILISATEURS_LISTE::iterator it = tux_usr->at ( lkTux->getSelectedUsr() );
    00166   QString pass = lkTux->getPassword();
    00167   QString log  = lkTux->getLogin();
    00168   m_CBase->PassWordEncode(pass);
    00169   // Vérifie le login, le mot de passe et vérifie que l'utilisateur n'est pas déjà lié
    00170   if ((pass == (*it).getPassword()) && (log == (*it).getLogin()) )
    00171    { lkTux->valide();
    00172      mQDialog_NewUser->close();
    00173      // Sauvegarder dans la base de comptabilité l'utilisateur fraîchement créé
    00174      m_CBase->saveUserToBase( &(*it) );
    00175      // Met à jour la listbox de sélection d'utilisateurs
    00176      ul->clear();
    00177      m_CBase->getUsersForList( ul );
    00178      setUsersList(ul);
    00179    }
    00180   else
    00181    { qWarning("pass et log PAS OK"); }
    00182   // Si tout OK Valide la fenêtre FormLinkTux
    00183   //lnTux->valide();
    00184 }
    00185
    00186