def rendreEmprunt(self): try: EnsEmprunt.get_emprunt_en_cours(self.selectedUser).rendre_Emprunt() if(self.selectedUser.get_nbRetard()>10): self.selectedUser.set_abonnementValide(False) #pénalité: l'adhérent ne peut plus emprunter de jeu. QMessageBox.information(self, "Emprunt rendu !", u"L'emprunt a bien été rendu !", QMessageBox.Ok, QMessageBox.NoButton, QMessageBox.NoButton) except: raise self.criticalError() finally: self.refresh()
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())
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)
def __init__(self,session="",*args): # ESPACEMENT super(ProfileView, self).__init__() spacer = QWidget() spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.session = session self.Display = QWidget() self.Display.setMinimumSize(300, 300) self.selectedUser = self.session.get_session_User() QWidget.__init__(self) HBox1 = QHBoxLayout() Grid = QVBoxLayout() # Titre Principale font = QFont() font.setBold(True) font.setWeight(75) font.setPointSize(36) Username = QLabel("Mon profil") 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(u"Adhérent") 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 ModifierMotDePasse = QPushButton("Changer mon mot de passe") # 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) HBox3=QHBoxLayout() VBox3=QVBoxLayout() VBox4=QVBoxLayout() HBox3.addLayout(VBox3) HBox3.addLayout(VBox4) VBoxTextes.addWidget(ModifierMotDePasse) #### EMPRUUUUNT #### VBoxTextes.addWidget(EmpruntTitre) 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(" ")) # Verticale Droite VBoxBoutons = QVBoxLayout() HBoxCentre.addLayout(VBoxTextes) Blank = QVBoxLayout() Blank.addWidget(spacer) HBoxCentre.addLayout(Blank) HBoxCentre.addLayout(VBoxBoutons) # Ajout des widgets Boutons #VBoxBoutons.addWidget(ModifierMotDePasse) Grid.addLayout(HBoxCentre) Grid.addLayout(HBox3) ModifierMotDePasse.clicked.connect(self.modifierMotDePasse) # ESPACEMENT spacer = QWidget() spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) Grid.addWidget(spacer) self.setLayout(Grid)
def rendreEmprunt(selectedUser): EnsEmprunt.get_emprunt_en_cours(selectedUser).rendre_Emprunt()