示例#1
0
    def Ajouter(self, event):
        # 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.iteritems() :
                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\nrattaché 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 = 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.iteritems() :
                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
        
        # Recherche de la ville de l'individu pour sélection auto de la catégorie de tarif
        cp, ville = None, None
        try :
            dictAdresse = self.GetGrandParent().GetPageAvecCode("coords").GetAdresseIndividu()
            cp = dictAdresse["cp"]
            ville = dictAdresse["ville"]
        except :
            pass

        from Dlg import DLG_Inscription
        dlg = DLG_Inscription.Dialog(self, mode="saisie", IDindividu=self.IDindividu, IDfamille=IDfamille, cp=cp, ville=ville)
        if dlg.ShowModal() == wx.ID_OK:
            self.MAJ(dlg.GetIDinscription())
        dlg.Destroy()
示例#2
0
    def Modifier(self, event):
        if len(self.Selection()) == 0 :
            dlg = wx.MessageDialog(self, _(u"Vous n'avez sélectionné aucune inscription à modifier dans la liste !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            return
        track = self.Selection()[0]

        from Dlg import DLG_Inscription
        dlg = DLG_Inscription.Dialog(self, mode="modification", IDindividu=self.IDindividu, IDinscription=track.IDinscription, IDfamille=track.IDfamille)
        if dlg.ShowModal() == wx.ID_OK:
            self.MAJ(track.IDinscription)
        dlg.Destroy()
示例#3
0
    def Traitement_inscriptions(self):
        # Récupération des paramètres
        IDindividu = int(self.dict_parametres["IDindividu"])
        IDactivite = int(self.dict_parametres["IDactivite"])
        IDgroupe = int(self.dict_parametres["IDgroupe"])

        # Traitement manuel ou automatique
        if self.mode == "manuel" or self.mode == "automatique" :

            # Création du texte d'intro
            DB = GestionDB.DB()
            req = """SELECT nom, prenom, date_naiss FROM individus WHERE IDindividu=%d;""" % IDindividu
            DB.ExecuterReq(req)
            listeDonnees = DB.ResultatReq()
            DB.Close()
            if len(listeDonnees) > 0 :
                nom, prenom, date_naiss = listeDonnees[0]
                if date_naiss != None :
                    date_naiss = UTILS_Dates.DateEngEnDateDD(date_naiss)
                    today = datetime.date.today()
                    age = _(u"%d ans") % ((today.year - date_naiss.year) - int((today.month, today.day) < (date_naiss.month, date_naiss.day)))
                else :
                    age = _(u"Âge inconnu")
            intro = _(u"Confirmez l'inscription de %s (%s) à l'activité sélectionnée et sur le groupe demandé par la famille." % (prenom, age))

            from Dlg import DLG_Inscription
            dlg = DLG_Inscription.Dialog(self.parent, mode="saisie", IDindividu=IDindividu, IDfamille=self.track.IDfamille, intro=intro)
            dlg.bouton_activites.Show(False)
            dlg.ctrl_parti.Show(False)
            dlg.ctrl_famille.Enable(False)
            dlg.SetIDactivite(IDactivite)
            dlg.SetIDgroupe(IDgroupe)
            reponse = dlg.ShowModal()
            dlg.Destroy()
            if reponse == wx.ID_OK :
                self.EcritLog(_(u"Inscription de %s enregistrée.") % prenom)
                return True
            else :
                self.EcritLog(_(u"Inscription de %s annulée.") % prenom)
                return False