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
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)
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)
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()
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)
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)
def save_Extension(self): print("Test de sauvegarde") if (self.Extension_id==None): EnsExtensions.ajouter_Extension(self) else: EnsExtensions.update_Extension(self)
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()