Esempio n. 1
0
    def __set_values(self):
        try:
            produits = Produit.select().where((Produit.retrait == False) |
                                              (Produit.retrait == True and Produit.stock > 0))
            self.liste_produits.SetObjects([p for p in produits])
            self.liste_produits.AutoSizeColumns()
            
            self.liste_lignes_achat.SetObjects([la for la in self.achat.lignes_achat])
            
            credit_restant = self.achat.adherent.solde - self.achat.total
            
            self.label_credit_restant_valeur.SetLabel(u"%.2f ¤" % credit_restant)

            if credit_restant >= 0:
                self.label_credit_restant_valeur.SetForegroundColour("#00AA00")
            else:
                self.label_credit_restant_valeur.SetForegroundColour("#DD0000")

            cotisation_du_mois = self.achat.adherent.cotisation_du_mois
            
            if cotisation_du_mois:
                self.label_cotisation_valeur.SetLabel("\\")
                self.label_cotisation_payee.SetLabel(u"- %.2f ¤, payée le %s" % (cotisation_du_mois.montant, cotisation_du_mois.date.strftime("%d-%m-%Y")))
            else:
                self.label_cotisation_valeur.SetLabel(u"%.2f ¤" % self.achat.adherent.cotisation_type.prix)
                self.label_cotisation_payee.Hide()
            
            print self.achat.cout_supplementaire
            self.text_cout_supplementaire.SetValue("%.2f" % float(self.achat.cout_supplementaire))
            self.text_cout_supplementaire_commentaire.SetValue(self.achat.cout_supplementaire_commentaire)

            self.__update_total()

        except BaseException as ex:
            print ex
    def OnChoixCategorie(self, event):
        self.produit.categorie = self.combo_box_Categorie.GetClientData(self.combo_box_Categorie.GetSelection())

        id_max = Produit.select().where(Produit.categorie == self.produit.categorie).aggregate(fn.Max(Produit.id))

        if id_max == None:
            self.produit.id = 1
        else:
            self.produit.id = id_max + 1

        self.label_RefGASEV.SetLabel(self.produit.ref_GASE)
Esempio n. 3
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
Esempio n. 4
0
 def __remplissage_liste(self):
     try:
         requete = Produit.select().where(~(Produit.pk << self.inventaire.produits))
         self.liste_produits.SetObjects([p for p in requete])
         
         #On dimentionne le dialog selon la largeur des colonnes
         largeur = 0
         for num_colonne in range(3) :
             largeur += self.liste_produits.GetColumnWidth(num_colonne)
          
         self.liste_produits.SetMinSize((largeur+20,300))
         
     except BaseException as ex:
         print ex
Esempio n. 5
0
    def OnChoixCategorie(self, event):
        self.produit.categorie = self.combo_box_Categorie.GetClientData(
            self.combo_box_Categorie.GetSelection())

        id_max = Produit.select().where(
            Produit.categorie == self.produit.categorie).aggregate(
                fn.Max(Produit.id))

        if id_max == None:
            self.produit.id = 1
        else:
            self.produit.id = id_max + 1

        self.label_RefGASEV.SetLabel(self.produit.ref_GASE)
    def SetFournisseur(self, fournisseur):
        self.commande.fournisseur = fournisseur

        self.label_titre_commande.SetLabel("Commande pour " + self.commande.fournisseur.nom)

        try:
            produits = Produit.select().where((Produit.fournisseur == fournisseur) &
                                              (Produit.retrait == False))
            self.liste_produits.SetObjects([p for p in produits])
            self.liste_produits.AutoSizeColumns()

        except BaseException as ex:
            print ex

        self.Layout()
Esempio n. 7
0
    def SetFournisseur(self, fournisseur):
        self.commande.fournisseur = fournisseur

        self.label_titre_commande.SetLabel("Commande pour " +
                                           self.commande.fournisseur.nom)

        try:
            produits = Produit.select().where(
                (Produit.fournisseur == fournisseur)
                & (Produit.retrait == False))
            self.liste_produits.SetObjects([p for p in produits])
            self.liste_produits.AutoSizeColumns()

        except BaseException as ex:
            print ex

        self.Layout()
Esempio n. 8
0
    def __set_values(self):
        try:
            produits = Produit.select().where((Produit.retrait == False) | (
                Produit.retrait == True and Produit.stock > 0))
            self.liste_produits.SetObjects([p for p in produits])
            self.liste_produits.AutoSizeColumns()

            self.liste_lignes_achat.SetObjects(
                [la for la in self.achat.lignes_achat])

            credit_restant = self.achat.adherent.solde - self.achat.total

            self.label_credit_restant_valeur.SetLabel(u"%.2f ¤" %
                                                      credit_restant)

            if credit_restant >= 0:
                self.label_credit_restant_valeur.SetForegroundColour("#00AA00")
            else:
                self.label_credit_restant_valeur.SetForegroundColour("#DD0000")

            cotisation_du_mois = self.achat.adherent.cotisation_du_mois

            if cotisation_du_mois:
                self.label_cotisation_valeur.SetLabel("\\")
                self.label_cotisation_payee.SetLabel(
                    u"- %.2f ¤, payée le %s" %
                    (cotisation_du_mois.montant,
                     cotisation_du_mois.date.strftime("%d-%m-%Y")))
            else:
                self.label_cotisation_valeur.SetLabel(
                    u"%.2f ¤" % self.achat.adherent.cotisation_type.prix)
                self.label_cotisation_payee.Hide()

            print self.achat.cout_supplementaire
            self.text_cout_supplementaire.SetValue(
                "%.2f" % float(self.achat.cout_supplementaire))
            self.text_cout_supplementaire_commentaire.SetValue(
                self.achat.cout_supplementaire_commentaire)

            self.__update_total()

        except BaseException as ex:
            print ex
