Ejemplo n.º 1
0
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())
Ejemplo n.º 2
0
    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()
Ejemplo n.º 3
0
    def searchmydata(self,keyword):
        ligne = 0
        randomChars="%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
        print keyword
        Users = EnsUtilisateurs.rechercher("%%%%%%%%%%%%%%%%"+keyword+"%%%%%%%%%%%%%%%%")
        self.setRowCount(len(Users))
        for User in Users:
            currentUser = EnsUtilisateurs.get_user(int(User[0]))


            self.setItem(ligne, 0, QTableWidgetItem(str(User[0])))
            if currentUser.get_abonnementValide():
                self.item(ligne, 0).setBackground(QColor(178,255,102))
            else:
                self.item(ligne, 0).setBackground(QColor(255,102,102))
            self.setItem(ligne, 1, QTableWidgetItem(User[1]))


            if (EnsEmprunt.a_un_emprunt_en_cours(currentUser)):
                emprunt = "Oui"
            else:
                emprunt = "Non"
            self.setItem(ligne, 2, QTableWidgetItem(emprunt))
            self.setItem(ligne, 3, QTableWidgetItem(str(User[6])))
            ligne=ligne+1
Ejemplo n.º 4
0
	def rendre_Emprunt(self):
		self.date_rendu = date.today()
		try:
			EnsEmprunt.update(self)
			if self.est_rendu():
				print ("Emprunt Rendu !")
				self.Exemplaire.set_Est_disponible(True)
				user = self.get_User_Emprunt()
				nbRetard = self.calcul_retard()
				user.ajout_Retard(nbRetard)
				if(user.get_nbRetard()>10):
					user.set_abonnementValide(False)
				EnsEmprunt.delete_emprunt(self)
				print (u"Emprunt supprimé !")
		except:
			print ("ERREUR")
Ejemplo n.º 5
0
    def setmydata(self):
        ligne = 0
        Emprunts = EnsEmprunt.printAll()
        for Emprunt in Emprunts:
            self.Table.setItem(ligne, 0, QTableWidgetItem(str(EnsUtilisateurs.get_user(Emprunt[1]).get_username())))
            self.Table.setItem(ligne, 1, QTableWidgetItem(str(EnsExemplaires.get_Exemplaire(Emprunt[2]).get_Jeu_Exemplaire().get_Nom_jeu())))
            self.Table.setItem(ligne, 2, QTableWidgetItem(str(Emprunt[3])))
            self.Table.setItem(ligne, 3, QTableWidgetItem(str(Emprunt[4])))

            ligne=ligne+1
Ejemplo n.º 6
0
    def __init__(self, *args):
        QWidget.__init__(self)

        self.Table = QTableWidget()
        # Conteneur Vertical
        VLayout = QVBoxLayout()
        # Element 1 du Conteneur Vertical : Label


        VLayout.addWidget(QLabel("Emprunts"))

        # Layout de recherche
        RechercheLayout = QHBoxLayout()


        # Ajout du layout de recherche au layout principal
        VLayout.addLayout(RechercheLayout)

        # Connexion:

        VLayout.addWidget(self.Table)
        # Conteneur Horizontal pour boutons

        # On affecte le layout vertical au widget
        self.setLayout(VLayout)
        #  On change le widget central !


        self.Table.setSortingEnabled(True)
        self.Table.setMinimumSize(800, 300)
        self.Table.setColumnCount(4)
        self.Table.setRowCount(EnsEmprunt.get_nombre_emprunts())

        self.setheaders()
        self.setmydata()

        # Selection de lignes activé
        self.Table.setSelectionBehavior(self.Table.SelectRows)
        # Pas de sélection de cellule
        self.Table.setSelectionMode(self.Table.NoSelection)
        self.Table.setEditTriggers(QAbstractItemView.NoEditTriggers)
        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)
