Ejemplo n.º 1
0
 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())
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
 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())
Ejemplo n.º 4
0
 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.")
Ejemplo n.º 5
0
 def _kiir_elerhetoseg(self, event):
     self._cim_urlap.beallit(self._cim_valaszto.elem or Cim())
Ejemplo n.º 6
0
 def _cimek(self):
     szemely = self._nev_valaszto.elem
     return [Cim(**cim) for cim in self._kon.szemely.select("cim", szemely=szemely.azonosito)]
Ejemplo n.º 7
0
                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
Ejemplo n.º 8
0
 def _cim(self) -> Cim:
     """Cím adatai."""
     cim = self._kon.projekt.select("cim",
                                    munkaresz=self.azonosito).fetchone()
     return Cim(**cim)
Ejemplo n.º 9
0
    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