Esempio n. 9
0
    def __init__(self, parent, produit=None):
        wx.Panel.__init__(self, parent, style=wx.TAB_TRAVERSAL)

        if produit == None:
            produit = Produit()

        self.produit = produit

        self.label_Nom = wx.StaticText(self, -1, "Nom :")
        self.text_Nom = wx.TextCtrl(self,
                                    -1,
                                    "",
                                    validator=GenericTextValidator())
        self.label_RefGASE = wx.StaticText(self, -1, "Ref GASE :")
        self.label_RefGASEV = wx.StaticText(self, -1, "XX-XXX")
        self.label_Categorie = wx.StaticText(self, -1, u"Catégorie :")
        self.combo_box_Categorie = wx.ComboBox(self,
                                               -1,
                                               choices=[],
                                               style=wx.CB_DROPDOWN
                                               | wx.CB_READONLY)
        self.label_Fournisseur = wx.StaticText(self, -1, "Fournisseur :")
        self.combo_box_Fournisseur = wx.ComboBox(self,
                                                 -1,
                                                 choices=[],
                                                 style=wx.CB_DROPDOWN
                                                 | wx.CB_READONLY)
        self.label_RefFournisseur = wx.StaticText(self, -1, "Ref fourniseur :")
        self.text_RefFournisseur = wx.TextCtrl(self, -1, "")
        self.label_Origine = wx.StaticText(self, -1, "Origine :")
        self.text_Origine = wx.TextCtrl(self,
                                        -1,
                                        "",
                                        validator=GenericTextValidator())
        self.label_TypeVente = wx.StaticText(self, -1, "Type de vente :")
        self.radio_box_TypeVente = wx.RadioBox(
            self,
            -1,
            "",
            choices=[u"Conditionné", "Vrac"],
            majorDimension=2,
            style=wx.RA_SPECIFY_COLS)
        self.label_UniteMesure = wx.StaticText(self, -1, u"Unité de mesure :")
        self.radio_box_UniteMesure = wx.RadioBox(self,
                                                 -1,
                                                 "",
                                                 choices=["Poids", "Volume"],
                                                 majorDimension=2,
                                                 style=wx.RA_SPECIFY_COLS)
        self.label_PoidsVolume = wx.StaticText(self, -1, "Poids :")
        self.text_PoidsVolume = wx.TextCtrl(
            self, -1, "", validator=GenericTextValidator(flag=VALIDATE_INT))
        self.label_GrL = wx.StaticText(self, -1, "grammes")
        self.label_Conditionnement = wx.StaticText(self, -1,
                                                   u"Conditionnement :")
        self.text_Conditionnement = wx.TextCtrl(
            self, -1, "", validator=GenericTextValidator(flag=VALIDATE_INT))
        self.label_UniteSacBidon = wx.StaticText(self, -1, u"unité(s)")
        self.label_TVA = wx.StaticText(self, -1, "TVA :")
        self.combo_box_TVA = wx.ComboBox(self,
                                         -1,
                                         choices=[],
                                         style=wx.CB_DROPDOWN | wx.CB_READONLY)
        self.label_PrixAchat = wx.StaticText(self, -1, "Prix d'achat HT :")
        self.text_PrixAchat = wx.TextCtrl(
            self, -1, "", validator=GenericTextValidator(flag=VALIDATE_FLOAT))
        self.label_PrixUniteSacBidon = wx.StaticText(self, -1,
                                                     u"¤ par unité")
        self.label_PrixTTC = wx.StaticText(self, -1, u", soit 0 ¤ TTC")
        self.label_RetraitProduit = wx.StaticText(self, -1,
                                                  "Retirer le produit ? :")
        self.checkbox_RetraitProduit = wx.CheckBox(self, -1, "")
        self.label_MotifRetrait = wx.StaticText(self, -1, "Motif du retrait:")
        self.text_MotifRetrait = wx.TextCtrl(self,
                                             -1,
                                             "",
                                             style=wx.TE_MULTILINE)
        self.button_ok = wx.Button(self, wx.ID_OK, "Valider")
        self.button_annuler = wx.Button(self, wx.ID_CANCEL, "")

        self.__set_comboboxs()
        self.__set_valeurs()

        self.__set_properties()
        self.__set_tooltips()
        self.__do_layout()

        self.combo_box_Categorie.Bind(wx.EVT_COMBOBOX, self.OnChoixCategorie)
        self.radio_box_TypeVente.Bind(wx.EVT_RADIOBOX, self.OnDefLabelsUnites)
        self.radio_box_UniteMesure.Bind(wx.EVT_RADIOBOX,
                                        self.OnDefLabelsUnites)
        self.checkbox_RetraitProduit.Bind(wx.EVT_CHECKBOX, self.OnClickRetrait)
        self.button_ok.Bind(wx.EVT_BUTTON, self.OnEnregistre)
        self.text_PrixAchat.Bind(wx.EVT_TEXT, self.OnChangePrix)

        self.Bind(wx.EVT_CLOSE, self.OnClose, self)
        self.Bind(wx.EVT_BUTTON, self.OnClose, self.button_annuler)