Exemplo n.º 1
0
    def searchmydata(self,keyword):
        ligne = 0
        randomChars="%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
        print keyword
        Users = EnsUtilisateurs.rechercher("%%%%%%%%%%%%%%%%"+keyword+"%%%%%%%%%%%%%%%%")
        self.setRowCount(len(Users))
        for User in Users:
            currentUser = EnsUtilisateurs.get_user(int(User[0]))


            self.setItem(ligne, 0, QTableWidgetItem(str(User[0])))
            if currentUser.get_abonnementValide():
                self.item(ligne, 0).setBackground(QColor(178,255,102))
            else:
                self.item(ligne, 0).setBackground(QColor(255,102,102))
            self.setItem(ligne, 1, QTableWidgetItem(User[1]))


            if (EnsEmprunt.a_un_emprunt_en_cours(currentUser)):
                emprunt = "Oui"
            else:
                emprunt = "Non"
            self.setItem(ligne, 2, QTableWidgetItem(emprunt))
            self.setItem(ligne, 3, QTableWidgetItem(str(User[6])))
            ligne=ligne+1
Exemplo n.º 2
0
def listeUtilisateurs():

    connecte()
    print "====== LISTE UTILISATEURS ======"
    rows=EnsUtilisateurs.printAll()
    for row in rows:
        print('{0} - {1} '.format(row[0], row[1]))
    print "================================"
    print "\n1. Selectionner un utilisateur"
    print "2. Ajouter un utilisateur"
    print "3. Re-initialiser tous les abonnements"
    print "0. Retour au menu"
    choixUtilisateur=int(raw_input("Choix: "))
    if choixUtilisateur==1:
        user_id=int(raw_input("\nID de l'utilisateur: ")) # Verifier si existe !!!
        selectionnerUtilisateur(user_id)
    elif choixUtilisateur==2:
        ajouterUtilisateur()
    elif choixUtilisateur==3:
        confirm = str(raw_input("Etes vous surs de vouloir réinitialiser les abonnements de TOUS les utilisateurs ? (OK pour valider / 0 pour quitter)  :  "))
        if confirm == "OK":
            try:
                EnsUtilisateurs.reinitAbonnements()
                listeUtilisateurs()
            except:
                print "Oops ! Grosseu mistake"
        else:
            listeUtilisateurs()
    elif choixUtilisateur == 0:
        menu()
    else:
        listeUtilisateurs()
Exemplo n.º 3
0
 def ReinitAll(self):
     try:
         reply = QMessageBox.question(self, 'Attention',
         u"Vous êtes sur le point de réinitialiser TOUS les abonnements.\nÊtes vous sûrs de vouloir continuer ?", QMessageBox.Yes |
         QMessageBox.No, QMessageBox.No)
         if reply == QMessageBox.Yes:
             EnsUtilisateurs.reinitAbonnements()
             self.refresh()
     except:
         self.criticalError()
Exemplo n.º 4
0
 def creer_session(self):
         global session
         if self.est_valide():
                 User=EnsUtilisateurs.get_user(username=self.username) # ID Associe à username fourni
                 session=Session(User)
         else:
                 print "Oops !"
Exemplo n.º 5
0
def selectionnerUtilisateur(user_id):
    
    selectedUser = EnsUtilisateurs.get_user(user_id=user_id)
    connecte()
    print "===== Utilisateur selectionné ====="
    print "ID: "+str(selectedUser.get_user_id())
    print "Nom d'utilisateur: "+selectedUser.get_username()
    if EnsAdmins.est_admin(selectedUser):
        status="Admin"
    else:
        status="Adhérent"
    print "Statut: "+status
    print "==================================="
    print "\n"
    print "1. Modifier"
    print "2. Supprimer"
    if (status!="Admin"):
        print "3. Promouvoir administrateur"
    print "0. Retour"
    choix = int(raw_input("Choix: "))
    if (choix==1):
        print "En construction..."
    elif (choix==2):
        selectedUser.delete_user()
        raw_input("Utilisateur supprimé. Appuyez sur Entrer pour continuer.")
        listeUtilisateurs()
    elif (choix==3 and status != "admin"):
        selectedUser.make_admin()
        selectionnerUtilisateur(selectedUser.get_user_id())
    elif (choix==0):
        listeUtilisateurs()
    else:
        selectionnerUtilisateur(user_id)
