Beispiel #1
0
    def __init__(self, parent, fournisseur=None):
        wx.Panel.__init__(self,
                          parent,
                          id=wx.ID_ANY,
                          pos=wx.DefaultPosition,
                          style=wx.TAB_TRAVERSAL)

        #permet de faire un validate sur tout les panels
        self.SetExtraStyle(wx.WS_EX_VALIDATE_RECURSIVELY)

        if fournisseur:
            self.fournisseur = fournisseur
        else:
            self.fournisseur = Fournisseur()

        self.notebook = wx.Notebook(self, -1, style=0)
        self.notebook_p1 = wx.Panel(self.notebook, -1)
        self.notebook_p2 = wx.Panel(self.notebook, -1)

        #self.sizer_adhesions_staticbox = wx.StaticBox(self.notebook_p4, -1, u"Types d'adhésion")
        #self.label_description_adhesions = wx.StaticText(self.notebook_p4, -1, u"Ce sont les différentes formules disponibles pour adhérer à l'association.")

        self.panel_fournisseur = FicheFournisseurBase(self.notebook_p1,
                                                      self.fournisseur)
        self.panel_gestion_referents = GestionReferents(
            self.notebook_p2, self.fournisseur)

        self.bouton_ok = wx.Button(self, wx.ID_OK, "")
        self.bouton_annuler = wx.Button(self, wx.ID_CANCEL, "Annuler")

        self.bouton_ok.Bind(wx.EVT_BUTTON, self.OnEnregistre)
        self.Bind(wx.EVT_WINDOW_DESTROY, self.OnClose)

        self.__set_properties()
        self.__do_layout()
    def __init__(self, parent, fournisseur=None):
        wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, style=wx.TAB_TRAVERSAL)

        #permet de faire un validate sur tout les panels
        self.SetExtraStyle(wx.WS_EX_VALIDATE_RECURSIVELY)

        if fournisseur:
            self.fournisseur = fournisseur
        else:
            self.fournisseur = Fournisseur()

        self.notebook = wx.Notebook(self, -1, style=0)
        self.notebook_p1 = wx.Panel(self.notebook, -1)
        self.notebook_p2 = wx.Panel(self.notebook, -1)

        #self.sizer_adhesions_staticbox = wx.StaticBox(self.notebook_p4, -1, u"Types d'adhésion")
        #self.label_description_adhesions = wx.StaticText(self.notebook_p4, -1, u"Ce sont les différentes formules disponibles pour adhérer à l'association.")

        self.panel_fournisseur = FicheFournisseurBase(self.notebook_p1, self.fournisseur)
        self.panel_gestion_referents = GestionReferents(self.notebook_p2, self.fournisseur)
        
        self.bouton_ok = wx.Button(self, wx.ID_OK, "")
        self.bouton_annuler = wx.Button(self, wx.ID_CANCEL, "Annuler")
        
        self.bouton_ok.Bind(wx.EVT_BUTTON, self.OnEnregistre)
        self.Bind(wx.EVT_WINDOW_DESTROY, self.OnClose)

        self.__set_properties()
        self.__do_layout()
    def __remplissage_liste_fournisseur(self):
        try:
            fournisseurs = Fournisseur.select().order_by(Fournisseur.nom.asc())

            for fournisseur in fournisseurs:
                self.combo_box_SelectionFournisseur.Append(fournisseur.nom, fournisseur)

            self.combo_box_SelectionFournisseur.Select(0)

        except BaseException as ex:
            print ex
    def __remplissage_liste_fournisseur(self):
        try:
            fournisseurs = Fournisseur.select().order_by(Fournisseur.nom.asc())

            for fournisseur in fournisseurs:
                self.combo_box_SelectionFournisseur.Append(
                    fournisseur.nom, fournisseur)

            self.combo_box_SelectionFournisseur.Select(0)

        except BaseException as ex:
            print ex
 def __remplissage_liste(self):
     try:
         requete = Fournisseur.select().where(~(Fournisseur.id << self.adherent.fournisseurs))
         self.liste_fournisseurs.SetObjects([f for f in requete])
         
         #On dimentionne le dialog selon la largeur des colonnes
         largeur = 0
         for num_colonne in range(1) :
             largeur += self.liste_fournisseurs.GetColumnWidth(num_colonne)
          
         self.liste_fournisseurs.SetMinSize((largeur+20,300))
         
     except BaseException as ex:
         print ex
