示例#1
0
    def est_coherent(self, clients):
        """
        vérifie que les données du fichier importé sont cohérentes
        :param clients: clients importés
        :return: 1 s'il y a une erreur, 0 sinon
        """

        if self.verifie_coherence == 1:
            print(self.libelle + ": cohérence déjà vérifiée")
            return 0

        msg = ""
        ligne = 1
        donnees_dict = {}
        ids = []

        del self.donnees[0]
        for donnee in self.donnees:
            if donnee['id_plateforme'] == "":
                msg += "l'id plateforme " + str(ligne) + " ne peut être vide\n"
            elif donnee['id_plateforme'] not in clients.obtenir_codes():
                msg += "l'id plateforme de la ligne " + str(
                    ligne) + " n'existe pas dans les clients \n"
            elif donnee['id_plateforme'] not in ids:
                ids.append(donnee['id_plateforme'])
            else:
                msg += "l'id plateforme de la ligne " + str(
                    ligne) + " n'est pas unique \n"
            donnee['code_p'], info = Outils.est_un_alphanumerique(
                donnee['code_p'], "le code P", ligne)
            msg += info
            donnee['centre'], info = Outils.est_un_alphanumerique(
                donnee['centre'], "le centre financier", ligne)
            msg += info
            donnee['fonds'], info = Outils.est_un_alphanumerique(
                donnee['fonds'], "les fonds à créditer", ligne)
            msg += info
            donnee['intitule'], info = Outils.est_un_texte(
                donnee['intitule'], "l'intitulé", ligne)
            msg += info
            donnee['grille'], info = Outils.est_un_document(
                donnee['grille'], "la grille tarifaire", ligne, True)
            msg += info

            donnees_dict[donnee['id_plateforme']] = donnee
            ligne += 1

        self.donnees = donnees_dict
        self.verifie_coherence = 1

        if msg != "":
            msg = self.libelle + "\n" + msg
            Outils.affiche_message(msg)
            return 1
        return 0
示例#2
0
    def est_coherent(self, generaux, clients):
        """
        vérifie que les données du fichier importé sont cohérentes
        :param generaux: paramètres généraux
        :param clients: clients importés
        :return: 1 s'il y a une erreur, 0 sinon
        """

        if self.verifie_coherence == 1:
            print(self.libelle + ": cohérence déjà vérifiée")
            return 0

        msg = ""
        ligne = 1
        donnees_list = []

        for donnee in self.donnees:
            donnee['nom'], err = Outils.est_un_document(
                donnee['nom'], "le nom")
            msg += err

            if donnee['position'] == "":
                msg += "la position de la ligne " + str(
                    ligne) + " ne peut être vide\n"

            donnee['position'], info = Outils.est_un_entier(donnee['position'],
                                                            "la position",
                                                            ligne,
                                                            min=0)
            msg += info

            if donnee['Annexe-pièces'] == "":
                msg += "le annexe P.J. de la ligne " + str(
                    ligne) + " ne peut être vide\n"
            if not (donnee['Annexe-pièces'] == "OUI"
                    or donnee['Annexe-pièces'] == "NON"):
                msg += "le annexe P.J. de la ligne " + str(
                    ligne) + " doit être 'OUI' ou 'NON'\n"

            if donnee['Annexe-interne'] == "":
                msg += "le annexe Int de la ligne " + str(
                    ligne) + " ne peut être vide\n"
            if not (donnee['Annexe-interne'] == "OUI"
                    or donnee['Annexe-interne'] == "NON"):
                msg += "le annexe Int de la ligne " + str(
                    ligne) + " doit être 'OUI' ou 'NON'\n"

            if donnee['nature'] != "" and donnee[
                    'nature'] not in generaux.obtenir_code_n():
                msg += "la nature '" + donnee['nature'] + "' de la ligne " + str(ligne) +\
                    " n'existe pas dans les types N\n"

            if donnee['code'] != "" and donnee[
                    'code'] not in clients.obtenir_codes():
                msg += "le code client '" + donnee[
                    'code'] + "' de la ligne " + str(
                        ligne) + " n'est pas référencé\n"

            donnee['chemin'] = Outils.chemin(
                [self._chemin, donnee['nom'] + ".pdf"])
            if not Outils.existe(donnee['chemin']):
                msg += "le fichier PDF '" + donnee[
                    'nom'] + "' de la ligne " + str(ligne) + " n'existe pas\n"

            donnees_list.append(donnee)

            ligne += 1

        self.donnees = donnees_list
        self.verifie_coherence = 1

        if msg != "":
            msg = self.libelle + "\n" + msg
            Outils.affiche_message(msg)
            return 1
        return 0