Example #1
0
 def export(self) -> Szemely:
     """Beolvassa az űrlap kitöltött mezőit és Szemely csomót ad vissza belőlük."""
     return Szemely(elotag=self._elotag.get(),
                   vezeteknev=self._vezeteknev.get(),
                   keresztnev=self._keresztnev.get(),
                   nem=self._nem.get(),
                   megjegyzes=self._megjegyzes.get())
Example #2
0
 def _szemelynevsor(self):
     szervezetazonosito = self._szervezetvalaszto.elem.azonosito
     szervezethez_rendelt_szemelyek = self._kon.szervezet.execute(
         """
         SELECT * FROM szemely WHERE azonosito IN (SELECT szemely FROM kontakt WHERE szervezet = ?);
     """, (szervezetazonosito, ))
     return sorted(map(lambda szemely: Szemely(**szemely),
                       szervezethez_rendelt_szemelyek),
                   key=repr)
Example #3
0
 def _szemelynevsor(self):
     return sorted(map(lambda szemely: Szemely(**szemely), self._kon.szemely.select("szemely")), key=repr)
Example #4
0
 def _megjelenit(self, event):
     self._szemelyurlap.beallit(self._nev_valaszto.elem or Szemely())
Example #5
0
 def _nevsor(self) -> list:
     """Belső függvény, abc-rendbe rakott szemely. Szemely csomókból álló listát készít, a __repr__ alapján."""
     return sorted(map(lambda szemely: Szemely(**szemely), self._kon.szemely.select("szemely")), key=repr)
Example #6
0
    "Ausztria": "A",
    "Svájc": "CH",
    "Hollandia": "NL",
    "Szlovákia": "SK",
    "Csehország": "CZ",
    "USA": "USA",
    "Románia": "RO"
}

# a magánszemély egy különleges szervezet, hogy a magánszemélyek is kontaktok lehessenek
MAGANSZEMELY = Szervezet(rovidnev="#magánszemély", teljesnev="")

WEVIK = Szervezet(rovidnev="Wevik Engineer Kft.",
                  teljesnev="Wevik Engineer Kft.")

VITYA = Szemely(vezeteknev="Weisz", keresztnev="Viktor", nem="férfi")

ROLI = Szemely(vezeteknev="Weisz", keresztnev="Roland", nem="férfi")


class Esely(enum.IntEnum):
    """Ajánlat elnyerésének esélye."""
    BUKOTT = 0
    NORMAL = 5
    ERDEKES = 50
    VEGSO = 90

    @property
    def ertek(self):
        return self.value
Example #7
0
 def _szemely(self) -> Szemely:
     """A kontakt személyi adatai."""
     assert self._kon
     szemely = self._kon.szemely.select("szemely",
                                        azonosito=self.szemely).fetchone()
     return Szemely(**szemely)
Example #8
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