Esempio n. 1
0
    def GetTracks(self):
        """ Récupération des données """
        listeID = None

        # Importation des titulaires
        if self.afficher_locations == True :
            self.dict_titulaires = UTILS_Titulaires.GetTitulaires()

        # Initialisation des questionnaires
        categorie = "produit"
        self.UtilsQuestionnaires = UTILS_Questionnaires.Questionnaires()
        self.liste_questions = self.UtilsQuestionnaires.GetQuestions(type=categorie)
        self.dict_questionnaires = self.UtilsQuestionnaires.GetReponses(type=categorie)

        DB = GestionDB.DB()

        # Importation des locations en cours
        self.dictLocations = UTILS_Locations.GetProduitsLoues(DB=DB)

        # Importation des produits
        if self.filtreListeID == None :
            condition = ""
        else :
            if len(self.filtreListeID) == 0: condition = "WHERE produits.IDproduit IN ()"
            elif len(self.filtreListeID) == 1: condition = "WHERE produits.IDproduit IN (%d)" % self.filtreListeID[0]
            else: condition = "WHERE produits.IDproduit IN %s" % str(tuple(self.filtreListeID))

        req = """SELECT IDproduit, produits.nom, produits.observations, produits_categories.nom, quantite
        FROM produits
        LEFT JOIN produits_categories ON produits_categories.IDcategorie = produits.IDcategorie
        %s;""" % condition
        DB.ExecuterReq(req)
        listeDonnees = DB.ResultatReq()
        DB.Close()
        listeListeView = []
        for item in listeDonnees :
            track = Track(parent=self, donnees=item)

            valide = True
            if listeID != None :
                if item[0] not in listeID :
                    valide = False

            # Mémorisation position
            if self.dictPositions != None and track.IDproduit in self.dictPositions:
                track.position = self.dictPositions[track.IDproduit]

            # Coche afficher uniquement les disponibles
            if self.coche_uniquement_disponibles == True and track.disponible == 0 :
                valide = False

            if valide == True :
                listeListeView.append(track)
                if self.selectionID == item[0] :
                    self.selectionTrack = track
        return listeListeView
Esempio n. 2
0
    def MAJ(self):
        import GestionDB
        from Utils import UTILS_Questionnaires
        from Utils import UTILS_Locations
        from Utils import UTILS_Titulaires

        # Importation des titulaires
        self.dict_titulaires = UTILS_Titulaires.GetTitulaires()

        # Initialisation des questionnaires
        self.UtilsQuestionnaires = UTILS_Questionnaires.Questionnaires()
        self.liste_questions = self.UtilsQuestionnaires.GetQuestions(
            type="produit")
        self.dict_questionnaires = self.UtilsQuestionnaires.GetReponses(
            type="produit")

        DB = GestionDB.DB()

        # Importation des locations en cours
        self.dictLocations = UTILS_Locations.GetProduitsLoues(DB=DB)

        # Importation des caractéristiques du modèle
        req = """SELECT categorie, IDdonnee
        FROM documents_modeles
        WHERE IDmodele=%d;""" % self.IDmodele
        DB.ExecuterReq(req)
        listeDonnees = DB.ResultatReq()
        self.categorie, self.IDdonnee = listeDonnees[0]

        # Importation des produits
        req = """SELECT IDproduit, produits.nom, produits.observations, produits_categories.nom, produits.quantite
        FROM produits
        LEFT JOIN produits_categories ON produits_categories.IDcategorie = produits.IDcategorie
        WHERE produits.IDcategorie=%d;""" % self.IDdonnee
        DB.ExecuterReq(req)
        listeDonnees = DB.ResultatReq()
        DB.Close()
        self.dictTracks = {}
        for item in listeDonnees:
            track = Track(parent=self, donnees=item)
            self.dictTracks[track.IDproduit] = track

        return self.dictTracks