def Fermer(self, save=True): """ Fermeture """ if save == False: # Annule la création d'une nouvelle fiche if self.nouvelleFiche == True: db = GestionDB.DB() db.ReqDEL("coordonnees", "IDpersonne", self.IDpersonne) db.ReqDEL("personnes", "IDpersonne", self.IDpersonne) db.Close() else: # Sauvegarde des données # Vérifie que les infos principales sont saisies : if self.Verifie_validite_donnees() == True: self.notebook.pageGeneralites.Sauvegarde() self.notebook.pageQuestionnaire.Sauvegarde() else: return # Recherche si un parent est à mettre à jour frm = FonctionsPerso.FrameOuverte("Personnes") if frm != None: frm.listCtrl_personnes.MAJ(IDpersonne=self.IDpersonne) frm.panel_dossiers.tree_ctrl_problemes.MAJ_treeCtrl() # Fin self.EndModal(wx.ID_OK)
def OnBoutonOk(self, event): """ Validation des données saisies """ # Vérifie que une valeur a été saisie valeur = self.text_valeur.GetValue() if valeur == "" : dlg = wx.MessageDialog(self, _(u"Vous devez saisir une valeur de point."), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_valeur.SetFocus() return # Vérifie que la valeur est bien constituée de chiffres uniquement incoherences = "" for lettre in valeur : if lettre not in "0123456789." : incoherences += "'"+ lettre + "', " if len(incoherences) != 0 : txt = _(u"Caractères incorrects : ") + incoherences[:-2] dlg = wx.MessageDialog(self, _(u"La valeur de point que vous avez saisie n'est pas correcte.\n\n") + txt, "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_valeur.SetFocus() return # Sauvegarde self.Sauvegarde() # MAJ du listCtrl des valeurs de points if FonctionsPerso.FrameOuverte("config_val_point") != None : self.GetParent().MAJ_ListCtrl() # Fermeture self.EndModal(wx.ID_OK)
def OnBoutonOk(self, event): """ Validation des données saisies """ # Sauvegarde self.Sauvegarde() # MAJ des parents if self.parent == None and FonctionsPerso.FrameOuverte("panel_accueil") != None : # Mise à jour de la page d'accueil topWindow = wx.GetApp().GetTopWindow() topWindow.toolBook.GetPage(0).MAJpanel() # Fermeture self.EndModal(wx.ID_OK)
def OnBoutonOk(self, event): """ Validation des données saisies """ nom_abrege = self.text_nom_abrege.GetValue() nom = self.text_nom.GetValue() if self.radio_oui.GetValue() == True: duree = "oui" else: duree = "non" # Vérifie que un nom abrégé a été saisi if nom_abrege == "": dlg = wx.MessageDialog( self, _(u"Vous devez obligatoirement saisir un nom abrégé."), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_nom_abrege.SetFocus() return # Vérifie que un nom abrégé ne dépasse pas 5 caractéres if len(nom_abrege) > 5: dlg = wx.MessageDialog( self, _(u"Le nom abrégé ne doit pas dépasser 5 caractères !"), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_nom_abrege.SetFocus() return # Vérifie que un nom abrégé a été saisi if nom == "": dlg = wx.MessageDialog( self, _(u"Vous devez obligatoirement saisir un nom complet."), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_nom.SetFocus() return # Sauvegarde self.Sauvegarde() # MAJ du listCtrl des valeurs de points if FonctionsPerso.FrameOuverte("config_typeContrat") != None: self.GetParent().MAJ_ListCtrl() # Fermeture self.EndModal(wx.ID_OK)
def OnBoutonOk(self, event): """ Validation des données saisies """ varNom = self.text_ctrl_nom.GetValue() if varNom == "": dlg = wx.MessageDialog( self, _(u"Vous devez saisir un nom pour ce jour férié. Par exemple : 'Lundi de Pâques'..." ), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_ctrl_nom.SetFocus() return if self.typeJour == "fixe": varJour = self.choice_jour_fixe.GetSelection() if varJour == -1 or varJour == None: dlg = wx.MessageDialog( self, _(u"Vous devez sélectionner un jour pour ce jour férié !" ), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.choice_jour_fixe.SetFocus() return varMois = self.choice_mois_fixe.GetSelection() if varMois == -1 or varMois == None: dlg = wx.MessageDialog( self, _(u"Vous devez sélectionner un mois pour ce jour férié !" ), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.choice_mois_fixe.SetFocus() return # Sauvegarde self.Sauvegarde() # MAJ du listCtrl des valeurs de points if FonctionsPerso.FrameOuverte("Config_jours_feries_" + self.typeJour) != None: self.GetParent().MAJ_ListCtrl() # Fermeture self.EndModal(wx.ID_OK)
def OnBoutonOk(self, event): """ Validation des données saisies """ varPassword1 = self.text_password1.GetValue() if varPassword1 == "": dlg = wx.MessageDialog( self, _(u"Vous devez saisir un mot de passe valide !"), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_password1.SetFocus() return varPassword2 = self.text_password2.GetValue() if varPassword2 == "": dlg = wx.MessageDialog( self, _(u"Vous devez confirmer le mot de passe !"), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_password2.SetFocus() return if varPassword1 != varPassword2: dlg = wx.MessageDialog( self, _(u"Vous avez saisi deux mots de passe différents ! \n\nVeuillez recommencer votre saisie." ), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_password1.SetFocus() return # Sauvegarde self.Sauvegarde() # MAJ du panel Password if FonctionsPerso.FrameOuverte("panel_config_password") != None: self.GetParent().MAJpanel() # Fermeture self.EndModal(wx.ID_OK)
def OnBoutonOk(self, event): """ Validation des données saisies """ # Vérifie que une valeur a été saisie valeur = self.text_nom.GetValue() if valeur == "": dlg = wx.MessageDialog( self, _(u"Vous devez saisir au moins un nom de pays !"), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_nom.SetFocus() return # Sauvegarde self.Sauvegarde() # MAJ du listCtrl des valeurs de points if FonctionsPerso.FrameOuverte("panel_config_pays") != None: self.GetParent().MAJ_ListCtrl() # Fermeture self.EndModal(wx.ID_OK)
def OnBoutonOk(self, event): """ Validation des données saisies """ # Récupération des valeurs des controles nom = self.text_nom.GetValue() defaut = self.text_defaut.GetValue() motCle = self.text_motCle.GetValue() # Vérifie que les valeurs ont été saisies if nom == "" : dlg = wx.MessageDialog(self, _(u"Vous devez saisir un nom pour le champ."), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_nom.SetFocus() return if motCle == "" : txt = _(u"Vous devez saisir un mot-clé.\n\nCe mot-clé sera nécessaire lors de l'impression des documents lors de la procédure de publipostage.") dlg = wx.MessageDialog(self, txt, "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_motCle.SetFocus() return # Vérifie la validité du mot-clé incoherences = "" for lettre in motCle : if lettre not in "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" : incoherences += "'" + lettre + "', " if incoherences != "" : incoherences = incoherences[:-2] txt = _(u"Le mot-clé que vous avez saisi n'est pas valide. Les caractères suivants ne sont pas valides : ") + incoherences + _(u"\n\nRappel : Ce mot-clé doit être en majuscules, ne peut comporter que des lettres ou des chiffres. Les espaces, accents ou autres caractères spéciaux ne sont pas acceptés.") dlg = wx.MessageDialog(self, txt, "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() return # Vérifie que le mot-clé n'existe pas déjà dans la base DB = GestionDB.DB() req = "SELECT IDchamp, categorie, nom, mot_cle, defaut FROM publipostage_champs WHERE categorie='%s' AND mot_cle='%s' AND IDchamp<>%d" % (self.categorie, motCle, self.IDchamp) DB.ExecuterReq(req) donnees = DB.ResultatReq() DB.Close() if len(donnees) > 0 : dlg = wx.MessageDialog(self, _(u"Ce mot-clé est déjà utilisé"), "Erreur", wx.OK| wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() return # Vérifie que le mot-clé n'existe pas déjà dans les mots-clés de base for motcleTemp, type in self.listeMotsCles : if motcleTemp == motCle and type != self.IDchamp : dlg = wx.MessageDialog(self, _(u"Ce mot-clé est déjà utilisé dans les mots-clés de base. Veuillez saisir un autre mot-clé"), "Erreur", wx.OK| wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() return # Sauvegarde ID = self.Sauvegarde() # MAJ du grid de valeurs du publiposteur if FonctionsPerso.FrameOuverte("frm_publiposteur") != None : if self.IDchamp == 0 : self.GetParent().AjouterChampPerso(ID, motCle, defaut) else: self.GetParent().ModifierChampPerso(self.IDchamp, nouveauMotcle=motCle, ancienMotcle=self.ancienMotcle, valeurDefaut=defaut) self.GetParent().grid.Remplissage() # Fermeture self.EndModal(wx.ID_OK)
def Validation(self): # Enregistrement des données dictContrats = self.GetGrandParent().dictContrats dictChamps = self.GetGrandParent().dictChamps DB = GestionDB.DB() # Enregistrement des données du CONTRAT listeDonnees = [ ("IDpersonne", dictContrats["IDpersonne"]), ("IDclassification", dictContrats["IDclassification"]), ("IDtype", dictContrats["IDtype"]), ("valeur_point", dictContrats["valeur_point"]), ("date_debut", dictContrats["date_debut"]), ("date_fin", dictContrats["date_fin"]), ("date_rupture", dictContrats["date_rupture"]), ("essai", dictContrats["essai"]), ] if dictContrats["IDcontrat"] == 0: # Ajout listeDonnees.append(("signature", "")) listeDonnees.append(("due", "")) IDcontrat = DB.ReqInsert("contrats", listeDonnees) DB.Commit() else: # Modification DB.ReqMAJ("contrats", listeDonnees, "IDcontrat", dictContrats["IDcontrat"]) DB.Commit() IDcontrat = dictContrats["IDcontrat"] # Enregistrement des données des CHAMPS # Crée une liste des champs existants déjà pour ce contrat req = "SELECT IDval_champ, IDchamp FROM contrats_valchamps WHERE (IDcontrat=%d AND type='contrat') ;" % IDcontrat DB.ExecuterReq(req) listeChampsDB = DB.ResultatReq() nbreResultats = len(listeChampsDB) # On regarde chaque champ un par un for IDchamp, valeur in dictChamps.items(): listeDonnees = [ ("IDchamp", IDchamp), ("type", "contrat"), ("valeur", valeur), ("IDcontrat", IDcontrat), ("IDmodele", 0), ] # Recherche si le champ existe déjà dans la base modif = False for IDval_champDB, IDchampDB in listeChampsDB: if IDchampDB == IDchamp: # Le champ existe déjà, alors on le modifie : DB.ReqMAJ("contrats_valchamps", listeDonnees, "IDval_champ", IDval_champDB) DB.Commit() modif = True if modif == False: # Le champ n'existe pas dans la base, alors on le créée : ID = DB.ReqInsert("contrats_valchamps", listeDonnees) DB.Commit() # On efface les champs déjà créés qui ne sont plus utilisés : for IDval_champDB, IDchampDB in listeChampsDB: trouve = False for IDchamp, valeur in dictChamps.items(): if IDchampDB == IDchamp: trouve = True if trouve == False: # On l'efface : DB.ReqDEL("contrats_valchamps", "IDval_champ", IDval_champDB) # Fermeture de la DB DB.Close() # Recherche si un parent est à mettre à jour if FonctionsPerso.FrameOuverte("FicheIndividuelle") != None: self.GetGrandParent().GetParent().list_ctrl_contrats.Remplissage() self.GetGrandParent().GetParent().MAJ_barre_problemes() return True
def OnBoutonOk(self, event): """ Validation des données saisies """ # Vérifie que des valeurs ont été saisies valeur = self.GetChoiceValue(self.choice_nom) if valeur == None: dlg = wx.MessageDialog( self, _(u"Vous devez sélectionner un nom de période dans la liste proposée !" ), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.choice_nom.SetFocus() return valeur = self.text_annee.GetValue() if valeur == "": dlg = wx.MessageDialog(self, _(u"Vous devez saisir une année valide."), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_annee.SetFocus() return # Vérifie que la valeur est bien constituée de chiffres uniquement incoherences = "" for lettre in valeur: if lettre not in "0123456789.": incoherences += "'" + lettre + "', " if len(incoherences) != 0: dlg = wx.MessageDialog( self, _(u"L'année que vous avez saisie n'est pas correcte."), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_annee.SetFocus() return valeur = int(valeur) if valeur < 1000 or valeur > 3000: dlg = wx.MessageDialog( self, _(u"L'année que vous avez saisie n'est pas correcte."), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_annee.SetFocus() return date_debut = self.datepicker_dateDebut.GetValue( ) # self.GetDatePickerValue(self.datepicker_date_debut) date_fin = self.datepicker_dateFin.GetValue( ) # self.GetDatePickerValue(self.datepicker_date_fin) # Vérifie que la date de fin est supérieure à la date de début de contrat if date_debut > date_fin: dlg = wx.MessageDialog( self, _(u"La date de fin de vacances doit être supérieure à la date de début !" ), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.datepicker_dateFin.SetFocus() return # Sauvegarde self.Sauvegarde() # MAJ du listCtrl des valeurs de points if FonctionsPerso.FrameOuverte("panel_config_periodes_vacs") != None: self.GetParent().MAJ_ListCtrl() # Fermeture self.EndModal(wx.ID_OK)
def OnBoutonOk(self, event): """ Validation des données saisies """ # Récupération des valeurs des controles nom = self.text_nom.GetValue() description = self.text_description.GetValue() defaut = self.text_defaut.GetValue() motCle = self.text_motCle.GetValue() exemple = self.text_exemple.GetValue() # Vérifie que les valeurs ont été saisies if nom == "": dlg = wx.MessageDialog( self, _(u"Vous devez saisir un nom pour le champ."), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_nom.SetFocus() return if description == "": txt = _( u"Vous n'avez pas saisi de description. Ce n'est pas obligatoire mais fortement conseillé pour faciliter ensuite la saisie du champ.\n\nVoulez-vous saisir une description ?" ) dlgConfirm = wx.MessageDialog( self, txt, _(u"Confirmation"), wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION) reponse = dlgConfirm.ShowModal() dlgConfirm.Destroy() if reponse == wx.ID_YES: self.text_description.SetFocus() return if exemple == "": txt = _( u"Vous n'avez pas saisi de valeurs d'exemple. Ce n'est pas obligatoire mais fortement conseillé pour faciliter ensuite la saisie du champ.\n\nVoulez-vous saisir une ou plusieurs valeurs d'exemple ?" ) dlgConfirm = wx.MessageDialog( self, txt, _(u"Confirmation"), wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION) reponse = dlgConfirm.ShowModal() dlgConfirm.Destroy() if reponse == wx.ID_YES: self.text_description.SetFocus() return if motCle == "": txt = _( u"Vous devez saisir un mot-clé.\n\nCe mot-clé sera nécessaire lors de l'impression des contrats lors de la procédure de publipostage sous Word." ) dlg = wx.MessageDialog(self, txt, "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_motCle.SetFocus() return # Vérifie la validité du mot-clé incoherences = "" for lettre in motCle: if lettre not in "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789": incoherences += "'" + lettre + "', " if incoherences != "": incoherences = incoherences[:-2] txt = _( u"Le mot-clé que vous avez saisi n'est pas valide. Les caractères suivants ne sont pas valides : " ) + incoherences + _( u"\n\nRappel : Ce mot-clé doit être en majuscules, ne peut comporter que des lettres ou des chiffres. Les espaces, accents ou autres caractères spéciaux ne sont pas acceptés." ) dlg = wx.MessageDialog(self, txt, "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() return # Sauvegarde self.Sauvegarde() # MAJ du listCtrl des valeurs de points if FonctionsPerso.FrameOuverte("panel_config_champsContrats") != None: self.GetParent().MAJ_ListCtrl() # Fermeture self.EndModal(wx.ID_OK)
def Validation(self): # Vérifie qu'un nom a été saisi if self.text_nom.GetValue() == "": dlg = wx.MessageDialog( self, _(u"Vous devez obligatoirement saisir un nom pour ce modèle !" ), "Erreur", wx.OK) dlg.ShowModal() dlg.Destroy() self.text_nom.SetFocus() return False # Enregistrement des données dictModeles = self.GetGrandParent().dictModeles dictChamps = self.GetGrandParent().dictChamps DB = GestionDB.DB() # Enregistrement des données du MODELE listeDonnees = [ ("IDclassification", dictModeles["IDclassification"]), ("IDtype", dictModeles["IDtype"]), ("nom", self.text_nom.GetValue()), ("description", self.text_description.GetValue()), ] if dictModeles["IDmodele"] == 0: # Ajout IDmodele = DB.ReqInsert("contrats_modeles", listeDonnees) DB.Commit() else: # Modification DB.ReqMAJ("contrats_modeles", listeDonnees, "IDmodele", dictModeles["IDmodele"]) DB.Commit() IDmodele = dictModeles["IDmodele"] # Enregistrement des données des CHAMPS # Crée une liste des champs existants déjà pour ce contrat req = "SELECT IDval_champ, IDchamp FROM contrats_valchamps WHERE (IDmodele=%d AND type='modele') ;" % IDmodele DB.ExecuterReq(req) listeChampsDB = DB.ResultatReq() nbreResultats = len(listeChampsDB) # On regarde chaque champ un par un for IDchamp, valeur in dictChamps.items(): listeDonnees = [ ("IDchamp", IDchamp), ("type", "modele"), ("valeur", valeur), ("IDmodele", IDmodele), ("IDcontrat", 0), ] # Recherche si le champ existe déjà dans la base modif = False for IDval_champDB, IDchampDB in listeChampsDB: if IDchampDB == IDchamp: # Le champ existe déjà, alors on le modifie : DB.ReqMAJ("contrats_valchamps", listeDonnees, "IDval_champ", IDval_champDB) DB.Commit() modif = True if modif == False: # Le champ n'existe pas dans la base, alors on le créée : ID = DB.ReqInsert("contrats_valchamps", listeDonnees) DB.Commit() # On efface les champs déjà créés qui ne sont plus utilisés : for IDval_champDB, IDchampDB in listeChampsDB: trouve = False for IDchamp, valeur in dictChamps.items(): if IDchampDB == IDchamp: trouve = True if trouve == False: # On l'efface : DB.ReqDEL("contrats_valchamps", "IDval_champ", IDval_champDB) # Fermeture de la DB DB.Close() # Recherche si un parent est à mettre à jour if FonctionsPerso.FrameOuverte( "panel_config_Modeles_Contrats") != None: self.GetGrandParent().GetParent().MAJ_ListCtrl() return True
def Onbouton_annuler(self, event): # Si frame Creation_contrats ouverte, on met à jour le listCtrl Valeurs de points if FonctionsPerso.FrameOuverte("panel_param_mail") != None: self.GetParent().MAJ_ctrl_expediteur() # Fermeture self.EndModal(wx.ID_CANCEL)