Exemplo n.º 6
0
    def __init__(self, *args):
        QTableWidget.__init__(self)


        # On défini le nombre de colonnes


        self.setSortingEnabled(True)
        self.setMinimumSize(800, 300)
        self.setColumnCount(5)
        self.setRowCount(EnsUtilisateurs.get_nombre_utilisateurs())
        self.setheaders()
        self.setmydata()

        # Selection de lignes activé
        self.setSelectionBehavior(self.SelectRows)
        # Pas de sélection de cellule
        self.setSelectionMode(self.NoSelection)  # Desactive la selection de lignes
        self.setEditTriggers(QAbstractItemView.NoEditTriggers) # Desactive l'edition de cellules
        self.setFocusPolicy(Qt.NoFocus)
        self.setAlternatingRowColors(True)
        self.verticalHeader().hide()
        # Affichage de la grille désactivé
        self.setShowGrid(False)
        self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.horizontalHeader().setStretchLastSection(True)

        self.cellDoubleClicked.connect(self.selectedUser)
Exemplo n.º 7
0
def get_emprunt_en_cours(User):
        if a_un_emprunt_en_cours(User):
                cur.execute("""SELECT * FROM EnsEmprunt WHERE user_id = ? AND date_rendu IS NULL""",(User.get_user_id(),) )
                res = cur.fetchone()
                return Emprunt(Emprunt_id=res[0],User=EnsUtilisateurs.get_user(res[1]),Exemplaire=EnsExemplaires.get_Exemplaire(res[2]),date_emprunt=res[3],date_echeance=res[4],date_rendu=res[5])
        else:
                return None
Exemplo n.º 8
0
    def setmydata(self):
        ligne = 0
        Emprunts = EnsEmprunt.printAll()
        for Emprunt in Emprunts:
            self.Table.setItem(ligne, 0, QTableWidgetItem(str(EnsUtilisateurs.get_user(Emprunt[1]).get_username())))
            self.Table.setItem(ligne, 1, QTableWidgetItem(str(EnsExemplaires.get_Exemplaire(Emprunt[2]).get_Jeu_Exemplaire().get_Nom_jeu())))
            self.Table.setItem(ligne, 2, QTableWidgetItem(str(Emprunt[3])))
            self.Table.setItem(ligne, 3, QTableWidgetItem(str(Emprunt[4])))

            ligne=ligne+1
Exemplo n.º 9
0
 def setmydata(self):
     ligne = 0
     Users = EnsUtilisateurs.printAll()
     for User in Users:
         self.setItem(ligne, 0, QTableWidgetItem(str(User[0])))
         self.setItem(ligne, 1, QTableWidgetItem(User[1]))
         self.setItem(ligne, 2, QTableWidgetItem(str(User[3])))
         self.setItem(ligne, 3, QTableWidgetItem(str(User[4])))
         self.setItem(ligne, 4, QTableWidgetItem(str(User[6])))
         ligne=ligne+1
Exemplo n.º 10
0
 def searchmydata(self,keyword):
     ligne = 0
     randomChars="%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
     print keyword
     Users = EnsUtilisateurs.rechercher("%%%%%%%%%%%%%%%%"+keyword+"%%%%%%%%%%%%%%%%")
     self.setRowCount(len(Users))
     for User in Users:
         self.setItem(ligne, 0, QTableWidgetItem(str(User[0])))
         self.setItem(ligne, 1, QTableWidgetItem(User[1]))
         self.setItem(ligne, 2, QTableWidgetItem(str(User[3])))
         self.setItem(ligne, 3, QTableWidgetItem(str(User[4])))
         self.setItem(ligne, 4, QTableWidgetItem(str(User[6])))
         ligne=ligne+1
