示例#1
0
 def ControleIBAN(self):
     iban = self.ctrl_iban.GetValue() 
     bic = self.ctrl_bic.GetValue() 
     if UTILS_Prelevements.ControleIBAN(iban) == True and UTILS_Prelevements.ControleBIC(bic) == True :
         self.MAJcontrole(iban, bic, True)
         return True
     else :
         self.MAJcontrole(iban, bic, False)
         return False
 def ControleIBAN(self):
     iban = self.ctrl_iban.GetValue() 
     bic = self.ctrl_bic.GetValue() 
     if UTILS_Prelevements.ControleIBAN(iban) == True and UTILS_Prelevements.ControleBIC(bic) == True :
         self.ctrl_controle.SetBitmap(self.image_valide)
         return True
     else :
         self.ctrl_controle.SetBitmap(self.image_nonvalide)
         return False
示例#3
0
 def ControleRIB(self):
     etab = self.ctrl_code_etab.GetValue()
     guichet = self.ctrl_code_guichet.GetValue()
     numero = self.ctrl_numero.GetValue()
     cle = self.ctrl_cle.GetValue()
     bic = u"%s%s%s%s" % (etab, guichet, numero, cle)
     return UTILS_Prelevements.AlgoControleRIB(bic)
示例#4
0
 def MAJ_DFT_IBAN(self, event=None):
     """ Actualise le code IBAN du comte DFT """
     iban = self.ctrl_dft_iban.GetValue()
     if UTILS_Prelevements.ControleIBAN(iban) == False:
         self.ctrl_controle_dft_iban.SetBitmap(self.dft_image_nonvalide)
     else:
         self.ctrl_controle_dft_iban.SetBitmap(self.dft_image_valide)
     if event != None: event.Skip()
示例#5
0
 def ControleRIB(self):
     # Calcul du RIB
     cle_iban = self.ctrl_cle_iban.GetValue()
     etab = self.ctrl_code_etab.GetValue()
     guichet = self.ctrl_code_guichet.GetValue()
     numero = self.ctrl_numero.GetValue()
     cle = self.ctrl_cle_rib.GetValue()
     rib = u"%s%s%s%s" % (etab, guichet, numero, cle)
     validationRIB = UTILS_Prelevements.AlgoControleRIB(rib)
     # Calcul du IBAN
     iban = ""
     if cle_iban != "" and rib != "":
         iban = cle_iban + rib
         if UTILS_Prelevements.ControleIBAN(iban) == False:
             iban = ""
     if iban != "":
         self.ctrl_controle.SetBitmap(self.image_valide)
         return True
     else:
         self.ctrl_controle.SetBitmap(self.image_nonvalide)
         return False
示例#6
0
    def __init__(self, donnees, dictTitulaires):
        self.dictTitulaires = dictTitulaires
        self.IDprelevement = donnees["IDprelevement"]
        self.IDfamille = donnees["IDfamille"]
        self.IDcompte_payeur = donnees["IDcompte_payeur"]
        self.prelevement_etab = donnees["prelevement_etab"]
        self.prelevement_guichet = donnees["prelevement_guichet"]
        self.prelevement_numero = donnees["prelevement_numero"]
        self.prelevement_banque = donnees["prelevement_banque"]
        self.prelevement_cle = donnees["prelevement_cle"]
        self.prelevement_iban = donnees["prelevement_iban"]
        self.prelevement_bic = donnees["prelevement_bic"]
        self.prelevement_reference_mandat = donnees[
            "prelevement_reference_mandat"]
        self.prelevement_date_mandat = donnees["prelevement_date_mandat"]

        # Si IBAN manquant, on le calcule
        if self.prelevement_iban == None and self.prelevement_etab != None and self.prelevement_guichet != None and self.prelevement_numero != None and self.prelevement_cle != None:
            rib = self.prelevement_etab + self.prelevement_guichet + self.prelevement_numero + self.prelevement_cle
            self.prelevement_iban = UTILS_Prelevements.ConvertirRIBenIBAN(
                rib, codePays="FR")

        self.titulaire = donnees["titulaire"]
        self.type = donnees["type"]
        self.IDfacture = donnees["IDfacture"]
        self.libelle = donnees["libelle"]
        self.montant = donnees["montant"]
        self.statut = donnees["statut"]
        self.IDlot = donnees["IDlot"]

        self.MAJnomBanque()

        self.titulaires = ""
        self.InitNomsTitulaires()

        self.IDreglement = donnees["IDreglement"]
        if self.IDreglement == None:
            self.reglement = False
        else:
            self.reglement = True
        self.dateReglement = donnees["dateReglement"]
        self.IDdepot = donnees["IDdepot"]

        self.etat = donnees["etat"]  # "ajout", "modif"
    def MAJ_IBAN(self, event=None):
        """ Actualise le code IBAN """
        cle_iban = self.ctrl_cle_iban.GetValue()
        etab = self.ctrl_etab.GetValue()
        guichet = self.ctrl_guichet.GetValue()
        compte = self.ctrl_numero.GetValue()
        cle_rib = self.ctrl_cle_rib.GetValue()

        iban = ""
        if cle_iban != "" and etab != "" and guichet != "" and compte != "" and cle_rib != "":
            iban = cle_iban + etab + guichet + compte + cle_rib
            if UTILS_Prelevements.ControleIBAN(iban) == False:
                iban = ""
        self.ctrl_iban.SetValue(iban)
        if iban != "":
            self.ctrl_controle_iban.SetBitmap(self.image_valide)
        else:
            self.ctrl_controle_iban.SetBitmap(self.image_nonvalide)
        if event != None: event.Skip()
