Exemple #1
0
    def __init__(self, parent, mode="saisie", IDindividu=None, IDinscription=None, IDfamille=None, cp=None, ville=None, intro=None):
        wx.Dialog.__init__(self, parent, -1, style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER|wx.MAXIMIZE_BOX|wx.MINIMIZE_BOX|wx.THICK_FRAME)
        self.parent = parent
        self.IDindividu = IDindividu
        self.IDinscription = IDinscription
        self.IDfamille = IDfamille
        self.cp = cp
        self.ville = ville
        self.dictActivite = None
        self.IDgroupe = None
        self.mode = mode

        if intro == None :
            intro = _(u"Pour inscrire un individu à une activité, vous devez sélectionner une activité, un groupe et une catégorie de tarifs.")
        if self.mode == "saisie" :
            titre = _(u"Saisie d'une inscription")
        else :
            titre = _(u"Modification d'une inscription")
        self.ctrl_bandeau = CTRL_Bandeau.Bandeau(self, titre=titre, texte=intro, hauteurHtml=30, nomImage="Images/32x32/Activite.png")
        
        self.ctrl_famille = Choix_famille(self, IDindividu=self.IDindividu, verrouillage=self.mode!="saisie")
        
        self.staticbox_activite_staticbox = wx.StaticBox(self, -1, _(u"Activité"))
        self.ctrl_activite = CTRL_Activite(self)
        self.bouton_activites = CTRL_Bouton_image.CTRL(self, texte=_(u"Rechercher"), cheminImage="Images/32x32/Loupe.png")
        self.ctrl_activite.SetMinSize((-1, self.bouton_activites.GetSize()[1]))

        self.staticbox_groupe_staticbox = wx.StaticBox(self, -1, _(u"Groupe"))
        self.ctrl_groupes = ListBox(self, type="groupes")
        self.ctrl_groupes.SetMinSize((-1, 80))
        
        self.staticbox_categorie_staticbox = wx.StaticBox(self, -1, _(u"Catégorie de tarif"))
        self.ctrl_categories = ListBox(self, type="categories")
        self.ctrl_categories.SetMinSize((-1, 80))
        
        self.ctrl_parti = wx.CheckBox(self, -1, _(u"Est parti"))
        
        self.bouton_aide = CTRL_Bouton_image.CTRL(self, texte=_(u"Aide"), cheminImage="Images/32x32/Aide.png")
        self.bouton_ok = CTRL_Bouton_image.CTRL(self, texte=_(u"Ok"), cheminImage="Images/32x32/Valider.png")
        self.bouton_annuler = CTRL_Bouton_image.CTRL(self, id=wx.ID_CANCEL, texte=_(u"Annuler"), cheminImage="Images/32x32/Annuler.png")

        self.__set_properties()
        self.__do_layout()

        self.Bind(wx.EVT_BUTTON, self.OnBoutonActivites, self.bouton_activites)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAide, self.bouton_aide)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOk, self.bouton_ok)

        # Init contrôles
        self.ctrl_famille.SetID(self.IDfamille)
        if self.mode != "saisie" :
            self.bouton_activites.Show(False)
            self.Importation()

        if self.mode == "saisie" :
            if cp == None :
                # Recherche cp et ville
                dict_coords = UTILS_Titulaires.GetCoordsIndividu(self.IDindividu)
                if dict_coords != None :
                    self.cp = dict_coords["cp_resid"]
                    self.ville = dict_coords["ville_resid"]