Exemplo n.º 11
0
    def setmydata(self):
        ligne = 0
        Users = EnsUtilisateurs.printAll()
        for User in Users:
            currentUser = EnsUtilisateurs.get_user(int(User[0]))


            self.setItem(ligne, 0, QTableWidgetItem(str(User[0])))
            if currentUser.get_abonnementValide():
                self.item(ligne, 0).setBackground(QColor(178,255,102))
            else:
                self.item(ligne, 0).setBackground(QColor(255,102,102))
            self.setItem(ligne, 1, QTableWidgetItem(User[1]))


            if (EnsEmprunt.a_un_emprunt_en_cours(currentUser)):
                emprunt = "Oui"
            else:
                emprunt = "Non"
            self.setItem(ligne, 2, QTableWidgetItem(emprunt))
            self.setItem(ligne, 3, QTableWidgetItem(str(User[6])))
            ligne=ligne+1
Exemplo n.º 12
0
def selectionnerUtilisateur(user_id):

    selectedUser = EnsUtilisateurs.get_user(user_id=user_id)
    connecte()
    print "===== Utilisateur selectionné ====="
    print "ID: "+str(selectedUser.get_user_id())
    print "Nom d'utilisateur: "+str(selectedUser.get_username())
    if EnsAdmins.est_admin(selectedUser):
        status="Admin"
    else:
        status="Adhérent"
    print "Statut: "+status

    if selectedUser.get_abonnementValide():
        print "[V] Abonnement valide"
    else:
        print "[X] Abonnement non valide"
    if EnsEmprunt.a_un_emprunt_en_cours(selectedUser):
        print "\nEmprunt en cours: \n"+EnsEmprunt.get_emprunt_en_cours(selectedUser).display()
    print "==================================="
    print "\n"
    print "1. Emprunt rendu"
    if not(selectedUser.get_abonnementValide()):
        print "2. Valider abonnement"
    print "8. Modifier"
    print "9. Supprimer"
    if (status!="Admin"):
        print "10. Promouvoir administrateur"
    print "0. Retour"
    choix = int(raw_input("Choix: "))
    if (choix == 1 and EnsEmprunt.a_un_emprunt_en_cours(selectedUser)):
        rendreEmprunt(selectedUser)
        selectionnerUtilisateur(selectedUser.get_user_id())
    if (choix==2 and not(selectedUser.get_abonnementValide())):
        selectedUser.set_abonnementValide(True)
        selectionnerUtilisateur(selectedUser.get_user_id())
    if (choix==8):
        modifierUtilisateur(selectedUser)
    elif (choix==9):
        selectedUser.delete_user()
        raw_input("Utilisateur supprimé. Appuyez sur Entrer pour continuer.")
        listeUtilisateurs()
    elif (choix==10 and status != "admin"):
        selectedUser.make_admin()
        selectionnerUtilisateur(selectedUser.get_user_id())
    elif (choix==0):
        listeUtilisateurs()
    else:
        selectionnerUtilisateur(selectedUser.get_user_id())
Exemplo n.º 13
0
 def selectedUser(self):
     row = self.currentItem().row()
     print "row=",row
     col = self.currentItem().column()
     print "col=",col
     item = self.item(row,0).text()
     print "item=",item
     selected=EnsUtilisateurs.get_user(user_id=int(item))
     if selected.est_admin():
         statut = "Administrateur"
     else:
         statut = "Adhérent"
     selection = QMessageBox.information(self,  
     self.trUtf8("Selection"), 
     self.trUtf8("Vous avez séléctionné l'utilisateur: \nID: "+item+" \nNom d'utilisateur: "+self.item(row,1).text()+"\nStatut: "+statut))
Exemplo n.º 14
0
	def ouvrirDialogue(self): # Renvoie le résultat de la connexion
		username=str(self.usernameText.text()) # Récupération des entrées
		password=str(self.passwordText.text())
		conn=Connexion(username,password) # Création d'une connexion avec les paramètres des textboxes

		if conn.est_valide():
			reponse = QtGui.QMessageBox.information(self,    # Création d'une message box d'information (SUCCES)
             self.trUtf8("Bienvenue"),
             self.trUtf8("Bienvenue "+username))
			user = EnsUtilisateurs.get_user(username=username)
			self.ActiveSession = Session(user)
			self.state = True
			self.close()

		else:
			QtGui.QMessageBox.warning(self, 		# Création d'une message box d'avertissement (ECHEC)
             self.trUtf8("Erreur"),
             self.trUtf8("Nom d'utilisateur / mot de passe incorrect !"))
			self.state=False
