Exemple #1
0
    def setmydata(self):
        ligne = 0
        Extensions =EnsExtensions.rechercher_Extensions_Jeu(self.selectedGame)
        for Extension in Extensions:
            currentExtension = EnsExtensions.get_Extension(int(Extension[0]))


            self.Table.setItem(ligne, 0, QTableWidgetItem(str(currentExtension.get_Extension_id())))
            if currentExtension.get_Disponible():
                self.Table.item(ligne, 0).setBackground(QColor(178,255,102))
            else:
                self.Table.item(ligne, 0).setBackground(QColor(255,102,102))
            self.Table.setItem(ligne, 1, QTableWidgetItem(str(currentExtension.get_Nom_Extension())))


            ligne=ligne+1
Exemple #2
0
 def supprimer(self):
     reply = QMessageBox.question(self, 'Confirmation',
     u"Êtes vous sur de vouloir supprimer l'extension "+str(self.currentExtension.get_Nom_Extension()), QMessageBox.Yes |
     QMessageBox.No, QMessageBox.No)
     if reply == QMessageBox.Yes:
         try:
             EnsExtensions.supprimer_Extension(self.currentExtension)
             QMessageBox.information(self, "Fait !",
             u"L'extension a bien été supprimé !",
             QMessageBox.Ok, QMessageBox.NoButton,
             QMessageBox.NoButton)
             self.refresh()
             self.Extension.close()
         except:
             QMessageBox.critical(self, "ERREUR !",
             "Erreur lors de la suppression de l'extension !",
             QMessageBox.Ok, QMessageBox.NoButton,
             QMessageBox.NoButton)
Exemple #3
0
def listeExtensions(selectedGame):
        connecte()
        print "====== LISTE DES EXTENSIONS ======"
        print "Jeu: "+selectedGame.get_Nom_jeu()
        rows=EnsExtensions.rechercher_Extensions_Jeu(selectedGame)
        print("ID |      Extension           | Dispo  |")
        print("-----------------------------")
        for row in rows:
            print('{0} | {1} | {2} '.format(row[0], row[2], row[3]))
        print "============================"
        # MENU #
        # A COMPLETER #

        print "0. Retour au menu"
        choixUtilisateur=int(raw_input("Choix: "))

        if choixUtilisateur==0:
            menu()
        else:
            listeExtensions(selectedGame)
Exemple #4
0
    def selectedExtension(self):
        row = self.Table.currentItem().row()
        print "row=",row
        col = self.Table.currentItem().column()
        print "col=",col
        item = self.Table.item(row,0).text()
        print "item=",item

        self.Extension = QDialog()
        Layout = QVBoxLayout()

        self.currentExtension=EnsExtensions.get_Extension(str(item))
        NomExtension=QLabel(str(self.currentExtension.get_Nom_Extension()))
        Layout.addWidget(NomExtension)


        Emprunter=QPushButton("Emprunter")
        Reserver=QPushButton("Reserver")
        Modifier=QPushButton("Modifier")
        Supprimer=QPushButton("Supprimer")

        Layout.addWidget(Emprunter)
        Layout.addWidget(Reserver)
        if self.session != None and self.session.est_admin():
            Layout.addWidget(Modifier)
            Layout.addWidget(Supprimer)


        ### Edition des liens
        Emprunter.clicked.connect(self.emprunter)
        Reserver.clicked.connect(self.reserver)
        Modifier.clicked.connect(self.modifier)
        Supprimer.clicked.connect(self.supprimer)

        self.Extension.setLayout(Layout)
        self.Extension.exec_()


        self.close()
        self.refresh()
Exemple #5
0
    def __init__(self, selectedGame=None,session=None,*args):
        QWidget.__init__(self)
        self.session = session
        self.Table = QTableWidget()
        self.selectedGame=selectedGame
        # On défini le nombre de colonnes

        self.Table.setSortingEnabled(True)
        self.Table.setMinimumSize(800, 300)
        self.Table.setColumnCount(2)
        self.Table.setRowCount(EnsExtensions.nombre_Extensions())
        self.setheaders()
        self.setmydata()
        self.selectedGame=selectedGame
        # Selection de lignes activé
        self.Table.setSelectionBehavior(self.SelectRows)
        # Pas de sélection de cellule
        self.Table.setSelectionMode(self.NoSelection)  # Desactive la selection de lignes
        self.Table.setEditTriggers(QAbstractItemView.NoEditTriggers) # Desactive l'edition de cellules
        self.Table.setFocusPolicy(Qt.NoFocus)
        self.Table.setAlternatingRowColors(True)
        self.Table.verticalHeader().hide()
        # Affichage de la grille désactivé
        self.Table.setShowGrid(False)
        self.Table.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
        self.Table.horizontalHeader().setStretchLastSection(True)


        AddExtension=QPushButton("Ajouter extension")
        VLayout = QVBoxLayout()
        VLayout.addWidget(self.Table)
        if self.session!=None and self.session.est_admin():
            VLayout.addWidget(AddExtension)
        self.setLayout(VLayout)

        AddExtension.clicked.connect(self.AddExtension)
        self.Table.cellDoubleClicked.connect(self.selectedExtension)
