From 42f32873ea78dc741b38764afcd0404d543926a0 Mon Sep 17 00:00:00 2001 From: Ambulance Clerc Date: Wed, 15 Jun 2022 15:43:46 +0200 Subject: [PATCH] Ajout input popup --- custom_popup.py | 55 +++++++++++++++++++++++++++++++++++++++++++++++++ main.py | 4 +++- 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/custom_popup.py b/custom_popup.py index b70f4f1..6de5a0b 100644 --- a/custom_popup.py +++ b/custom_popup.py @@ -1,6 +1,7 @@ from tkinter import * from tkinter import font from datetime import datetime +from tkinter import messagebox class Check_addresses_popup(Toplevel): x_row = 0 @@ -193,3 +194,57 @@ class Check_debitor_popup(Toplevel): print("nouveau code = "+ self.inp_code.get()) return self.inp_code.get() + +class Input_popup(Toplevel): + x_row = 0 + no_selection_possible = False + + def __init__(self, parent, text="Veuillez saisir la nouvelle valeur.", default="" ,factureID=None, fip=None, object=None): + super().__init__(parent) + + self.object = object + + + self.inp_value = StringVar() + if default is not None: + self.inp_value.set(default) + + + self.geometry(f"650x120+{parent.winfo_x() + 25}+{parent.winfo_y() + 25}") + self.resizable(True, True) + self.iconbitmap("./logo_clerc_03X_icon.ico") + self.title(f"Saisir une valeur {fip} / {factureID}.") + + self.columnconfigure(0, weight=1) + self.columnconfigure(1, weight=1) + + lbf_new = LabelFrame(self, text=text) + lbf_new.grid(row=0, column=0, sticky='WE', padx=5, pady=5) + + label_font = font.Font(weight='bold', size=9) + Label(lbf_new, text="", font=label_font).grid(row=0, column=0, sticky="W") + Entry(lbf_new, textvariable=self.inp_value, width=100).grid(row=0, column=1, sticky="W", pady=10) + + + self.btn = Button(self, text="Valider", command=self.destroy) + self.btn.grid(row=2, column=0, pady=10, padx=10, sticky='NSEW') + + def add(self): + self.destroy() + if self.object is not None: + self.object.add_items(code=self.inp_code.get(), name=self.debitor["name"]) + self.object.save_debitors() + + def destroy(self): + if self.inp_value.get() is None or self.inp_value.get() == "": + messagebox.showerror(title="ERREUR", message="Veuillez saisir une valeur !") + self.focus() + else: + super().destroy() + + def show(self): + self.deiconify() + self.wm_protocol("WM_DELETE_WINDOW", self.destroy) + self.wait_window(self) + print("nouvelle valeur = " + self.inp_value.get()) + return self.inp_value.get() diff --git a/main.py b/main.py index 4a90c03..f2c658c 100644 --- a/main.py +++ b/main.py @@ -464,9 +464,11 @@ class ClercAttrib2Biz(): self.bs_counter += 1 csv_col = cls_Col(True) - if b_HRF: + print(article) + if "code" in article.keys() and article["code"] == "HRF": break + ##Donnée globales csv_col.data[0] = data.data["id"] # N° document csv_col.data[1] = 20 # Type of document 20 = facture débiteur