Exemplo n.º 15
0
 def selectedUser(self):
     row = self.currentItem().row()
     print "row=",row
     col = self.currentItem().column()
     print "col=",col
     item = self.item(row,0).text()
     print "item=",item
     selected=EnsUtilisateurs.get_user(user_id=int(item))
     if selected.est_admin():
         statut = "Administrateur"
     else:
         statut = "Adhérent"
     #selection = QMessageBox.information(self,
     #self.trUtf8("Selection"),
     #self.trUtf8("Vous avez séléctionné l'utilisateur: \nID: "+item+" \nNom d'utilisateur: "+self.item(row,1).text()+"\nStatut: "+statut))
     # Changer vue vers 1 Seul User et sa fiche !
     User = UserView(item=item,session=self.parent().parent().session)
 	# JEU VIEW ? OU POPUP.
     self.close()
     self.parent().parent().setCentralWidget(User)
Exemplo n.º 16
0
def listeUtilisateurs():

    connecte()
    print "====== LISTE UTILISATEURS ======"
    rows=EnsUtilisateurs.printAll()
    for row in rows:
        print('{0} - {1} '.format(row[0], row[1]))
    print "================================"
    print "\n1. Selectionner un utilisateur"
    print "2. Ajouter un utilisateur"
    print "0. Retour au menu"
    choixUtilisateur=int(raw_input("Choix: "))
    if choixUtilisateur==1:
        user_id=int(raw_input("\nID de l'utilisateur: ")) # Verifier si existe !!!
        selectionnerUtilisateur(user_id)
    elif choixUtilisateur==2:
        ajouterUtilisateur()
    elif choixUtilisateur == 0:
        menu()
    else:
        listeUtilisateurs()
Exemplo n.º 17
0
def get_Emprunt (Emprunt_id):
        cur.execute("""SELECT * FROM EnsEmprunt WHERE emprunt_id = (?)""",(Emprunt_id,))
        res = cur.fetchone()
        return Emprunt(Emprunt_id=res[0],User=EnsUtilisateurs.get_user(res[1]),Exemplaire=EnsExemplaires.get_Exemplaire(res[2]),date_emprunt=res[3],date_echeance=res[4],date_rendu=res[5])
Exemplo n.º 18
0
 def save(self):
     
     EnsUtilisateurs.insert(self)
Exemplo n.º 19
0
def newSession(login):
    global user
    global ActiveSession
    user = EnsUtilisateurs.get_user(username=login)
    ActiveSession = Session(user)
Exemplo n.º 20
0
 def save(self):
     if self.user_id == None:
         EnsUtilisateurs.insert(self)
     else:
         EnsUtilisateurs.update(self)
Exemplo n.º 21
0
	def emprunt_valide(self, User_id):
		""" emprunt_valide : Emprunt x Adherent -> Bool, renvoie True si l'utilisateur a les droits d'emprunt et qu'il n'a pas d'emprunt en cours, False sinon"""
		User = EnsUtilisateurs.get_user(User_id,)
		return User.empruntEnCours == False
		""" Il manque le droit d'emprunt dans utilisateurs, que faire si il y a une reservation en cours (conflit de dates)"""
Exemplo n.º 22
0
 def delete_user(self):
     """Supprime un utilisateur de l'ensemble des EnsUtilisateurs
      (#) Si cet utilisateur est admin => Supprime l'utilisateur de l'ensemble des admins """
     if self.est_admin():
         EnsAdmins.delete_admin(self)
     EnsUtilisateurs.delete_user(self)
Exemplo n.º 23
0
def rechercher_Exemplaire (Exemplaire):
        cur.execute("""SELECT * FROM EnsEmprunt WHERE Exemplaire_id = ?""",(Exemplaire.get_Exemplaire_id()))
        res = cur.fetchall()
        return Emprunt(Emprunt_id=res[0],User=EnsUtilisateurs.get_user(res[1]),Exemplaire=EnsExemplaires.get_Exemplaire(res[2]),date_emprunt=res[3],date_echeance=res[4],date_rendu=res[5])