Exemple #6
0
    def __init__(self,item="",session="",*args):
        # ESPACEMENT
        super(JeuView, 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.selectedGame = EnsJeux.get_Jeu(self.item)
        QWidget.__init__(self)
        HBox1 = QHBoxLayout()

        Grid = QVBoxLayout()


        # Titre Principale
        font = QFont()
        font.setBold(True)
        font.setWeight(75)
        font.setPointSize(36)
        selectedGame=EnsJeux.get_Jeu(self.item)
        Titre = QLabel(str(selectedGame.get_Nom_jeu()))
        Titre.setFont(font)

        HBox1.addWidget(spacer)
        if (selectedGame.get_nombre_exemplaires_dispo() > 0):
            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(Titre)


        HBox1.addWidget(spacer)

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


        # TOUS LES CHAMPS
        NomJeuTxt = QLabel("Nom du jeu: ")
        NomJeu=QLabel(str(selectedGame.get_Nom_jeu()))
        EditeurTxt = QLabel("Editeur: ")
        Editeur=QLabel(str(selectedGame.get_Editeur()))
        AnneeTxt=QLabel("Annee: ")
        Annee=QLabel(str(selectedGame.get_Annee()))
        AgeMinTxt=QLabel("Age minimum: ")
        AgeMin=QLabel(str(selectedGame.get_AgeMini()))
        NbJoueursTxt=QLabel("Nombre de joueurs: ")
        NbJoueurs=QLabel(str(selectedGame.get_NombreJoueurs()))
        NbExtensionsTxt=QLabel("Nombre d'extensions: ")
        NbExtensions=QLabel(str(EnsExtensions.nombre_extensions_Jeu(selectedGame)))
        NbExTxt=QLabel("Nombre d'exemplaires: ")
        NbEx=QLabel(str(selectedGame.get_nombre_exemplaires()))
        NbExDispoTxt=QLabel("Nombre d'exemplaires disponibles: ")
        NbExDispo=QLabel(str(selectedGame.get_nombre_exemplaires_dispo()))



        # Grande Horizontale Milieu
        HBoxCentre = QHBoxLayout()

        # Vertical Gauche
        VBoxTextes = QVBoxLayout()

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

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

        # Ajout des Widgets de texte
        VBox1.addWidget(NomJeuTxt)
        VBox2.addWidget(NomJeu)
        VBox1.addWidget(EditeurTxt)
        VBox2.addWidget(Editeur)
        VBox1.addWidget(AnneeTxt)
        VBox2.addWidget(Annee)
        VBox1.addWidget(AgeMinTxt)
        VBox2.addWidget(AgeMin)
        VBox1.addWidget(NbJoueursTxt)
        VBox2.addWidget(NbJoueurs)
        VBox1.addWidget(NbExtensionsTxt)
        VBox2.addWidget(NbExtensions)
        VBox1.addWidget(NbExTxt)
        VBox2.addWidget(NbEx)
        VBox1.addWidget(NbExDispoTxt)
        VBox2.addWidget(NbExDispo)

        if selectedGame.get_nombre_exemplaires_dispo() == 0 and selectedGame.get_nombre_exemplaires() > 0:
            RetourPrevuTxt=QLabel(u"\nRetour prévu: ")
            RetourPrevu=QLabel(str(EnsEmprunt.get_Emprunt_Exemplaire(EnsExemplaires.get_Exemplaire(jeu_id=selectedGame.get_Jeu_id())).get_date_echeance()))
            VBox1.addWidget(RetourPrevuTxt)
            VBox2.addWidget(RetourPrevu)

        # Verticale Droite
        VBoxBoutons = QVBoxLayout()

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



        Extensions = QPushButton("Afficher Extensions")

        Emprunter = QPushButton("Emprunter")
        Reserver = QPushButton("Reserver (Non Disponible)")
        Modifier = QPushButton("Modifier")
        Supprimer = QPushButton("Supprimer")
        ajouterExemplaire = QPushButton("Ajouter un exemplaire")
        retirerExemplaire = QPushButton("Retirer un exemplaire")

        # Ajout des widgets Boutons
        VBoxBoutons.addWidget(Extensions)
        VBoxBoutons.addWidget(Emprunter)
        VBoxBoutons.addWidget(Reserver)
        if self.session != None and self.session.est_admin():
            VBoxBoutons.addWidget(Modifier)
            VBoxBoutons.addWidget(Supprimer)
            VBoxBoutons.addWidget(ajouterExemplaire)
            VBoxBoutons.addWidget(retirerExemplaire)

        Grid.addLayout(HBoxCentre)

        if self.session != None:
            self.User = self.session.get_session_User()

        Extensions.clicked.connect(self.afficherExtensions)
        Emprunter.clicked.connect(self.emprunter)
        ajouterExemplaire.clicked.connect(self.ajouterExemplaire)
        Supprimer.clicked.connect(self.supprimer)
        retirerExemplaire.clicked.connect(self.retirerExemplaire)
        Modifier.clicked.connect(self.modifier)
        Reserver.clicked.connect(self.reserver)

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



        self.setLayout(Grid)
Exemple #7
0
 def save_Extension(self):
     print("Test de sauvegarde")
     if (self.Extension_id==None):
         EnsExtensions.ajouter_Extension(self)
     else:
         EnsExtensions.update_Extension(self)
Exemple #8
0
def selectionnerJeu(game_id):

    selectedGame = EnsJeux.get_Jeu(Jeu_id=game_id)
    connecte()
    print "===== JEU ====="
    print "ID: "+str(selectedGame.get_Jeu_id())
    print "Nom du jeu: "+str(selectedGame.get_Nom_jeu())
    print "Annee: "+str(selectedGame.get_Annee())
    print "Editeur: "+str(selectedGame.get_Editeur())
    print "Age Minimum: "+str(selectedGame.get_AgeMini())
    print "Nombre de joueurs: "+str(selectedGame.get_NombreJoueurs())
    print "Description: "+str(selectedGame.get_Description())
    print "Nombre d'exemplaires: "+str(selectedGame.get_nombre_exemplaires())
    print "Nombre d'exemplaires disponibles: "+str(selectedGame.get_nombre_exemplaires_dispo())
    print "==============="
    print "\n"
    print "1. Afficher les extensions ("+str(EnsExtensions.nombre_extensions_Jeu(selectedGame))+")"
    if (ActiveSession.get_session_User().peut_emprunter()):
        print "2. Emprunter"
    else:
        print "2. Emprunter (Non disponible)"
    print "3. Reserver"
    if ActiveSession.est_admin():
        print "4. Modifier"
        print "5. Supprimer"
        print "6. Ajouter un exemplaire"
    print "0. Retour"
    choix = int(raw_input("Choix: "))

    # Selection de la liste des extensions
    if choix==1:
        listeExtensions(selectedGame)

    # L'utilisateur n'a pas d'emprunt en cours
    if (choix==2 and ActiveSession.get_session_User().peut_emprunter()):
        d=ActiveSession.get_session_User()
        print d.get_username()
        try:
            D=EnsEmprunt.Emprunt(User=d,Jeu=selectedGame)
            raw_input("Le jeu a bien été emprunté. A rendre pour le "+str(D.calcul_date_echeance()))
        except:
            raw_input("Oops, une erreur est survenue.")
        finally:
            selectionnerJeu(selectedGame.get_Jeu_id())

    # L'Utilisateur a déjà un emprunt en cours
    elif(choix==2 and EnsEmprunt.a_un_emprunt_en_cours(ActiveSession.get_session_User())):
        print "[ERREUR] Vous ne pouvez pas emprunter. Vous avez déjà un emprunt en cours."
        raw_input("Continuer.")
        selectionnerJeu(selectedGame.get_Jeu_id())
    # L'Utilisateur n'est pas adhérent
    elif(choix==2 and not(ActiveSession.get_session_User().get_abonnementValide())):
        print "[ERREUR] "
        raw_input("Continuer.")
        selectionnerJeu(selectedGame.get_Jeu_id())

    if (choix==4 and ActiveSession.est_admin()):
        modifierJeu(selectedGame)
    if (choix==5 and ActiveSession.est_admin()):
        supprimerJeu(selectedGame)
    if (choix==6 and ActiveSession.est_admin()):
        ajouterExemplaire(selectedGame)


    if choix==0:
        listeJeux()
    else:
        listeJeux()