Beispiel #6
0
    def __remplissage_liste(self):
        try:
            self.liste_produits.SetObjects([p for p in Produit.select()])
            self.combo_box_Fournisseur.Append("Tous", 0)

            fournisseurs = [f for f in Fournisseur.select().order_by(Fournisseur.nom.asc())]

            for fournisseur in fournisseurs:
                self.combo_box_Fournisseur.Append(fournisseur.nom, fournisseur.get_id())

            self.combo_box_Fournisseur.Select(0)

        except BaseException as ex:
            print ex
Beispiel #7
0
    def __remplissage_liste(self):
        try:
            self.liste_lignes_inventaire.SetObjects([li for li in self.inventaire.lignes_inventaire])
            
            self.combo_box_fournisseur.Append("Tous", 0)

            fournisseurs = [f for f in Fournisseur.select().order_by(Fournisseur.nom.asc())]

            for fournisseur in fournisseurs:
                self.combo_box_fournisseur.Append(fournisseur.nom, fournisseur.get_id())

            self.combo_box_fournisseur.Select(0)
        except BaseException as ex:
            print ex
    def __remplissage_liste(self):
        try:
            requete = Fournisseur.select().where(
                ~(Fournisseur.id << self.adherent.fournisseurs))
            self.liste_fournisseurs.SetObjects([f for f in requete])

            #On dimentionne le dialog selon la largeur des colonnes
            largeur = 0
            for num_colonne in range(1):
                largeur += self.liste_fournisseurs.GetColumnWidth(num_colonne)

            self.liste_fournisseurs.SetMinSize((largeur + 20, 300))

        except BaseException as ex:
            print ex
    def __set_comboboxs(self):
        #TODO: Faire système de verification en cas de non existance de fournisseur/categorie/tva
        try:
            categories = [c for c in Categorie.select().order_by(Categorie.nom.asc())]
            for c in categories:
                self.combo_box_Categorie.Append(str(c.get_id()).zfill(2) + " - " + c.nom, c)

            fournisseurs = [f for f in Fournisseur.select().order_by(Fournisseur.nom.asc())]
            for fournisseur in fournisseurs:
                self.combo_box_Fournisseur.Append(fournisseur.nom, fournisseur)

            tvas = [t for t in Tva.select().order_by(Tva.taux.asc())]
            for tva in tvas:
                self.combo_box_TVA.Append(str(tva.taux), tva)

        except BaseException as ex:
            print ex
Beispiel #10
0
    def __init__(self, parent, fournisseur=None):
        wx.Panel.__init__(self, parent, style=wx.TAB_TRAVERSAL)

        if fournisseur == None:
            fournisseur = Fournisseur()

        self.fournisseur = fournisseur

        self.label_Nom = wx.StaticText(self, -1, "Nom :")
        self.text_Nom = wx.TextCtrl(self,
                                    -1,
                                    "",
                                    validator=GenericTextValidator())
        self.label_Adresse = wx.StaticText(self, -1, "Adresse :")
        self.text_Adresse = wx.TextCtrl(self,
                                        -1,
                                        "",
                                        validator=GenericTextValidator())
        self.label_CodePostal = wx.StaticText(self, -1, "Code Postal :")
        self.text_CodePostal = wx.TextCtrl(
            self, -1, "", validator=GenericTextValidator(flag=VALIDATE_INT))
        self.label_Ville = wx.StaticText(self, -1, "Ville :")
        self.text_Ville = wx.TextCtrl(self,
                                      -1,
                                      "",
                                      validator=GenericTextValidator())
        self.label_TelephoneFixe = wx.StaticText(self, -1, u"Tel fixe :")
        self.text_TelephoneFixe = wx.TextCtrl(self, -1, "")
        self.label_TelephonePortable = wx.StaticText(self, -1,
                                                     u"Tel portable :")
        self.text_TelephonePortable = wx.TextCtrl(self, -1, "")
        self.label_Email = wx.StaticText(self, -1, "Email :")
        self.text_Email = wx.TextCtrl(self, -1, "", validator=EmailValidator())
        self.label_NomContact = wx.StaticText(self, -1, "Nom du contact :")
        self.text_NomContact = wx.TextCtrl(self, -1, "")
        self.label_Remarques = wx.StaticText(self, -1, "Remarques :")
        self.text_Remarques = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE)
        self.label_Couleur = wx.StaticText(self, -1, "Couleur :")
        self.button_Couleur = wx.Button(self, -1, "Choix de la couleur")
        self.text_Couleur = wx.TextCtrl(self, -1, "", style=wx.TE_READONLY)

        self.__set_properties()
        self.__do_layout()
        self.__set_valeurs()

        self.button_Couleur.Bind(wx.EVT_BUTTON, self.selectionCouleur)
