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