示例#1
0
    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()
示例#2
0
    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()