Beispiel #11
0
    def __set_comboboxs(self):
        #TODO: Faire système de verification en cas de non existance de fournisseur/categorie/tva
        try:
            categories = [
                c for c in Categorie.select().order_by(Categorie.nom.asc())
            ]
            for c in categories:
                self.combo_box_Categorie.Append(
                    str(c.get_id()).zfill(2) + " - " + c.nom, c)

            fournisseurs = [
                f for f in Fournisseur.select().order_by(Fournisseur.nom.asc())
            ]
            for fournisseur in fournisseurs:
                self.combo_box_Fournisseur.Append(fournisseur.nom, fournisseur)

            tvas = [t for t in Tva.select().order_by(Tva.taux.asc())]
            for tva in tvas:
                self.combo_box_TVA.Append(str(tva.taux), tva)

        except BaseException as ex:
            print ex
Beispiel #12
0
 def __remplissage_liste(self):
     try:
         self.liste_fournisseurs.SetObjects(
             [f for f in Fournisseur.select()])
     except BaseException as ex:
         print ex
 def __remplissage_liste(self):
     try:
         self.liste_fournisseurs.SetObjects([f for f in Fournisseur.select()])
     except BaseException as ex:
         print ex
class FicheFournisseur(wx.Panel):
    def __init__(self, parent, fournisseur=None):
        wx.Panel.__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, style=wx.TAB_TRAVERSAL)

        #permet de faire un validate sur tout les panels
        self.SetExtraStyle(wx.WS_EX_VALIDATE_RECURSIVELY)

        if fournisseur:
            self.fournisseur = fournisseur
        else:
            self.fournisseur = Fournisseur()

        self.notebook = wx.Notebook(self, -1, style=0)
        self.notebook_p1 = wx.Panel(self.notebook, -1)
        self.notebook_p2 = wx.Panel(self.notebook, -1)

        #self.sizer_adhesions_staticbox = wx.StaticBox(self.notebook_p4, -1, u"Types d'adhésion")
        #self.label_description_adhesions = wx.StaticText(self.notebook_p4, -1, u"Ce sont les différentes formules disponibles pour adhérer à l'association.")

        self.panel_fournisseur = FicheFournisseurBase(self.notebook_p1, self.fournisseur)
        self.panel_gestion_referents = GestionReferents(self.notebook_p2, self.fournisseur)
        
        self.bouton_ok = wx.Button(self, wx.ID_OK, "")
        self.bouton_annuler = wx.Button(self, wx.ID_CANCEL, "Annuler")
        
        self.bouton_ok.Bind(wx.EVT_BUTTON, self.OnEnregistre)
        self.Bind(wx.EVT_WINDOW_DESTROY, self.OnClose)

        self.__set_properties()
        self.__do_layout()
        # end wxGlade

    def __set_properties(self):
        #On affiche pas les panneaux secondaires pour un nouveau fournisseur
        if not self.fournisseur.get_id():
            self.notebook_p2.Hide()

    def __do_layout(self):
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer_p1 = wx.BoxSizer(wx.VERTICAL)
        sizer_p2 = wx.BoxSizer(wx.VERTICAL)

        sizer_p1.Add(self.panel_fournisseur, 1, wx.ALL|wx.EXPAND, 5)
        self.notebook_p1.SetSizer(sizer_p1)

        sizer_p2.Add(self.panel_gestion_referents, 1, wx.ALL|wx.EXPAND, 5)
        self.notebook_p2.SetSizer(sizer_p2)

        self.notebook.AddPage(self.notebook_p1, u"Fournisseur")
        self.notebook.AddPage(self.notebook_p2, u"Référents")

        sizer_boutons = wx.BoxSizer(wx.HORIZONTAL)

        sizer_boutons.Add((20, 20), 1, 0, 0)
        sizer_boutons.Add(self.bouton_ok, 0, 0, 0)
        sizer_boutons.Add((20, 20), 1, 0, 0)
        sizer_boutons.Add(self.bouton_annuler, 0, 0, 0)
        sizer_boutons.Add((20, 20), 1, 0, 0)

        sizer.Add(self.notebook, 1, wx.ALL|wx.EXPAND, 5)
        sizer.Add(sizer_boutons, 0, wx.TOP|wx.BOTTOM|wx.EXPAND, 10)
        self.SetSizer(sizer)
        sizer.Fit(self)
        
    def GetFournisseur(self):
        return self.fournisseur

    def OnEnregistre(self, event):
        if self.Validate():
            self.panel_fournisseur.Enregistre()
            DATABASE.commit()
            
            event.Skip()
        else:
            control = wx.Window.FindFocus()
            self.notebook.ChangeSelection(0)
            control.SetFocus()

    def OnClose(self, event):
        DATABASE.rollback()
        event.Skip()
