def On_outils_saisie_forfait(self, event): if UTILS_Utilisateurs.VerificationDroitsUtilisateurActuel( "consommations_conso", "creer") == False: return listeActivites = self.panel_grille.listeSelectionActivites listeIndividus = self.panel_grille.listeSelectionIndividus if len(self.panel_grille.grille.listeHistorique) > 0: dlg = wx.MessageDialog( self, _(u"Des modifications ont été effectuées dans la grille.\n\nVous devez d'abord les sauvegarder avant de saisir un forfait !" ), _(u"Sauvegarde des modifications"), wx.YES_NO | wx.YES_DEFAULT | wx.ICON_EXCLAMATION) reponse = dlg.ShowModal() dlg.Destroy() if reponse != wx.ID_YES: return # Sauvegarde des données self.panel_grille.grille.Sauvegarde() self.panel_grille.grille.InitDonnees() self.panel_grille.MAJ_grille() from Dlg import DLG_Appliquer_forfait dlg = DLG_Appliquer_forfait.Dialog(self, IDfamille=self.IDfamille, listeActivites=listeActivites, listeIndividus=listeIndividus) dlg.ShowModal() dlg.Destroy() self.panel_grille.MAJ_grille()
def OnBoutonForfait(self, event): """ Saisir un forfait daté """ if UTILS_Utilisateurs.VerificationDroitsUtilisateurActuel( "consommations_conso", "creer") == False: return # Recherche si l'individu est rattaché à d'autres familles listeNoms = [] listeFamille = [] # Vérifie que l'individu est rattaché comme REPRESENTANT ou ENFANT à une famille if self.dictFamillesRattachees != None: valide = False for IDfamille, dictFamille in self.dictFamillesRattachees.items(): if dictFamille["IDcategorie"] in (1, 2): valide = True if valide == False: dlg = wx.MessageDialog( self, _(u"Pour être inscrit à une activité, un individu doit obligatoirement être rattaché comme représentant ou enfant à une fiche famille !" ), _(u"Inscription impossible"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() return if len(self.dictFamillesRattachees) == 1: IDfamille = list(self.dictFamillesRattachees.keys())[0] listeFamille.append(IDfamille) listeNoms.append( self.dictFamillesRattachees[IDfamille]["nomsTitulaires"]) else: # Si rattachée à plusieurs familles for IDfamille, dictFamille in self.dictFamillesRattachees.items(): IDcategorie = dictFamille["IDcategorie"] if IDcategorie in (1, 2): listeFamille.append(IDfamille) listeNoms.append(dictFamille["nomsTitulaires"]) if len(listeFamille) == 1: IDfamille = listeFamille[0] else: # On demande à quelle famille rattacher cette inscription dlg = wx.SingleChoiceDialog( self, _(u"Cet individu est rattaché à %d familles.\nA quelle famille souhaitez-vous rattacher cette inscription ?" ) % len(listeNoms), _(u"Rattachements multiples"), listeNoms, wx.CHOICEDLG_STYLE) if dlg.ShowModal() == wx.ID_OK: indexSelection = dlg.GetSelection() IDfamille = listeFamille[indexSelection] dlg.Destroy() else: dlg.Destroy() return # Récupère la liste des activités sur lesquelle l'individu est inscrit listeActivites = self.ctrl_inscriptions.GetListeActivites() # Affiche la fenêtre de saisie d'un forfait daté from Dlg import DLG_Appliquer_forfait dlg = DLG_Appliquer_forfait.Dialog(self, IDfamille=IDfamille, listeActivites=listeActivites, listeIndividus=[ self.IDindividu, ]) if dlg.ShowModal() == wx.ID_OK: pass dlg.Destroy()