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 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()