def apply(self): hiba = False projekt = self._projekt_valaszto.elem for munkaresz in map( lambda mr: Munkaresz(**mr), self._kon.projekt.select("munkaresz", projekt=projekt.azonosito)): for cim in map( lambda cm: Cim(**cm), self._kon.projekt.select("cim", munkaresz=munkaresz.azonosito)): if not cim.torol(self._kon.projekt): hiba = True for jelleg in map( lambda jg: Jelleg(**jg), self._kon.projekt.select("jelleg", munkaresz=munkaresz.azonosito)): if not jelleg.torol(self._kon.projekt): hiba = True if not munkaresz.torol(self._kon.projekt): hiba = True if not projekt.torol(self._kon.projekt): hiba = True if hiba: print("Nem sikerült törölni.") else: print("{}: Bejegyzés törölve.".format(projekt)) self._projekt_valaszto.beallit(self._projektek())
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 export(self): return Cim(orszag=ORSZAG[self._orszag.get()], megye=self._megye.get(), iranyitoszam=self._iranyitoszam.get(), helyseg=self._helyseg.get(), utca=self._utca.get(), hrsz=self._hrsz.get(), postafiok=self._postafiok.get(), honlap=self._honlap.get(), megjegyzes=self._megjegyzes.get())
def apply(self): hiba = False 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) if not cim.torol(self._kon.projekt): hiba = True if not jelleg.torol(self._kon.projekt): hiba = True if not self._kon.projekt.select("jelleg", munkaresz=jelleg.munkaresz).fetchone(): if not munkaresz.torol(self._kon.projekt): hiba = True if hiba: print("Nem sikerült törölni.") else: print("Bejegyzés törölve.")
def _kiir_elerhetoseg(self, event): self._cim_urlap.beallit(self._cim_valaszto.elem or Cim())
def _cimek(self): szemely = self._nev_valaszto.elem return [Cim(**cim) for cim in self._kon.szemely.select("cim", szemely=szemely.azonosito)]
and jelleg.ment(self._kon.projekt)): print("A címet/jelleget nem sikerült elmenteni!") return print("Bejegyzés mentve.") def _projektek(self): return sorted(map(lambda projekt: Projekt(**projekt), self._kon.projekt.select("projekt")), key=lambda elem: (elem.gyakorisag, repr(elem))) def _cim_megjelenit(self, event): projekt = self._projekt_valaszto.elem if (munkaresz := self._kon.projekt.select("munkaresz", projekt=projekt.azonosito).fetchone())\ and (cim := self._kon.projekt.select("cim", munkaresz=Munkaresz(**munkaresz).azonosito).fetchone()): self._cim_urlap.beallit(Cim(**cim)) else: self._cim_urlap.beallit(Cim()) class MunkareszTorloUrlap(simpledialog.Dialog): def __init__(self, szulo, kon): self._kon = kon # super() előtt kell legyen super().__init__(szulo, title="Munkarész törlése") def body(self, szulo): self._munkaresz_valaszto = Valaszto("munkarész", self._munkareszek(), self) self._munkaresz_valaszto.pack(ipadx=2, ipady=2) return self._munkaresz_valaszto.valaszto
def _cim(self) -> Cim: """Cím adatai.""" cim = self._kon.projekt.select("cim", munkaresz=self.azonosito).fetchone() return Cim(**cim)
def test_projektlista_import(self): ProjektRekord = namedtuple("ProjektRekord", [ "szam", "nev", "helyseg", "orszag", "ev", "ar", "euro", "felulet", "esely", "statusz", "temafelelos", "szervezet", "szemely", "telefonszam", "emailcim", "hoszig", "mm", "szig", "m2ar", "eurom2ar" ]) with open("projektlista.csv", newline='') as projektek: for projekt in map(ProjektRekord._make, csv.reader(projektek, delimiter=";")): projekt_id = None szemely_id = None szervezet_id = None kontakt_id = None munkaresz_id = None jelleg_id = None ajanlatkeres_id = None # projekt ev, szam = projekt.szam.split("/") projekt_ = Projekt(ev=ev, szam=szam, megnevezes=projekt.nev, rovidnev="", megjegyzes="", gyakorisag=0) if bool(projekt_) and not projekt_.meglevo(self._kon.projekt): projekt_id = projekt_.ment(self._kon.projekt) munkaresz = Munkaresz(kon=self._kon, projekt=projekt_id, megnevezes="szigetelés", enaplo=1, megjegyzes="") munkaresz_id = munkaresz.ment(self._kon.projekt) orszag = "D" if projekt.orszag.startswith("D") else "H" helyseg = projekt.helyseg if projekt.helyseg else "Herend" cim = Cim(munkaresz=munkaresz_id, orszag=orszag, megye="", iranyitoszam="", helyseg=helyseg, utca="", hrsz="", postafiok="", honlap="", megjegyzes="alapértelmezett") cim.ment(self._kon.projekt) jelleg = Jelleg(kon=self._kon, munkaresz=munkaresz_id, megnevezes="új", megjegyzes="") jelleg_id = jelleg.ment(self._kon.projekt) # ajánlatkérő szervezet szervezet = Szervezet(rovidnev=projekt.szervezet, teljesnev=projekt.szervezet, gyakorisag=0, megjegyzes="") if not bool(szervezet): szervezet_id = 1 # magánszemély azonosítója else: szervezet.rovidnev = szervezet.rovidnev.split()[0] meglevo = szervezet.meglevo( self._kon.szervezet ) # kezeli a agánszemélyt is, ami mindig meglévő if meglevo: szervezet_id = Szervezet(**meglevo).azonosito else: szervezet_id = szervezet.ment(self._kon.szervezet) # ajánlatkérő személy nev = projekt.szemely.split(" ", maxsplit=1) if len(nev) == 2: vezeteknev, keresztnev = nev elif len(nev) == 1: vezeteknev, keresztnev = nev[0], "" szemely = Szemely(elotag="", vezeteknev=vezeteknev, keresztnev=keresztnev, nem="férfi", megjegyzes="") if bool(szemely) and not szemely.meglevo( self._kon.szemely): szemely_id = szemely.ment(self._kon.szemely) telefonszam = projekt.telefonszam if projekt.telefonszam else "+36" telefon = Telefon(szemely=szemely_id, telefonszam=telefonszam, megjegyzes="alapértelmezett") telefon.ment(self._kon.szemely) emailcim = projekt.emailcim if projekt.emailcim else ".hu" email = Email(szemely=szemely_id, emailcim=emailcim, megjegyzes="alapértelmezett") email.ment(self._kon.szemely) # kontaktszemély if szervezet_id and szemely_id: kontakt = Kontakt(kon=self._kon, szemely=szemely_id, szervezet=szervezet_id, gyakorisag=0, megjegyzes="") if not kontakt.meglevo(self._kon.kontakt): kontakt_id = kontakt.ment(self._kon.kontakt) # ajánlatkérés if kontakt_id and jelleg_id: ajanlatkeres = Ajanlatkeres(kon=self._kon, jelleg=jelleg_id, ajanlatkero=kontakt_id, temafelelos=1) if not ajanlatkeres.meglevo(self._kon.ajanlat): ajanlatkeres_id = ajanlatkeres.ment( self._kon.ajanlat) # ajánlat if ajanlatkeres_id and projekt.ar and int( projekt.ar ) > 0: # ár nélkül nem írom be az ajánlatok közé esely = projekt.esely.rstrip("%") try: esely = int(esely) except ValueError: esely = Esely.NORMAL ajanlat = Ajanlat(kon=self._kon, ajanlatkeres=ajanlatkeres_id, ajanlatiar=projekt.ar, leadva="", ervenyes="", esely=esely, megjegyzes="") if not ajanlat.meglevo(self._kon.ajanlat): ajanlat.ment(self._kon.ajanlat) return True