def OnBoutonApercu(self, event): """ Aperçu PDF des inscriptions """ # Validation des données saisies tracks = self.ctrl_liste_inscriptions.GetTracksCoches() if len(tracks) == 0: dlg = wx.MessageDialog( self, _(u"Vous n'avez sélectionné aucune inscription à imprimer !" ), _(u"Erreur"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() return listeIDinscription = [] for track in tracks: listeIDinscription.append(track.IDinscription) # Récupération des options dictOptions = self.ctrl_options.GetOptions() if dictOptions == False: return False # Impression des inscriptions sélectionnées x = UTILS_Inscriptions.Inscription() x.Impression(listeInscriptions=listeIDinscription, afficherDoc=True, dictOptions=dictOptions, repertoire=dictOptions["repertoire"])
def CreationPDF(self, nomDoc="", afficherDoc=True): """ Création du PDF pour Email """ IDinscription = self.Selection()[0].IDinscription from Utils import UTILS_Inscriptions inscription = UTILS_Inscriptions.Inscription() resultat = inscription.Impression(listeInscriptions=[IDinscription,], nomDoc=nomDoc, afficherDoc=False) if resultat == False : return False dictChampsFusion, dictPieces = resultat return dictChampsFusion[IDinscription]
def ImprimerPDF(self, event): if len(self.Selection()) == 0 : dlg = wx.MessageDialog(self, _(u"Vous n'avez sélectionné aucune inscription à imprimer !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() return IDinscription = self.Selection()[0].IDinscription from Utils import UTILS_Inscriptions inscription = UTILS_Inscriptions.Inscription() inscription.Impression(listeInscriptions=[IDinscription,])
def OnBoutonOk(self, event): """ Aperçu PDF des inscriptions """ # Validation des données saisies tracks = self.ctrl_liste_inscriptions.GetTracksCoches() if len(tracks) == 0 : dlg = wx.MessageDialog(self, _(u"Vous n'avez sélectionné aucune inscription à envoyer par Email !"), _(u"Erreur"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() return # Création des inscriptions sélectionnées listeIDinscription = [] for track in tracks : listeIDinscription.append(track.IDinscription) inscription = UTILS_Inscriptions.Inscription() dictOptions = self.ctrl_options.GetOptions() if dictOptions == False : return resultat = inscription.Impression(listeInscriptions=listeIDinscription, nomDoc=None, afficherDoc=False, dictOptions=dictOptions, repertoire=dictOptions["repertoire"], repertoireTemp=True) if resultat == False : return dictChampsFusion, dictPieces = resultat def SupprimerFichiersTemp(): for IDinscription, fichier in dictPieces.items(): if os.path.isfile(fichier): os.remove(fichier) # Récupération des adresses Emails dict_adresses = UTILS_Envoi_email.GetAdressesFamilles([track.IDfamille for track in tracks]) if dict_adresses == False: return False liste_donnees = [] for track in tracks: if track.IDinscription in dictPieces: for adresse in dict_adresses.get(track.IDfamille, []): fichier = dictPieces[track.IDinscription] champs = dictChampsFusion[track.IDinscription] liste_donnees.append({"adresse" : adresse, "pieces" : [fichier,], "champs" : champs}) # Transfert des données vers DLG Mailer from Dlg import DLG_Mailer dlg = DLG_Mailer.Dialog(self, categorie="inscription") dlg.SetDonnees(liste_donnees, modificationAutorisee=False) dlg.ChargerModeleDefaut() dlg.ShowModal() dlg.Destroy() # Suppression des PDF temporaires SupprimerFichiersTemp()
def OnBoutonOk(self, event): """ Aperçu PDF des inscriptions """ # Validation des données saisies tracks = self.ctrl_liste_inscriptions.GetTracksCoches() if len(tracks) == 0: dlg = wx.MessageDialog( self, _(u"Vous n'avez sélectionné aucune inscription à envoyer par Email !" ), _(u"Erreur"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() return # Création des inscriptions sélectionnées listeIDinscription = [] for track in tracks: listeIDinscription.append(track.IDinscription) inscription = UTILS_Inscriptions.Inscription() dictOptions = self.ctrl_options.GetOptions() if dictOptions == False: return resultat = inscription.Impression(listeInscriptions=listeIDinscription, nomDoc=None, afficherDoc=False, dictOptions=dictOptions, repertoire=dictOptions["repertoire"], repertoireTemp=True) if resultat == False: return dictChampsFusion, dictPieces = resultat def SupprimerFichiersTemp(): for IDinscription, fichier in dictPieces.iteritems(): os.remove(fichier) # Récupération de toutes les adresses Emails DB = GestionDB.DB() req = """SELECT IDindividu, mail, travail_mail FROM individus;""" DB.ExecuterReq(req) listeAdressesIndividus = DB.ResultatReq() DB.Close() dictAdressesIndividus = {} for IDindividu, mail, travail_mail in listeAdressesIndividus: dictAdressesIndividus[IDindividu] = { "perso": mail, "travail": travail_mail } # Récupération des données adresse + champs + pièces listeDonnees = [] listeAnomalies = [] listeEnvoiNonDemande = [] for track in tracks: adresse = UTILS_Envoi_email.GetAdresseFamille( track.IDfamille, choixMultiple=False, muet=True, nomTitulaires=track.nomTitulaires) # Mémorisation des données if adresse not in (None, "", []): if dictPieces.has_key(track.IDinscription): fichier = dictPieces[track.IDinscription] champs = dictChampsFusion[track.IDinscription] listeDonnees.append({ "adresse": adresse, "pieces": [ fichier, ], "champs": champs }) else: listeAnomalies.append(track.nomTitulaires) # Annonce les anomalies trouvées if len(listeAnomalies) > 0: texte = _( u"%d des familles sélectionnées n'ont pas d'adresse Email.\n\n" ) % len(listeAnomalies) texte += _( u"Souhaitez-vous quand même continuer avec les %d autres familles ?" ) % len(listeDonnees) dlg = wx.MessageDialog( self, texte, _(u"Avertissement"), wx.YES_NO | wx.NO_DEFAULT | wx.CANCEL | wx.ICON_EXCLAMATION) reponse = dlg.ShowModal() dlg.Destroy() if reponse != wx.ID_YES: SupprimerFichiersTemp() return # Dernière vérification avant transfert if len(listeDonnees) == 0: dlg = wx.MessageDialog( self, _(u"Il ne reste finalement aucune inscription à envoyer par Email !" ), _(u"Erreur"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() SupprimerFichiersTemp() return # Transfert des données vers DLG Mailer import DLG_Mailer dlg = DLG_Mailer.Dialog(self, categorie="inscription") dlg.SetDonnees(listeDonnees, modificationAutorisee=False) dlg.ChargerModeleDefaut() dlg.ShowModal() dlg.Destroy() # Suppression des PDF temporaires SupprimerFichiersTemp()