class UjCimUrlap(simpledialog.Dialog): def __init__(self, szulo, kon=None): self._kon = kon self._cim = None super().__init__(szulo, title="Új cím hozzáadása") def body(self, szulo): self._nev_valaszto = Valaszto("név", self._nevsor(), self) self._nev_valaszto.pack(ipadx=2, ipady=2) self._cim_urlap = CimUrlap(self) self._cim_urlap.pack(ipadx=2, ipady=2) return self._nev_valaszto.valaszto def validate(self): self._cim = self._cim_urlap.export() if not self._cim: messagebox.showwarning("Hiányos adat!", "Legalább a helységet add meg!", parent=self) return False return True def apply(self): self._cim.szemely = self._nev_valaszto.elem.azonosito if self._cim.ment(self._kon.szemely): print("Bejegyzés mentve.") else: print("Nem sikerült elmenteni.") def _nevsor(self): return sorted(map(lambda szemely: Szemely(**szemely), self._kon.szemely.select("szemely")), key=repr)
def body(self, szulo): self._nev_valaszto = Valaszto("név", self._nevsor(), self) self._nev_valaszto.pack(ipadx=2, ipady=2) self._cim_urlap = CimUrlap(self) self._cim_urlap.pack(ipadx=2, ipady=2) return self._nev_valaszto.valaszto
class CimModositoUrlap(simpledialog.Dialog): def __init__(self, szulo, kon=None): self._kon = kon self._cim = None super().__init__(szulo, title="Cím módosítása") def body(self, szulo): self._nev_valaszto = Valaszto("név", self._nevsor(), self) self._nev_valaszto.valaszto.bind("<<ComboboxSelected>>", self._elerhetosegek) self._nev_valaszto.pack(ipadx=2, ipady=2) self._cim_valaszto = Valaszto("módosítandó cím", self._cimek(), self) self._cim_valaszto.valaszto.bind("<<ComboboxSelected>>", self._kiir_elerhetoseg) self._cim_valaszto.pack(ipadx=2, ipady=2) self._cim_urlap = CimUrlap(self) self._cim_urlap.pack(ipadx=2, ipady=2) self._kiir_elerhetoseg(1) return self._nev_valaszto.valaszto def validate(self): if not self._cim_valaszto.elem: return False else: self._cim = self._uj_cim() if not self._cim: messagebox.showwarning("Hiányos adat!", "Legalább a helységet add meg!", parent=self) return False else: return True def apply(self): if self._cim.ment(self._kon.szemely): print("Bejegyzés módosítva.") else: print("Nem sikerült módosítani.") self._elerhetosegek(1) def _nevsor(self): return sorted(map(lambda szemely: Szemely(**szemely), self._kon.szemely.select("szemely")), key=repr) def _cimek(self): szemely = self._nev_valaszto.elem return [Cim(**cim) for cim in self._kon.szemely.select("cim", szemely=szemely.azonosito)] def _elerhetosegek(self, event): self._cim_valaszto.beallit(self._cimek()) self._kiir_elerhetoseg(1) def _kiir_elerhetoseg(self, event): self._cim_urlap.beallit(self._cim_valaszto.elem or Cim()) def _uj_cim(self): cim = self._cim_valaszto.elem if cim: cim.adatok = self._cim_urlap.export() return cim
def body(self, szulo): self._nev_valaszto = Valaszto("név", self._nevsor(), self) self._nev_valaszto.valaszto.bind("<<ComboboxSelected>>", self._elerhetosegek) self._nev_valaszto.pack(ipadx=2, ipady=2) self._cim_valaszto = Valaszto("módosítandó cím", self._cimek(), self) self._cim_valaszto.valaszto.bind("<<ComboboxSelected>>", self._kiir_elerhetoseg) self._cim_valaszto.pack(ipadx=2, ipady=2) self._cim_urlap = CimUrlap(self) self._cim_urlap.pack(ipadx=2, ipady=2) self._kiir_elerhetoseg(1) return self._nev_valaszto.valaszto
def body(self, szulo): self._projekt_valaszto = Valaszto("projekt", self._projektek(), self) self._projekt_valaszto.set_callback(self._cim_megjelenit) self._projekt_valaszto.pack(ipadx=2, ipady=2) munkaresz = LabelFrame(self, text="munkarész") self._munkaresz_urlap = MunkareszUrlap(munkaresz) self._munkaresz_urlap.pack(ipadx=2, ipady=2) munkaresz.pack(fill=X, padx=2, pady=2) cim = LabelFrame(self, text="munkarész címe") self._cim_urlap = CimUrlap(cim) self._cim_urlap.pack(ipadx=2, ipady=2) self._cim_megjelenit(1) cim.pack(padx=2, pady=2) jelleg = LabelFrame(self, text="munkarész jellege") self._jelleg_urlap = JellegUrlap(jelleg) self._jelleg_urlap.pack(ipadx=2, ipady=2) jelleg.pack(fill=X, padx=2, pady=2) return self._projekt_valaszto.valaszto
def body(self, szulo): megnevezes = LabelFrame(self, text="projekt neve") self._projekt_urlap = ProjektUrlap(megnevezes) self._projekt_urlap.pack(ipadx=2, ipady=2) self._projekt_urlap.projektszam = "{}/{}".format(self._ev, self._szam) megnevezes.pack(fill=X, padx=2, pady=2) cim = LabelFrame(self, text="projekt címe") self._cim_urlap = CimUrlap(cim) self._cim_urlap.pack(ipadx=2, ipady=2) cim.pack(padx=2, pady=2) munkaresz = LabelFrame(self, text="munkarész") self._munkaresz_urlap = MunkareszUrlap(munkaresz) self._munkaresz_urlap.pack(ipadx=2, ipady=2) munkaresz.pack(fill=X, padx=2, pady=2) jelleg = LabelFrame(self, text="jelleg") self._jelleg_urlap = JellegUrlap(jelleg) self._jelleg_urlap.pack(ipadx=2, ipady=2) jelleg.pack(fill=X, padx=2, pady=2) return self._projekt_urlap.fokusz
FROM szervezet WHERE azonosito NOT IN ( SELECT szervezet FROM kontakt WHERE szemely = ? ); """, (szemelyazonosito, )) return sorted(map(lambda szervezet: Szervezet(**szervezet), szemelyhez_nem_rendelt_szervezetek), key=repr) def _megjelenit(self, event): self._szervezetvalaszto.beallit(self._szervezetnevsor()) self._modszervezetvalaszto.beallit(self._modszervezetnevsor()) self._reszletek(1) def _reszletek(self, event): szemely = self._szemelyvalaszto.elem.azonosito szervezet = self._szervezetvalaszto.elem.azonosito megjegyzes = self._kon.kontakt.select("kontakt", "megjegyzes", szemely=szemely, szervezet=szervezet, logic="AND").fetchone() self._megjegyzes.set(megjegyzes["megjegyzes"]) if __name__ == "__main__": c = CimUrlap() c.pack() c.mainloop() print(c.export())
class MunkareszModositoUrlap(simpledialog.Dialog): def __init__(self, szulo, kon): self._kon = kon # super() előtt kell legyen super().__init__(szulo, title="Munkarész módosítása") def body(self, szulo): self._munkaresz_valaszto = Valaszto("munkarész", self._munkareszek(), self) self._munkaresz_valaszto.set_callback(self._munkaresz_megjelenit) self._munkaresz_valaszto.pack(ipadx=2, ipady=2) munkaresz = LabelFrame(self, text="munkarész") self._munkaresz_urlap = MunkareszUrlap(munkaresz) self._munkaresz_urlap.pack(ipadx=2, ipady=2) munkaresz.pack(fill=X, padx=2, pady=2) cim = LabelFrame(self, text="munkarész címe") self._cim_urlap = CimUrlap(cim) self._cim_urlap.pack(ipadx=2, ipady=2) cim.pack(padx=2, pady=2) jelleg = LabelFrame(self, text="munkarész jellege") self._jelleg_urlap = JellegUrlap(jelleg) self._jelleg_urlap.pack(ipadx=2, ipady=2) jelleg.pack(fill=X, padx=2, pady=2) self._munkaresz_megjelenit(1) return self._munkaresz_valaszto.valaszto def validate(self): munkaresz = self._munkaresz_urlap.export() cim = self._cim_urlap.export() jelleg = self._jelleg_urlap.export() if not munkaresz: messagebox.showwarning("Hiányos adat!", "Legalább a nevet add meg!", parent=self) return False if munkaresz.meglevo(self._kon.projekt) and cim.meglevo( self._kon.projekt) and jelleg.meglevo(self._kon.projekt): messagebox.showwarning("Létező munkarész!", "Pontosítsd!", parent=self) return False return True def apply(self): munkaresz, cim, jelleg = self._modositott_munkaresz() if munkaresz.ment(self._kon.projekt) and cim.ment( self._kon.projekt) and jelleg.ment(self._kon.projekt): print("Bejegyzés mentve.") else: print("Nem sikerült elmenteni!") def _munkareszek(self): return sorted(map(lambda jelleg: Jelleg(kon=self._kon, **jelleg), self._kon.projekt.select("jelleg")), key=repr) def _munkaresz_kivalaszt(self, event): self._munkaresz_valaszto.beallit(self._munkareszek()) self._munkaresz_megjelenit(1) def _munkaresz_megjelenit(self, event): munkaresz, cim, jelleg = self._meglevo_munkaresz() self._munkaresz_urlap.beallit(munkaresz) self._cim_urlap.beallit(cim) self._jelleg_urlap.beallit(jelleg) def _meglevo_munkaresz(self): jelleg = self._munkaresz_valaszto.elem munkaresz = self._kon.projekt.select( "munkaresz", azonosito=jelleg.munkaresz).fetchone() munkaresz = Munkaresz(**munkaresz) cim = self._kon.projekt.select( "cim", munkaresz=munkaresz.azonosito).fetchone() cim = Cim(**cim) return (munkaresz, cim, jelleg) def _modositott_munkaresz(self): munkaresz, cim, jelleg = self._meglevo_munkaresz() munkaresz.adatok = self._munkaresz_urlap.export() cim.adatok = self._cim_urlap.export() jelleg.adatok = self._jelleg_urlap.export() return (munkaresz, cim, jelleg)
class UjMunkareszUrlap(simpledialog.Dialog): def __init__(self, szulo, kon): self._kon = kon # super() előtt kell legyen super().__init__(szulo, title="Új munkarész felvitele") def body(self, szulo): self._projekt_valaszto = Valaszto("projekt", self._projektek(), self) self._projekt_valaszto.set_callback(self._cim_megjelenit) self._projekt_valaszto.pack(ipadx=2, ipady=2) munkaresz = LabelFrame(self, text="munkarész") self._munkaresz_urlap = MunkareszUrlap(munkaresz) self._munkaresz_urlap.pack(ipadx=2, ipady=2) munkaresz.pack(fill=X, padx=2, pady=2) cim = LabelFrame(self, text="munkarész címe") self._cim_urlap = CimUrlap(cim) self._cim_urlap.pack(ipadx=2, ipady=2) self._cim_megjelenit(1) cim.pack(padx=2, pady=2) jelleg = LabelFrame(self, text="munkarész jellege") self._jelleg_urlap = JellegUrlap(jelleg) self._jelleg_urlap.pack(ipadx=2, ipady=2) jelleg.pack(fill=X, padx=2, pady=2) return self._projekt_valaszto.valaszto def validate(self): munkaresz = self._munkaresz_urlap.export() cim = self._cim_urlap.export() jelleg = self._jelleg_urlap.export() if not munkaresz: messagebox.showwarning("Hiányos adat!", "Legalább a nevet add meg!", parent=self) return False if munkaresz.meglevo(self._kon.projekt) and cim.meglevo( self._kon.projekt) and jelleg.meglevo(self._kon.projekt): messagebox.showwarning("Létező munkarész!", "Pontosítsd!", parent=self) return False return True def apply(self): projekt = self._projekt_valaszto.elem munkaresz = self._munkaresz_urlap.export() munkaresz.projekt = projekt.azonosito munkaresz = self._munkaresz_urlap.export() munkaresz.projekt = projekt.azonosito if not (munkaresz_azonosito := munkaresz.ment(self._kon.projekt)): print("A munkarészt nem sikerült elmenteni!") return cim = self._cim_urlap.export() cim.munkaresz = munkaresz_azonosito jelleg = self._jelleg_urlap.export() jelleg.munkaresz = munkaresz_azonosito if not (cim.ment(self._kon.projekt) and jelleg.ment(self._kon.projekt)): print("A címet/jelleget nem sikerült elmenteni!") return print("Bejegyzés mentve.")
class UjProjektUrlap(simpledialog.Dialog): def __init__(self, szulo, kon): # super() előtt kell legyenek self._kon = kon self._ev = date.today().strftime("%y") self._szam = self._kovetkezo_projektszam() super().__init__(szulo, title="Új projekt felvitele") def body(self, szulo): megnevezes = LabelFrame(self, text="projekt neve") self._projekt_urlap = ProjektUrlap(megnevezes) self._projekt_urlap.pack(ipadx=2, ipady=2) self._projekt_urlap.projektszam = "{}/{}".format(self._ev, self._szam) megnevezes.pack(fill=X, padx=2, pady=2) cim = LabelFrame(self, text="projekt címe") self._cim_urlap = CimUrlap(cim) self._cim_urlap.pack(ipadx=2, ipady=2) cim.pack(padx=2, pady=2) munkaresz = LabelFrame(self, text="munkarész") self._munkaresz_urlap = MunkareszUrlap(munkaresz) self._munkaresz_urlap.pack(ipadx=2, ipady=2) munkaresz.pack(fill=X, padx=2, pady=2) jelleg = LabelFrame(self, text="jelleg") self._jelleg_urlap = JellegUrlap(jelleg) self._jelleg_urlap.pack(ipadx=2, ipady=2) jelleg.pack(fill=X, padx=2, pady=2) return self._projekt_urlap.fokusz def validate(self): projekt = self._projekt_urlap.export() cim = self._cim_urlap.export() munkaresz = self._munkaresz_urlap.export() jelleg = self._jelleg_urlap.export() if not (projekt and cim and munkaresz): messagebox.showwarning( "Hiányos adat!", "Legalább a nevet, a helységet és a munkarészt add meg!", parent=self) return False if projekt.meglevo(self._kon.projekt)\ and cim.meglevo(self._kon.projekt)\ and munkaresz.meglevo(self._kon.projekt)\ and jelleg.meglevo(self._kon.projekt): messagebox.showwarning("Létező projekt!", "Pontosítsd!", parent=self) return False return True def apply(self): projekt = self._projekt_urlap.export() projekt.ev = self._ev projekt.szam = self._szam projekt.gyakorisag = 0 if not (projekt_azonosito := projekt.ment(self._kon.projekt)): print("Nem sikerült elmenteni!") return munkaresz = self._munkaresz_urlap.export() munkaresz.projekt = projekt_azonosito if not (munkaresz_azonosito := munkaresz.ment(self._kon.projekt)): print("A munkarészt nem sikerült elmenteni!") return