Ejemplo n.º 7
0
	def __init__(self, Emprunt_id = None,  User=None, Jeu=None,Exemplaire=None,date_emprunt=None,date_echeance=None,date_rendu=None):

		self.Emprunt_id = Emprunt_id   		#Id de l'emprunt
		self.User = User 			#Id de l'adhérent

		if Emprunt_id == None:
			# Test si l'exemplaire est disponible
			if EnsReservation.Reservation_EnCours(User) and EnsReservation.get_Reservation_User().get_Jeu() == self.Jeu:
				EnsReservation.supprimer_Reservation(EnsReservation.get_Reservation_User(User))
				print ("Reservation supprimé !")
			if EnsExemplaires.get_nombre_exemplaires(Jeu,disponible=1) > 0:
				self.Exemplaire = EnsExemplaires.get_Exemplaire_dispo(Jeu)
			else:
				self.Exemplaire=None
				print ("Oops, ce jeu n'est pas disponible !")
				raise
			self.date_rendu = date_rendu
			# PréCondition: Exemplaire Disponible !
			if (date_emprunt == None and self.Exemplaire.get_Est_disponible() and not(EnsEmprunt.a_un_emprunt_en_cours(User))):


				self.date_emprunt = date.today()
				# TEST DU retard
				#self.date_emprunt = date(2015,10,21)



				self.date_echeance = self.calcul_Date_Echeance()
				try:
					EnsExemplaires.get_Exemplaire(self.Exemplaire.get_Exemplaire_id()).set_Est_disponible(False)
					self.save()
					print ("Un emprunt a été créé !")
				except:
					print ("Oops, impossible d'emprunter, déjà un emprunt en cours ?!")
					raise
			else:
				print ("Oops ! Emprunt non valide !")
				raise
				self.date_emprunt = date_emprunt
				self.date_echeance = date_echeance
		else:
			self.Exemplaire=Exemplaire
			self.date_emprunt=date_emprunt
			self.date_echeance=date_echeance
			self.date_rendu=date_rendu
Ejemplo n.º 8
0
    def emprunter(self):
        if self.session == None:
            QMessageBox.warning(self, "Impossible d'emprunter",
            u"Oops ! il semblerait que vous ne soyez pas connecté.",
            QMessageBox.Ok, QMessageBox.NoButton,
            QMessageBox.NoButton)
        elif (self.session.get_session_User().peut_emprunter()):
            try:
                D=EnsEmprunt.Emprunt(User=self.User,Jeu=self.selectedGame)
                ###########################
                # AJOUTER LA CONFIRMATION #
                ###########################
                QMessageBox.information(self, "Emprunt !",
                u"Le jeu a bien ete emprunté.\n A rendre pour le "+str(D.calcul_Date_Echeance()),
                QMessageBox.Ok, QMessageBox.NoButton,
                QMessageBox.NoButton)

                ## AUTOREFREEEEEESH ##
                new = JeuView(item=self.item,session=self.session)
                self.parent().setCentralWidget(new)

            # Bug catch de l'espace
            except:
                raise
                QMessageBox.critical(self, "ERREUR !",
                "Oops ! Une erreur est survenue ",
                QMessageBox.Ok, QMessageBox.NoButton,
                QMessageBox.NoButton)

        elif (EnsEmprunt.a_un_emprunt_en_cours(self.User)):
            QMessageBox.warning(self, "Impossible d'emprunter",
            u"Oops ! il semblerait que vous ayez déjà un emprunt en cours.",
            QMessageBox.Ok, QMessageBox.NoButton,
            QMessageBox.NoButton)
        else:
            QMessageBox.warning(self, "Impossible d'emprunter",
            "Oops ! Il semblerait que votre abonnement n'est pas valide.",
            QMessageBox.Ok, QMessageBox.NoButton,
            QMessageBox.NoButton)
Ejemplo n.º 9
0
    def setmydata(self):
        ligne = 0
        Users = EnsUtilisateurs.printAll()
        for User in Users:
            currentUser = EnsUtilisateurs.get_user(int(User[0]))


            self.setItem(ligne, 0, QTableWidgetItem(str(User[0])))
            if currentUser.get_abonnementValide():
                self.item(ligne, 0).setBackground(QColor(178,255,102))
            else:
                self.item(ligne, 0).setBackground(QColor(255,102,102))
            self.setItem(ligne, 1, QTableWidgetItem(User[1]))


            if (EnsEmprunt.a_un_emprunt_en_cours(currentUser)):
                emprunt = "Oui"
            else:
                emprunt = "Non"
            self.setItem(ligne, 2, QTableWidgetItem(emprunt))
            self.setItem(ligne, 3, QTableWidgetItem(str(User[6])))
            ligne=ligne+1
Ejemplo n.º 10
0
    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)
Ejemplo n.º 11
0
 def peut_emprunter(self):
     return (not(EnsEmprunt.a_un_emprunt_en_cours(self)) and self.abonnementValide)
Ejemplo n.º 12
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)
Ejemplo n.º 13
0
    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)
Ejemplo n.º 14
0
	def save(self):
		if self.Emprunt_id == None:
			EnsEmprunt.insert_emprunt(self)
Ejemplo n.º 15
0
def rendreEmprunt(selectedUser):
    EnsEmprunt.get_emprunt_en_cours(selectedUser).rendre_Emprunt()
Ejemplo n.º 16
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()