def GetTracks(self):
        # Récupération des champs disponibles
        champs = OL_Etat_nomin_champs.Champs(
            listeActivites=self.listeActivites,
            dateMin=self.dateMin,
            dateMax=self.dateMax)
        self.dictChamps = champs.GetDictChamps()
        self.listeChampsDispo = champs.GetChamps()

        # Récupération des champs sélectionnés du profil
        DB = GestionDB.DB()
        req = """SELECT IDselection, IDprofil, code, ordre
        FROM etat_nomin_selections
        WHERE IDprofil=%d
        ORDER BY ordre
        ;""" % self.IDprofil
        DB.ExecuterReq(req)
        listeSelectionChamps = DB.ResultatReq()
        DB.Close()

        listeListeView = []
        for IDselection, IDprofil, code, ordre in listeSelectionChamps:
            if code in self.dictChamps:
                # Champ disponible
                trackInfo = self.dictChamps[code]
                dictTemp = {
                    "IDselection": IDselection,
                    "IDprofil": IDprofil,
                    "code": code,
                    "ordre": ordre,
                    "label": trackInfo.label,
                    "type": trackInfo.type,
                    "categorie": trackInfo.categorie,
                    "formule": trackInfo.formule,
                    "titre": trackInfo.titre,
                    "largeur": trackInfo.largeur
                }
            else:
                # Champ indisponible
                dictTemp = {
                    "IDselection": IDselection,
                    "IDprofil": IDprofil,
                    "code": code,
                    "ordre": ordre,
                    "label": _(u"Non disponible"),
                    "type": None,
                    "categorie": None,
                    "titre": None,
                    "formule": None
                }
            listeListeView.append(Track(dictTemp))

        return listeListeView
Beispiel #2
0
if __name__ == u"__main__":
    app = wx.App(0)
    #wx.InitAllImageHandlers()
    import datetime
    import GestionDB
    # Paramètres de tests
    IDprofil = 3
    listeActivites = [1, 2, 3, 4]
    dateMin = datetime.date(2012, 1, 1)
    dateMax = datetime.date(2012, 12, 31)

    # Récupération de tous les champs disponibles
    from Ol import OL_Etat_nomin_champs
    champs = OL_Etat_nomin_champs.Champs(listeActivites=listeActivites,
                                         dateMin=dateMin,
                                         dateMax=dateMax)
    dictChamps = champs.GetDictChamps()
    listeChampsDispo = champs.GetChamps()

    # Récupération des champs sélectionnés du profil
    DB = GestionDB.DB()
    req = """SELECT IDselection, IDprofil, code, ordre
    FROM etat_nomin_selections
    WHERE IDprofil=%d
    ORDER BY ordre
    ;""" % IDprofil
    DB.ExecuterReq(req)
    listeSelectionChamps = DB.ResultatReq()
    DB.Close()
    listeChamps = []