Beispiel #15
0
class FicheFournisseur(wx.Panel):
    def __init__(self, parent, fournisseur=None):
        wx.Panel.__init__(self,
                          parent,
                          id=wx.ID_ANY,
                          pos=wx.DefaultPosition,
                          style=wx.TAB_TRAVERSAL)

        #permet de faire un validate sur tout les panels
        self.SetExtraStyle(wx.WS_EX_VALIDATE_RECURSIVELY)

        if fournisseur:
            self.fournisseur = fournisseur
        else:
            self.fournisseur = Fournisseur()

        self.notebook = wx.Notebook(self, -1, style=0)
        self.notebook_p1 = wx.Panel(self.notebook, -1)
        self.notebook_p2 = wx.Panel(self.notebook, -1)

        #self.sizer_adhesions_staticbox = wx.StaticBox(self.notebook_p4, -1, u"Types d'adhésion")
        #self.label_description_adhesions = wx.StaticText(self.notebook_p4, -1, u"Ce sont les différentes formules disponibles pour adhérer à l'association.")

        self.panel_fournisseur = FicheFournisseurBase(self.notebook_p1,
                                                      self.fournisseur)
        self.panel_gestion_referents = GestionReferents(
            self.notebook_p2, self.fournisseur)

        self.bouton_ok = wx.Button(self, wx.ID_OK, "")
        self.bouton_annuler = wx.Button(self, wx.ID_CANCEL, "Annuler")

        self.bouton_ok.Bind(wx.EVT_BUTTON, self.OnEnregistre)
        self.Bind(wx.EVT_WINDOW_DESTROY, self.OnClose)

        self.__set_properties()
        self.__do_layout()
        # end wxGlade

    def __set_properties(self):
        #On affiche pas les panneaux secondaires pour un nouveau fournisseur
        if not self.fournisseur.get_id():
            self.notebook_p2.Hide()

    def __do_layout(self):
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer_p1 = wx.BoxSizer(wx.VERTICAL)
        sizer_p2 = wx.BoxSizer(wx.VERTICAL)

        sizer_p1.Add(self.panel_fournisseur, 1, wx.ALL | wx.EXPAND, 5)
        self.notebook_p1.SetSizer(sizer_p1)

        sizer_p2.Add(self.panel_gestion_referents, 1, wx.ALL | wx.EXPAND, 5)
        self.notebook_p2.SetSizer(sizer_p2)

        self.notebook.AddPage(self.notebook_p1, u"Fournisseur")
        self.notebook.AddPage(self.notebook_p2, u"Référents")

        sizer_boutons = wx.BoxSizer(wx.HORIZONTAL)

        sizer_boutons.Add((20, 20), 1, 0, 0)
        sizer_boutons.Add(self.bouton_ok, 0, 0, 0)
        sizer_boutons.Add((20, 20), 1, 0, 0)
        sizer_boutons.Add(self.bouton_annuler, 0, 0, 0)
        sizer_boutons.Add((20, 20), 1, 0, 0)

        sizer.Add(self.notebook, 1, wx.ALL | wx.EXPAND, 5)
        sizer.Add(sizer_boutons, 0, wx.TOP | wx.BOTTOM | wx.EXPAND, 10)
        self.SetSizer(sizer)
        sizer.Fit(self)

    def GetFournisseur(self):
        return self.fournisseur

    def OnEnregistre(self, event):
        if self.Validate():
            self.panel_fournisseur.Enregistre()
            DATABASE.commit()

            event.Skip()
        else:
            control = wx.Window.FindFocus()
            self.notebook.ChangeSelection(0)
            control.SetFocus()

    def OnClose(self, event):
        DATABASE.rollback()
        event.Skip()