def ConversionLocalReseau(parent, nomFichier=""): # Demande le nom du nouveau fichier réseau from Dlg import DLG_Nouveau_fichier dlg = DLG_Nouveau_fichier.MyDialog(parent) dlg.SetTitle(_(u"Conversion d'un fichier local en fichier réseau")) dlg.radio_reseau.SetValue(True) dlg.OnRadioReseau(None) dlg.radio_local.Enable(False) dlg.radio_reseau.Enable(False) dlg.radio_internet.Enable(False) dlg.checkbox_details.Show(False) dlg.hyperlink_details.Show(False) dlg.DesactiveIdentite() dlg.CentreOnScreen() if dlg.ShowModal() == wx.ID_OK: nouveauFichier = dlg.GetNomFichier() dlg.Destroy() else: dlg.Destroy() return False # Vérifie la validité du nouveau nom dictResultats = GestionDB.TestConnexionMySQL(typeTest="fichier", nomFichier="%s_DATA" % nouveauFichier) # Vérifie la connexion au réseau if dictResultats["connexion"][0] == False : erreur = dictResultats["connexion"][1] dlg = wx.MessageDialog(parent, _(u"La connexion au réseau MySQL est impossible. \n\nErreur : %s") % erreur, _(u"Erreur de connexion"), wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() return False # Vérifie que le fichier n'est pas déjà utilisé if dictResultats["fichier"][0] == True : dlg = wx.MessageDialog(parent, _(u"Le fichier existe déjà."), _(u"Erreur de création de fichier"), wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() return False # Récupère le nom du fichier local actuellement ouvert nouveauNom = nouveauFichier[nouveauFichier.index("[RESEAU]"):].replace("[RESEAU]", "") # Demande une confirmation pour la conversion message = _(u"Confirmez-vous la conversion du fichier local '%s' en fichier réseau portant le nom '%s' ? \n\nCette opération va durer quelques instants...\n\n(Notez que le fichier original sera toujours conservé)") % (nomFichier, nouveauNom) dlg = wx.MessageDialog(parent, message, _(u"Confirmation de la conversion"), wx.YES_NO | wx.CANCEL | wx.ICON_QUESTION) if dlg.ShowModal() == wx.ID_YES : dlg.Destroy() else: dlg.Destroy() return False # Lance la conversion parent.SetStatusText(_(u"Conversion du fichier en cours... Veuillez patienter...")) conversion = GestionDB.ConversionLocalReseau(nomFichier, nouveauFichier, parent) parent.SetStatusText(_(u"La conversion s'est terminée avec succès.")) dlg = wx.MessageDialog(None, _(u"La conversion s'est terminée avec succès. Le nouveau fichier a été créé."), "Information", wx.OK | wx.ICON_INFORMATION) dlg.ShowModal() dlg.Destroy() return True
def OnBoutonOk(self, event): """ Validation des données saisies """ # Validation du nom saisi nomFichier = self.text_nomFichier.GetValue() if nomFichier == "": dlg = wx.MessageDialog( self, _(u"Vous devez saisir un nom de fichier valide."), _(u"Erreur de saisie"), wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() self.text_nomFichier.SetFocus() return if (self.radio_reseau.GetValue() == True or self.radio_internet.GetValue() == True) and " " in nomFichier: dlg = wx.MessageDialog( self, _(u"Il est interdit d'utiliser des espaces dans les noms des fichiers réseau !" ), _(u"Erreur de saisie"), wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() self.text_nomFichier.SetFocus() return for caract in nomFichier: if caract in u"éèëäâïîùûüàôç'&%*,;!:?./§@¤": dlg = wx.MessageDialog( self, _(u"Il est interdit d'utiliser des accents ou autres caractères spéciaux dans le nom de fichier !" ), _(u"Erreur de saisie"), wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() self.text_nomFichier.SetFocus() return # Traitement du checkbox if self.checkbox_details.GetValue() == False: # Demande de confirmation pour le refus d'importer les données par défaut dlg = wx.MessageDialog( self, _(u"Etes-vous sûr de ne pas vouloir importer les données par défaut ?" ), _(u"Importation des données"), wx.YES_NO | wx.CANCEL | wx.ICON_QUESTION) if dlg.ShowModal() == wx.ID_YES: dlg.Destroy() else: dlg.Destroy() return # Désactivation des données importées par défaut index = 0 for categorie in self.listeTablesImportation: self.listeTablesImportation[index][2] = False index += 1 # Identité administrateur if self.ctrl_nom.IsEnabled(): if len(self.ctrl_nom.GetValue()) == 0: dlg = wx.MessageDialog( self, _(u"Vous devez obligatoirement saisir un nom d'administrateur !" ), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() self.ctrl_nom.SetFocus() return if len(self.ctrl_mdp.GetValue()) == 0: dlg = wx.MessageDialog( self, _(u"Vous devez obligatoirement saisir un mot de passe pour l'administrateur !" ), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() self.ctrl_mdp.SetFocus() return if len(self.ctrl_confirmation.GetValue()) == 0: dlg = wx.MessageDialog( self, _(u"Vous devez obligatoirement saisir la confirmation du mot de passe pour l'administrateur !" ), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() self.ctrl_confirmation.SetFocus() return if self.ctrl_mdp.GetValue() != self.ctrl_confirmation.GetValue(): dlg = wx.MessageDialog( self, _(u"La confirmation du mot de passe ne correspond pas au mot de passe saisi !" ), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() self.ctrl_confirmation.SetFocus() return # Version RESEAU if self.radio_reseau.GetValue( ) == True or self.radio_internet.GetValue() == True: port = self.panelReseau.ctrl_port.GetValue() hote = self.panelReseau.ctrl_hote.GetValue() user = self.panelReseau.ctrl_user.GetValue() mdp = self.panelReseau.ctrl_mdp.GetValue() try: port = int(port) except Exception, err: dlg = wx.MessageDialog( self, _(u"Le numéro de port n'est pas valide. \n\nErreur : %s") % err, _(u"Erreur de saisie"), wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() self.panelReseau.ctrl_port.SetFocus() return if hote == "": dlg = wx.MessageDialog( self, _(u"Vous devez saisir un nom pour le serveur hôte."), _(u"Erreur de saisie"), wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() self.panelReseau.ctrl_hote.SetFocus() return if user == "": dlg = wx.MessageDialog( self, _(u"Vous devez saisir un nom d'utilisateur."), _(u"Erreur de saisie"), wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() self.panelReseau.ctrl_user.SetFocus() return if mdp == "": dlg = wx.MessageDialog( self, _(u"Vous devez saisir un mot de passe."), _(u"Erreur de saisie"), wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() self.panelReseau.ctrl_mdp.SetFocus() return # Teste la connexion Réseau dictResultats = GestionDB.TestConnexionMySQL( typeTest="connexion", nomFichier=self.GetNomFichier()) if dictResultats["connexion"][0] == False: erreur = dictResultats["connexion"][1] dlg = wx.MessageDialog( self, _(u"La connexion au réseau MySQL est impossible. \n\nErreur : %s" ) % erreur, "Erreur de connexion", wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() return False
def OnBoutonOk(self, event): """ Validation des données saisies """ # Validation du nom saisi if self.text_nom.GetValue() == "": dlg = wx.MessageDialog( self, _(u"Vous devez saisir un nom de fichier valide."), _(u"Erreur de saisie"), wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() self.text_nom.SetFocus() return # Traitement du checkbox if self.checkbox_details.GetValue() == False: # Demande de confirmation pour le refus d'importer les données par défaut dlg = wx.MessageDialog( self, _(u"Etes-vous sûr de ne pas vouloir importer les données par défaut ?" ), _(u"Importation des données"), wx.YES_NO | wx.CANCEL | wx.ICON_QUESTION) if dlg.ShowModal() == wx.ID_YES: dlg.Destroy() else: dlg.Destroy() return # Désactivation des données importées par défaut index = 0 for categorie in self.listeTablesImportation: self.listeTablesImportation[index][2] = False index += 1 # Version RESEAU if self.radio_reseau.GetValue() == True: port = self.panelReseau.ctrl_port.GetValue() hote = self.panelReseau.ctrl_hote.GetValue() user = self.panelReseau.ctrl_user.GetValue() mdp = self.panelReseau.ctrl_mdp.GetValue() try: port = int(port) except Exception as err: dlg = wx.MessageDialog( self, _(u"Le numéro de port n'est pas valide. \n\nErreur : %s") % err, _(u"Erreur de saisie"), wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() self.panelReseau.ctrl_port.SetFocus() return if hote == "": dlg = wx.MessageDialog( self, _(u"Vous devez saisir un nom pour le serveur hôte."), _(u"Erreur de saisie"), wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() self.panelReseau.ctrl_hote.SetFocus() return if user == "": dlg = wx.MessageDialog( self, _(u"Vous devez saisir un nom d'utilisateur."), _(u"Erreur de saisie"), wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() self.panelReseau.ctrl_user.SetFocus() return if mdp == "": dlg = wx.MessageDialog( self, _(u"Vous devez saisir un mot de passe."), _(u"Erreur de saisie"), wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() self.panelReseau.ctrl_mdp.SetFocus() return # Teste la connexion Réseau dictResultats = GestionDB.TestConnexionMySQL( typeTest="connexion", nomFichier=self.GetNomFichier()) if dictResultats["connexion"][0] == False: erreur = dictResultats["connexion"][1] dlg = wx.MessageDialog( self, _(u"La connexion au réseau MySQL est impossible. \n\nErreur : %s" ) % erreur, "Erreur de connexion", wx.OK | wx.ICON_ERROR) dlg.ShowModal() dlg.Destroy() return False # Fermeture self.EndModal(wx.ID_OK)