Beispiel #3
0
    def __init__(self,
                 parent,
                 listeActivites=[],
                 dateMin=None,
                 dateMax=None,
                 listeSelections=[]):
        wx.Dialog.__init__(self,
                           parent,
                           -1,
                           style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER
                           | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX)
        self.parent = parent
        self.listeActivites = listeActivites
        self.dateMin = dateMin
        self.dateMax = dateMax
        self.listeSelections = listeSelections

        # Intro
        self.label_intro = wx.StaticText(
            self, -1, _(u"Cochez les champs à insérer dans votre état :"))

        # Données
        self.ctrl_donnees = OL_Etat_nomin_champs.ListView(
            self,
            id=-1,
            style=wx.LC_REPORT | wx.SUNKEN_BORDER | wx.LC_SINGLE_SEL
            | wx.LC_HRULES | wx.LC_VRULES)
        self.ctrl_donnees.SetParametres(dateMin=dateMin,
                                        dateMax=dateMax,
                                        listeActivites=listeActivites,
                                        listeSelections=listeSelections)
        self.ctrl_donnees.MAJ()

        self.bouton_ajouter = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Ajouter.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_modifier = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Modifier.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_supprimer = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Supprimer.png"),
                      wx.BITMAP_TYPE_ANY))

        self.hyper_select = Hyperlien(
            self,
            label=_(u"Tout cocher"),
            infobulle=_(u"Cliquez ici pour tout cocher"),
            URL="tout")
        self.label_separation = wx.StaticText(self, -1, u"|")
        self.hyper_deselect = Hyperlien(
            self,
            label=_(u"Tout décocher"),
            infobulle=_(u"Cliquez ici pour tout décocher"),
            URL="rien")

        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, texte=_(u"Annuler"), cheminImage="Images/32x32/Annuler.png")

        self.__set_properties()
        self.__do_layout()

        self.Bind(wx.EVT_BUTTON, self.Ajouter, self.bouton_ajouter)
        self.Bind(wx.EVT_BUTTON, self.Modifier, self.bouton_modifier)
        self.Bind(wx.EVT_BUTTON, self.Supprimer, self.bouton_supprimer)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAide, self.bouton_aide)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOk, self.bouton_ok)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAnnuler, self.bouton_annuler)
    def __init__(self, *args, **kwds):
        wx.Frame.__init__(self, *args, **kwds)
        self.SetSize((600, 600))
        panel = wx.Panel(self, -1, name="test1")
        sizer_1 = wx.BoxSizer(wx.VERTICAL)
        sizer_1.Add(panel, 1, wx.ALL | wx.EXPAND)
        self.SetSizer(sizer_1)

        # Paramètres de tests
        IDprofil = 10
        listeActivites = [1, 2, 3, 4]
        dateMin = datetime.date(2012, 9, 1)
        dateMax = datetime.date(2012, 9, 30)

        # Récupération de tous les champs disponibles
        from Ol import OL_Etat_nomin_champs
        champs = OL_Etat_nomin_champs.Champs(listeActivites=listeActivites,
                                             dateMin=dateMin,
                                             dateMax=dateMax)
        dictChamps = champs.GetDictChamps()
        listeChampsDispo = champs.GetChamps()

        # Récupération des champs sélectionnés du profil
        DB = GestionDB.DB()
        req = """SELECT IDselection, IDprofil, code, ordre
        FROM etat_nomin_selections
        WHERE IDprofil=%d
        ORDER BY ordre
        ;""" % IDprofil
        DB.ExecuterReq(req)
        listeSelectionChamps = DB.ResultatReq()
        DB.Close()
        listeChamps = []
        from Ol import OL_Etat_nomin_selections
        for IDselection, IDprofil, code, ordre in listeSelectionChamps:
            if code in dictChamps:
                # Champ disponible
                trackInfo = dictChamps[code]
                dictTemp = {
                    "IDselection": IDselection,
                    "IDprofil": IDprofil,
                    "code": code,
                    "ordre": ordre,
                    "label": trackInfo.label,
                    "type": trackInfo.type,
                    "categorie": trackInfo.categorie,
                    "formule": trackInfo.formule,
                    "titre": trackInfo.titre,
                    "largeur": trackInfo.largeur
                }
            else:
                # Champ indisponible
                dictTemp = {
                    "IDselection": IDselection,
                    "IDprofil": IDprofil,
                    "code": code,
                    "ordre": ordre,
                    "label": _(u"Non disponible"),
                    "type": None,
                    "categorie": None,
                    "titre": None,
                    "formule": None
                }
            listeChamps.append(OL_Etat_nomin_selections.Track(dictTemp))

        # Création des paramètres
        dictParametres = {
            "caisses": [1, 2],
            "champs": listeChamps,
            "champsDispo": listeChampsDispo,
            "groupes": [1, 2, 6, 7, 8, 9, 5, 3, 4, 10],
            "age": None,
            "date_debut": dateMin,
            "date_fin": dateMax,
            "activites": [1, 2, 3, 4],
            "qf": None,
            "categories": [6, 5, 1, 3, 2, 4],
            "etats": [
                "present",
            ]
        }

        self.myOlv = ListView(panel,
                              id=-1,
                              dictParametres=dictParametres,
                              style=wx.LC_REPORT | wx.SUNKEN_BORDER
                              | wx.LC_SINGLE_SEL | wx.LC_HRULES | wx.LC_VRULES)
        self.myOlv.MAJ()
        sizer_2 = wx.BoxSizer(wx.VERTICAL)
        sizer_2.Add(self.myOlv, 1, wx.ALL | wx.EXPAND, 4)
        panel.SetSizer(sizer_2)
        self.Layout()