Beispiel #1
0
    def __init__(self, parent, IDlocation=None):
        wx.Panel.__init__(self, parent, id=-1, style=wx.TAB_TRAVERSAL)
        self.parent = parent
        self.IDlocation = IDlocation

        self.listviewAvecFooter = OL_Locations_prestations.ListviewAvecFooter(
            self, kwargs={"dlg_saisie_location": self.GetGrandParent()})
        self.ctrl_prestations = self.listviewAvecFooter.GetListview()
        self.ctrl_prestations.SetMinSize((50, 50))

        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))

        # Properties
        self.bouton_ajouter.SetToolTip(
            wx.ToolTip(_(u"Cliquez ici pour ajouter une prestation")))
        self.bouton_modifier.SetToolTip(
            wx.ToolTip(
                _(u"Cliquez ici pour modifier la prestation sélectionnée dans la liste"
                  )))
        self.bouton_supprimer.SetToolTip(
            wx.ToolTip(
                _(u"Cliquez ici pour supprimer la prestation sélectionnée dans la liste"
                  )))

        # Bind
        self.Bind(wx.EVT_BUTTON, self.ctrl_prestations.Ajouter,
                  self.bouton_ajouter)
        self.Bind(wx.EVT_BUTTON, self.ctrl_prestations.Modifier,
                  self.bouton_modifier)
        self.Bind(wx.EVT_BUTTON, self.ctrl_prestations.Supprimer,
                  self.bouton_supprimer)

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

        grid_sizer_base = wx.FlexGridSizer(rows=1, cols=2, vgap=5, hgap=5)
        grid_sizer_base.Add(self.listviewAvecFooter, 0, wx.EXPAND, 0)
        grid_sizer_boutons = wx.FlexGridSizer(rows=4, cols=1, vgap=5, hgap=5)
        grid_sizer_boutons.Add(self.bouton_ajouter, 0, 0, 0)
        grid_sizer_boutons.Add(self.bouton_modifier, 0, 0, 0)
        grid_sizer_boutons.Add(self.bouton_supprimer, 0, 0, 0)
        grid_sizer_base.Add(grid_sizer_boutons, 0, 0, 0)
        grid_sizer_base.AddGrowableCol(0)
        grid_sizer_base.AddGrowableRow(0)

        sizer_base.Add(grid_sizer_base, 1, wx.EXPAND | wx.ALL, 10)
        self.SetSizer(sizer_base)
        self.Layout()
Beispiel #2
0
    def Importation(self):
        """ Importation des données """
        DB = GestionDB.DB()

        # Importation de la location
        req = """SELECT IDfamille, IDproduit, observations, date_debut, date_fin, quantite
        FROM locations WHERE IDlocation=%d;""" % self.IDlocation
        DB.ExecuterReq(req)
        listeDonnees = DB.ResultatReq()
        if len(listeDonnees) == 0 :
            DB.Close()
            return
        IDfamille, IDproduit, observations, date_debut, date_fin, quantite = listeDonnees[0]

        # Généralités
        self.ctrl_loueur.SetIDfamille(IDfamille)
        self.ctrl_produit.SetIDproduit(IDproduit)
        if observations == None :
            observations = ""
        self.ctrl_observations.SetValue(observations)

        # Date de début
        if date_debut != None:
            date_debut = UTILS_Dates.DateEngEnDateDDT(date_debut)
            self.SetDebut(date_debut)

        # Date de fin
        if date_fin != None :
            date_fin = UTILS_Dates.DateEngEnDateDDT(date_fin)
            self.SetFin(date_fin)

        # Quantité
        if quantite != None :
            self.ctrl_quantite.SetValue(quantite)

        # Importation des prestations
        req = """SELECT
        IDprestation, date, label, montant, IDfacture
        FROM prestations 
        WHERE categorie="location" and IDdonnee=%d;""" % self.IDlocation
        DB.ExecuterReq(req)
        listePrestations = DB.ResultatReq()
        DB.Close()

        liste_tracks_prestations = []
        for IDprestation, date, label, montant, IDfacture in listePrestations :
            date = UTILS_Dates.DateEngEnDateDD(date)
            dictPrestation = {
                "IDprestation" : IDprestation, "date" : date, "label" : label,
                "montant": montant, "IDfacture" : IDfacture,
                }
            track_prestation = OL_Locations_prestations.Track_prestation(dictPrestation)
            liste_tracks_prestations.append(track_prestation)
            self.liste_initiale_IDprestation.append(IDprestation)

        self.ctrl_parametres.GetPageAvecCode("facturation").SetDonnees({"prestations" : liste_tracks_prestations})