def __init__(self,item="", *args): self.item = int(item) QWidget.__init__(self) Layout = QVBoxLayout() FirstLayout = QVBoxLayout() Blank = QHBoxLayout() Bottom = QHBoxLayout() Bottom.addWidget(QPushButton("Emprunter")) selectedGame=EnsJeux.get_Jeu(self.item) NomJeu = QLabel("Nom du jeu: "+str(selectedGame.get_Nom_jeu())) Editeur = QLabel("Editeur: "+str(selectedGame.get_Editeur())) Annee = QLabel("Annee: "+str(selectedGame.get_Annee())) AgeMini = QLabel("Age minimum: "+str(selectedGame.get_AgeMini())) NombreJoueurs = QLabel("Nombre Joueurs: "+str(selectedGame.get_NombreJoueurs())) FirstLayout.addWidget(NomJeu) FirstLayout.addWidget(Editeur) FirstLayout.addWidget(Annee) FirstLayout.addWidget(AgeMini) FirstLayout.addWidget(NombreJoueurs) Layout.addLayout(FirstLayout) Layout.addLayout(Blank) Layout.addLayout(Bottom) self.setLayout(Layout)
def InitExemplaires(): id = 1 while id <= 250: # On sélectionne un jeu CurrentJeu = EnsJeux.get_Jeu(id) # On crée une exemplaire par jeu EnsExemplaires.Exemplaire(CurrentJeu).save() id = id + 1
def get_Exemplaire_dispo(Jeu): # LE NOMBRE D'EXEMPLAIRE MINIMUM POUR POUVOIR EMPRUNTER if get_nombre_exemplaires(Jeu,disponible=1) > 0: cur.execute("""SELECT * FROM EnsExemplaires WHERE Est_Disponible = 1 AND Jeu_id = ?""", (Jeu.get_Jeu_id(),)) result = cur.fetchone() return Exemplaire(EnsJeux.get_Jeu(result[1]),result[2],result[0]) else: print ("Oops, le jeu n'est pas disponible !") raise
def get_Exemplaire(exemplaire_id=None,jeu_id=None): if jeu_id == None: cur.execute("""SELECT * FROM EnsExemplaires WHERE Exemplaire_id = ?""", (exemplaire_id,)) else: cur.execute("""SELECT * FROM EnsExemplaires WHERE Jeu_id = ?""", (jeu_id,)) try: result = cur.fetchone() return Exemplaire(EnsJeux.get_Jeu(result[1]),result[2],result[0]) except: print ("Oops, l'id de l'exemplaire n'est pas valide !")
def setmydata(self): ligne = 0 Jeux = EnsJeux.printAll() for Jeu in Jeux: self.Table.setItem(ligne, 0, QTableWidgetItem(str(Jeu[0]))) self.Table.setItem(ligne, 1, QTableWidgetItem(Jeu[1])) self.Table.setItem(ligne, 2, QTableWidgetItem(Jeu[3])) self.Table.setItem(ligne, 3, QTableWidgetItem(str(Jeu[2]))) self.Table.setItem(ligne, 4, QTableWidgetItem(str(Jeu[5]))) CurrentJeu=EnsJeux.get_Jeu(Jeu[0]) if CurrentJeu.get_nombre_exemplaires_dispo() > 0: self.Table.item(ligne, 0).setBackground(QColor(178,255,102)) else: self.Table.item(ligne, 0).setBackground(QColor(255,102,102)) ligne=ligne+1
def searchmydata(self,keyword): ligne = 0 randomChars="%%%%%%%%%%%%%%%%%%%%%%%%%%%%" print keyword Jeux = EnsJeux.rechercher("%%%%%%%%%%%%%%%%"+keyword+"%%%%%%%%%%%%%%%%") self.Table.setRowCount(len(Jeux)) for Jeu in Jeux: self.Table.setItem(ligne, 0, QTableWidgetItem(str(Jeu[0]))) self.Table.setItem(ligne, 1, QTableWidgetItem(Jeu[1])) self.Table.setItem(ligne, 2, QTableWidgetItem(Jeu[3])) self.Table.setItem(ligne, 3, QTableWidgetItem(str(Jeu[2]))) self.Table.setItem(ligne, 4, QTableWidgetItem(str(Jeu[4]))) CurrentJeu=EnsJeux.get_Jeu(Jeu[0]) if CurrentJeu.get_nombre_exemplaires_dispo() > 0: self.Table.item(ligne, 0).setBackground(QColor(178,255,102)) else: self.Table.item(ligne, 0).setBackground(QColor(255,102,102)) ligne=ligne+1
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: "+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: "+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. Emprunter" print "2. Reserver" if ActiveSession.est_admin(): print "3. Modifier" print "4. Supprimer" print "5. Ajouter un exemplaire" print "0. Retour" choix = int(raw_input("Choix: ")) if (choix==1): emprunterJeu() if (choix==3 and ActiveSession.est_admin()): modifierJeu() if (choix==4 and ActiveSession.est_admin()): supprimerJeu(selectedGame) if (choix==5 and ActiveSession.est_admin()): ajouterExemplaire(selectedGame) if choix==0: listeJeux() else: listeJeux()
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 printAll(): cur.execute("""SELECT * FROM EnsExemplaires""") rows = cur.fetchall() for row in rows: print('{0} : {1} => Dispo ? {2}'.format(row[0], EnsJeux.get_Jeu(row[1]).get_Nom_jeu(), row[2]))
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()