Exemple #2
0
    def __init__(self, parent, IDinscription=None):
        wx.Panel.__init__(self, parent, id=-1, style=wx.TAB_TRAVERSAL)
        self.parent = parent
        self.IDinscription = IDinscription

        self.dictActivite = None
        self.IDgroupe = None
        self.date_inscription = datetime.date.today()
        self.dict_remboursement = None
        self.action_consommation = None
        self.ancien_statut = None

        # Activité
        self.staticbox_activite_staticbox = wx.StaticBox(
            self, -1, _(u"Activité"))
        self.ctrl_activite = CTRL_Activite(self)
        self.bouton_activites = CTRL_Bouton_image.CTRL(
            self, texte=_(u"Rechercher"), cheminImage="Images/32x32/Loupe.png")
        self.ctrl_activite.SetMinSize((-1, self.bouton_activites.GetSize()[1]))

        # Groupe
        self.staticbox_groupe_staticbox = wx.StaticBox(self, -1, _(u"Groupe"))
        self.ctrl_groupes = ListBox(self, type="groupes")
        self.ctrl_groupes.SetMinSize((-1, 50))

        # Catégorie
        self.staticbox_categorie_staticbox = wx.StaticBox(
            self, -1, _(u"Catégorie de tarif"))
        self.ctrl_categories = ListBox(self, type="categories")
        self.ctrl_categories.SetMinSize((-1, 50))

        # Départ
        self.staticbox_depart_staticbox = wx.StaticBox(
            self, -1, _(u"Départ de l'activité"))
        self.ctrl_check_depart = wx.CheckBox(
            self, -1,
            _(u"L'individu ne fréquente plus l'activité depuis le"))
        self.ctrl_date_depart = CTRL_Saisie_date.Date2(self)
        self.ctrl_date_depart.SetDate(datetime.date.today())
        self.bouton_remboursement = wx.Button(self, -1, _(u"Remboursement"))

        # Properties
        self.ctrl_activite.SetToolTip(
            wx.ToolTip(_(u"Activité sélectionnée")))
        self.bouton_activites.SetToolTip(
            wx.ToolTip(_(u"Cliquez ici pour sélectionner une activité")))
        self.ctrl_groupes.SetToolTip(wx.ToolTip(_(u"Sélectionnez un groupe")))
        self.ctrl_check_depart.SetToolTip(
            wx.ToolTip(
                _(u"Cochez cette case si l'individu ne fréquente plus cette activité"
                  )))
        self.ctrl_date_depart.SetToolTip(
            wx.ToolTip(
                _(u"Saisissez la date de départ de l'activité (le dernier jour)"
                  )))
        self.bouton_remboursement.SetToolTip(
            wx.ToolTip(
                _(u"Cliquez ici pour générer un remboursement lié au départ de l'activité"
                  )))
        self.ctrl_categories.SetToolTip(
            wx.ToolTip(_(u"Sélectionnez une catégorie de tarif")))

        # Bind
        self.Bind(wx.EVT_BUTTON, self.OnBoutonActivites, self.bouton_activites)
        self.Bind(wx.EVT_CHECKBOX, self.OnCheckDepart, self.ctrl_check_depart)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonRemboursement,
                  self.bouton_remboursement)

        # Layout
        sizer_base = wx.BoxSizer(wx.VERTICAL)

        grid_sizer_base = wx.FlexGridSizer(rows=4, cols=1, vgap=5, hgap=5)

        # Activités
        staticbox_activite = wx.StaticBoxSizer(
            self.staticbox_activite_staticbox, wx.VERTICAL)
        grid_sizer_activite = wx.FlexGridSizer(rows=1,
                                               cols=2,
                                               vgap=10,
                                               hgap=10)
        grid_sizer_activite.Add(self.ctrl_activite, 1, wx.EXPAND, 0)
        grid_sizer_activite.Add(self.bouton_activites, 1, wx.EXPAND, 0)
        grid_sizer_activite.AddGrowableCol(0)
        staticbox_activite.Add(grid_sizer_activite, 1, wx.ALL | wx.EXPAND, 5)
        grid_sizer_base.Add(staticbox_activite, 1,
                            wx.LEFT | wx.RIGHT | wx.EXPAND, 0)
        self.grid_sizer_activite = grid_sizer_activite

        # Groupes
        staticbox_groupe = wx.StaticBoxSizer(self.staticbox_groupe_staticbox,
                                             wx.VERTICAL)
        staticbox_groupe.Add(self.ctrl_groupes, 1, wx.ALL | wx.EXPAND, 5)
        grid_sizer_base.Add(staticbox_groupe, 1,
                            wx.LEFT | wx.RIGHT | wx.EXPAND, 0)

        # Catégories de tarifs
        staticbox_categorie = wx.StaticBoxSizer(
            self.staticbox_categorie_staticbox, wx.VERTICAL)
        staticbox_categorie.Add(self.ctrl_categories, 1, wx.ALL | wx.EXPAND, 5)
        grid_sizer_base.Add(staticbox_categorie, 1,
                            wx.LEFT | wx.RIGHT | wx.EXPAND, 0)

        # Départ
        staticbox_depart = wx.StaticBoxSizer(self.staticbox_depart_staticbox,
                                             wx.VERTICAL)
        grid_sizer_depart = wx.FlexGridSizer(rows=1, cols=4, vgap=5, hgap=5)
        grid_sizer_depart.Add(self.ctrl_check_depart, 0,
                              wx.ALIGN_CENTER_VERTICAL, 0)
        grid_sizer_depart.Add(self.ctrl_date_depart, 0,
                              wx.ALIGN_CENTER_VERTICAL, 0)
        grid_sizer_depart.Add(self.bouton_remboursement, 0,
                              wx.ALIGN_CENTER_VERTICAL, 0)
        staticbox_depart.Add(grid_sizer_depart, 1, wx.ALL | wx.EXPAND, 5)
        grid_sizer_base.Add(staticbox_depart, 1,
                            wx.LEFT | wx.RIGHT | wx.EXPAND, 0)

        grid_sizer_base.AddGrowableRow(1)
        grid_sizer_base.AddGrowableRow(2)
        grid_sizer_base.AddGrowableCol(0)

        sizer_base.Add(grid_sizer_base, 1, wx.EXPAND | wx.ALL, 10)
        self.SetSizer(sizer_base)
        self.Layout()

        # Init
        if self.parent.mode != "saisie":
            self.bouton_activites.Show(False)
            self.Importation()

        if self.parent.mode == "saisie":
            if self.parent.cp == None:
                # Recherche cp et ville
                dict_coords = UTILS_Titulaires.GetCoordsIndividu(
                    self.parent.IDindividu)
                if dict_coords != None:
                    self.cp = dict_coords["cp_resid"]
                    self.ville = dict_coords["ville_resid"]

        self.OnCheckDepart()