Пример #1
0
class Fen6(
        QDialog
):  #     saisir un nouveau produit et de le ratacher à un site de production
    def __init__(self):
        QDialog.__init__(self)
        self.setWindowTitle("IkeoOoooooo")
        self.setGeometry(500, 50, 500, 450)
        self.setStyleSheet("background-color: #003399; color: #FFFFFF")
        try:
            self.data = Bdd()
        except mysql.connector.errors.InterfaceError:
            self.pop = Popup()
            self.pop.connex_err()

        self.vide = QLabel()
        self.invit0 = QLabel()
        self.invit0.setText("Nom du produit :")
        self.invit1 = QLabel()
        self.invit1.setText("Référence :")
        self.invit2 = QLabel()
        self.invit2.setText("Description :")
        self.invit3 = QLabel()
        self.invit3.setText("Statut du produit :")
        self.invit4 = QLabel()
        self.invit4.setText("Site de production :")
        self.affect_statut = QComboBox(self)
        self.affect_statut.addItems(
            ['Commercialisation abandonnée', 'Commercialisé'])
        self.affect_site = QComboBox(self)
        self.affect_site.addItems(self.data.lister_sites())
        self.champ0 = QLineEdit()
        self.champ1 = QLineEdit()
        self.champ2 = QLineEdit()
        self.btok = QPushButton("Entrer dans la base")
        self.btok.resize(100, 30)
        self.btok.clicked.connect(self.appui_ok6)
        self.label = QLabel()

        layout = QVBoxLayout()
        layout.addWidget(self.invit0)
        layout.addWidget(self.champ0)
        layout.addWidget(self.invit1)
        layout.addWidget(self.champ1)
        layout.addWidget(self.invit2)
        layout.addWidget(self.champ2)
        layout.addWidget(self.invit3)
        layout.addWidget(self.affect_statut)
        layout.addWidget(self.invit4)
        layout.addWidget(self.affect_site
                         )  ## ajouter possibilité d'affecter plusieurs sites
        layout.addWidget(self.vide)
        layout.addWidget(self.btok)
        layout.addWidget(self.label)
        self.setLayout(layout)

    def appui_ok6(self):
        nompro = self.champ0.text()
        refpro = self.champ1.text()
        descpro = self.champ2.text()
        if self.affect_statut.currentText() == 'Commercialisé':
            statpro = 0
        else:
            statpro = 1
        site1 = self.affect_site.currentText()
        refs_existantes = self.data.lister_references()
        if refpro in refs_existantes:
            self.pop1 = Popup()
            self.pop1.ref_exist_err()
        else:
            if (bool(nompro) & bool(refpro)
                ):  ## faire un if imbriqué pour ref existe déjà ou pas
                try:
                    self.data.ajout_produit(nompro, refpro, descpro, statpro,
                                            site1)
                    self.champ0.setText("")
                    self.champ1.setText("")
                    self.champ2.setText("")
                    self.label.setText("Nouveau produit entré en base.")
                except OperationalError:
                    self.label.setText(
                        "Une erreur est survenue. Vérifiez votre connexion avec le serveur de données."
                    )
            else:
                self.pop = Popup()
                self.pop.champ_vide_err("'Nom' et 'Référence'")
Пример #2
0
class Fen4(QDialog):  #  	saisir un nouveau client
    def __init__(self):
        QDialog.__init__(self)
        self.setWindowTitle("IkeoOoooooo")
        self.setGeometry(500, 50, 500, 450)
        self.setStyleSheet("background-color: #003399; color: #FFFFFF")
        try:
            self.data = Bdd()
        except mysql.connector.errors.InterfaceError:
            self.pop = Popup()
            self.pop.connex_err()

        self.vide = QLabel()
        self.invit1 = QLabel()
        self.invit1.setText("Choisir le type de client :")
        self.invit2 = QLabel()
        self.invit2.setText("Nom du client :")
        self.invit3 = QLabel()
        self.invit3.setText("Adresse :")
        self.invit4 = QLabel()
        self.invit4.setText("Ville :")
        self.invit5 = QLabel()
        self.invit5.setText("Pays :")
        self.affect_typecl = QComboBox(self)
        self.affect_typecl.addItems(['Magasin', 'Central d\'achat'])
        self.affect_pays = QComboBox(self)
        self.affect_pays.addItems(self.data.lister_pays())
        self.champ2 = QLineEdit()
        self.champ3 = QLineEdit()
        self.champ4 = QLineEdit()
        self.btok = QPushButton("Entrer dans la base")
        self.btok.resize(100, 30)
        self.btok.clicked.connect(self.appui_ok4)
        self.label = QLabel()

        layout = QVBoxLayout()
        layout.addWidget(self.invit1)
        layout.addWidget(self.affect_typecl)
        layout.addWidget(self.invit2)
        layout.addWidget(self.champ2)
        layout.addWidget(self.invit3)
        layout.addWidget(self.champ3)
        layout.addWidget(self.invit4)
        layout.addWidget(self.champ4)
        layout.addWidget(self.invit5)
        layout.addWidget(self.affect_pays)
        layout.addWidget(self.vide)
        layout.addWidget(self.btok)
        layout.addWidget(self.label)
        self.setLayout(layout)

    def appui_ok4(self):
        typecl = self.affect_typecl.currentText()
        nom = self.champ2.text()
        rue = self.champ3.text()
        ville = self.champ4.text()
        pays = self.affect_pays.currentText()
        if (bool(nom) & bool(ville)):
            try:
                self.data.saisir_client(typecl, nom, rue, ville, pays)
                self.champ2.setText("")
                self.champ3.setText("")
                self.champ4.setText("")
                self.label.setText("Nouveau client entré en base.")
            except:
                self.label.setText(
                    "Une erreur est survenue. Veuillez vérifier votre connexion au serveur et réessayer."
                )
        else:
            self.pop = Popup()
            self.pop.champ_vide_err("'Nom' et 'Ville'")