Exemplo n.º 24
0
    def __init__(self,item="",session="",*args):
        # ESPACEMENT
        super(UserView, self).__init__()
        spacer = QWidget()
        spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)

        self.session = session
        self.Display = QWidget()
        self.Display.setMinimumSize(300, 300)
        self.item = int(item)
        self.selectedUser = EnsUtilisateurs.get_user(self.item)
        QWidget.__init__(self)
        HBox1 = QHBoxLayout()

        Grid = QVBoxLayout()


        # Titre Principale
        font = QFont()
        font.setBold(True)
        font.setWeight(75)
        font.setPointSize(36)
        Username = QLabel(str(self.selectedUser.get_username()))
        Username.setFont(font)

        HBox1.addWidget(spacer)
        if (self.selectedUser.get_abonnementValide()):
            Icon = QLabel("<html><img src='./img/green.png' height='35' width='35'></html>")
        else:
            Icon = QLabel("<html><img src='./img/red.png' height='35' width='35'></html>")
        HBox1.addWidget(Icon)
        HBox1.addWidget(Username)


        HBox1.addWidget(spacer)

        Grid.addLayout(HBox1)
        Grid.addWidget(spacer)


        # TOUS LES CHAMPS
        CompteTitre = QLabel("# Compte\n")
        EmpruntTitre = QLabel("\n# Emprunt")
        font = QFont()
        font.setBold(True)
        font.setWeight(75)
        font.setPointSize(20)
        CompteTitre.setFont(font)
        EmpruntTitre.setFont(font)

        usernametxt = QLabel("Nom d'utilisateur: ")
        username=QLabel(str(self.selectedUser.get_username()))

        statutTxt = QLabel("Statut: ")
        if self.selectedUser.get_abonnementValide() and self.selectedUser.est_admin():
            statut = QLabel("Administrateur - Adherent")
        elif not(self.selectedUser.get_abonnementValide()) and self.selectedUser.est_admin():
            statut = QLabel("Administrateur - Non adherent")
        elif self.selectedUser.get_abonnementValide():
            statut= QLabel("Adherent")
        else:
            statut=QLabel("Utilisateur")

        retardTxt = QLabel("Retard: ")
        retard = QLabel(str(self.selectedUser.get_nbRetard())+" jours")

        abonnementValideTxt = QLabel("Abonnement: ")
        if (self.selectedUser.get_abonnementValide()):
            abonnementValide = QLabel("Valide")
        else:
            abonnementValide = QLabel("Non Valide")

        empruntEnCoursTxt = QLabel("\nEmprunt en cours:")
        if EnsEmprunt.a_un_emprunt_en_cours(self.selectedUser):
            empruntEnCours=EnsEmprunt.get_emprunt_en_cours(self.selectedUser)
        else:
            empruntEnCours=None




        # Grande Horizontale Milieu
        HBoxCentre = QHBoxLayout()

        # Vertical Gauche
        VBoxTextes = QVBoxLayout()

        # Layout titre Compte
        VBoxTextes.addWidget(CompteTitre)

        # Horizontale Gauches
        HBoxGauche = QHBoxLayout()
        VBoxTextes.addLayout(HBoxGauche)

        VBox1 = QVBoxLayout()
        VBox2 = QVBoxLayout()
        HBoxGauche.addLayout(VBox1)
        HBoxGauche.addLayout(VBox2)

        # Ajout des Widgets de texte
        VBox1.addWidget(usernametxt)
        VBox2.addWidget(username)

        VBox1.addWidget(statutTxt)
        VBox2.addWidget(statut)

        VBox1.addWidget(retardTxt)
        VBox2.addWidget(retard)

        VBox1.addWidget(abonnementValideTxt)
        VBox2.addWidget(abonnementValide)

        EmpruntRendu = QPushButton("Emprunt Rendu")

        HBox3=QHBoxLayout()

        # En dessous gauche et droite
        VBox3=QVBoxLayout()
        VBox4=QVBoxLayout()

        HBox3.addLayout(VBox3)
        HBox3.addLayout(VBox4)

        VBoxTextes.addWidget(EmpruntTitre)
        #VBox3.addWidget(empruntEnCoursTxt)
        #VBox3.addWidget(empruntEnCours)
        HBox31 = QHBoxLayout()
        VBox3.addLayout(HBox31)
        VBox31 = QVBoxLayout()
        VBox32 = QVBoxLayout()
        HBox31.addLayout(VBox31)
        HBox31.addLayout(VBox32)
        VBox4.addWidget(spacer)

        if empruntEnCours != None:
            #### INFORMATIONS EMPRUNT ####
            NomDuJeuTxt=QLabel("Nom du jeu:")
            NomDuJeu=QLabel(str(empruntEnCours.get_Exemplaire_Emprunt().get_Jeu_Exemplaire().get_Nom_jeu()))
            DateEmpruntTxt=QLabel("Nom d'emprunt:")
            DateEmprunt=QLabel(str(empruntEnCours.get_date_emprunt()))
            DateEcheanceTxt=QLabel(u"Date d'écheance:")
            DateEcheance=QLabel(str(empruntEnCours.get_date_echeance()))
            #### AJOUT EMPRUNT AU LAYOUT ####
            VBox31.addWidget(NomDuJeuTxt)
            VBox32.addWidget(NomDuJeu)
            VBox31.addWidget(DateEmpruntTxt)
            VBox32.addWidget(DateEmprunt)
            VBox31.addWidget(DateEcheanceTxt)
            VBox32.addWidget(DateEcheance)
        else:
            VBox31.addWidget(QLabel("Aucun"))
            VBox32.addWidget(QLabel("     "))

        # Blank
        if EnsEmprunt.a_un_emprunt_en_cours(self.selectedUser):
            VBox3.addWidget(EmpruntRendu)



        # Verticale Droite
        VBoxBoutons = QVBoxLayout()

        HBoxCentre.addLayout(VBoxTextes)
        Blank = QVBoxLayout()
        Blank.addWidget(spacer)
        HBoxCentre.addLayout(Blank)
        HBoxCentre.addLayout(VBoxBoutons)




        Modifier = QPushButton("Modifier")
        if self.selectedUser.get_abonnementValide():
            Abonnement = QPushButton("Desactiver Abonnement")
        else:
            Abonnement = QPushButton("Activer Abonnement")

        ReinitRetard = QPushButton("Reinitialiser retard")

        if self.selectedUser.est_admin():
            Promote = QPushButton("Retrograder Utilisateur")
        else:
            Promote = QPushButton("Promouvoir Administrateur")

        Supprimer = QPushButton("Supprimer")


        # Ajout des widgets Boutons

        VBoxBoutons.addWidget(Modifier)
        VBoxBoutons.addWidget(ReinitRetard)
        VBoxBoutons.addWidget(Abonnement)
        VBoxBoutons.addWidget(Supprimer)

        # On empêche un admin de se retirer ses propres droits. Car c'est nul. Vive le pouvoir.
        if self.selectedUser.get_user_id() != self.session.get_session_User().get_user_id():
            VBoxBoutons.addWidget(Promote)


        Grid.addLayout(HBoxCentre)
        Grid.addLayout(HBox3)

        # On connecte les boutons !
        EmpruntRendu.clicked.connect(self.rendreEmprunt)
        ReinitRetard.clicked.connect(self.reinitRetard)
        Abonnement.clicked.connect(self.abonnement)
        Supprimer.clicked.connect(self.supprimer)
        Promote.clicked.connect(self.promote)
        Modifier.clicked.connect(self.modifier)

        # ESPACEMENT
        spacer = QWidget()
        spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        Grid.addWidget(spacer)



        self.setLayout(Grid)
Exemplo n.º 25
0
 def est_valide(self):
         if EnsUtilisateurs.has_username(self.username):
                 User=EnsUtilisateurs.get_user(username=self.username) # On récupère l'utilisateur
                 return EnsUtilisateurs.is_password(self.password,User)
         else:
                 return False