示例#8
0
    def OnBoutonOk(self, event):
        # Récupération des données
##        IDbanque = self.ctrl_banque.GetID()
        IDindividu = self.ctrl_membre.GetID()
        nom = self.ctrl_individu_nom.GetValue()
        rue = self.ctrl_individu_rue.GetValue()
        cp = self.ctrl_individu_ville.GetValueCP()
        ville = self.ctrl_individu_ville.GetValueVille()
        iban = self.ctrl_iban.GetValue() 
        bic = self.ctrl_bic.GetValue() 
        rum = self.ctrl_reference_mandat.GetValue() 
        date = self.ctrl_date_mandat.GetDate() 
        typeMandat = self.ctrl_type_mandat.GetSelection() 
        memo = self.ctrl_memo.GetValue() 
        actif = self.ctrl_actif.GetValue() 

        if self.radio_membre.GetValue() == True :
            nom = None
            rue = None
            cp = None
            ville = None
        else :
            IDindividu = None

        # Vérification des données saisies
        if len(rum) == 0 :
            dlg = wx.MessageDialog(self, _(u"Vous devez saisir la référence du mandat !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            self.ctrl_reference_mandat.SetFocus()
            return

        if date == None :
            dlg = wx.MessageDialog(self, _(u"Vous devez saisir la date de signature du mandat !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            self.ctrl_date_mandat.SetFocus()
            return

        if UTILS_Prelevements.ControleIBAN(iban) == False :
            dlg = wx.MessageDialog(self, _(u"Le IBAN semble erroné !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            self.ctrl_iban.SetFocus()
            return
        
        if UTILS_Prelevements.ControleBIC(bic) == False :
            dlg = wx.MessageDialog(self, _(u"Le BIC semble erroné !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            self.ctrl_bic.SetFocus()
            return
            
##        if IDbanque == None :
##            dlg = wx.MessageDialog(self, _(u"Vous devez sélectionner un établissement bancaire !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION)
##            dlg.ShowModal()
##            dlg.Destroy()
##            self.ctrl_banque.SetFocus()
##            return
        
        if self.radio_membre.GetValue() == True :
            if IDindividu == None :
                dlg = wx.MessageDialog(self, _(u"Vous n'avez pas sélectionné de titulaire du compte bancaire !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION)
                dlg.ShowModal()
                dlg.Destroy()
                self.ctrl_membre.SetFocus()
                return
        else :
            if nom == "" :
                dlg = wx.MessageDialog(self, _(u"Vous n'avez pas renseigné le titulaire du compte bancaire !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION)
                dlg.ShowModal()
                dlg.Destroy()
                self.ctrl_individu_nom.SetFocus()
                return
        
        if typeMandat == 0 : 
            typeMandat = "recurrent"
        else :
            typeMandat = "ponctuel"
        
        sequence = self.ctrl_sequence.GetCode() 
        
        # Vérifie que le RUM n'est pas déjà attribué à un autre mandat
        if self.IDmandat == None :
            IDmandatTemp = 0
        else :
            IDmandatTemp = self.IDmandat
        DB = GestionDB.DB()
        req = """SELECT IDmandat, rum FROM mandats WHERE rum='%s' AND IDmandat !=%d;""" % (rum, IDmandatTemp) 
        DB.ExecuterReq(req)
        listeDonnees = DB.ResultatReq()
        DB.Close()
        if len(listeDonnees) > 0 :
            dlg = wx.MessageDialog(self, _(u"Le RUM saisi a déjà été enregistré pour un autre mandat alors qu'il doit être unique ! \n\nVeuillez en saisir un différent..."), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            self.ctrl_reference_mandat.SetFocus() 
            return

        # Sauvegarde
        DB = GestionDB.DB()
        listeDonnees = [    
                ("IDfamille", self.IDfamille),
                ("rum", rum),
                ("type", typeMandat),
                ("date", date),
                ("IDbanque", None),
                ("IDindividu", IDindividu),
                ("individu_nom", nom),
                ("individu_rue", rue),
                ("individu_cp", cp),
                ("individu_ville", ville),
                ("iban", iban),
                ("bic", bic),
                ("memo", memo),
                ("sequence", sequence),
                ("actif", int(actif)),
            ]
        
        if self.IDmandat == None :
            self.IDmandat = DB.ReqInsert("mandats", listeDonnees)
        else :
            DB.ReqMAJ("mandats", listeDonnees, "IDmandat", self.IDmandat)
        DB.Close()

        # Fermeture
        self.EndModal(wx.ID_OK)