Exemplo n.º 1
0
 def _szervezet(self) -> Szervezet:
     """A kontakt szervezeti adatai."""
     assert self._kon
     szervezet = self._kon.szervezet.select(
         "szervezet", azonosito=self.szervezet).fetchone()
     szervezet = Szervezet(kon=self._kon, **szervezet)
     if szervezet == MAGANSZEMELY:  # __eq__ használata
         szervezet.rovidnev = ""
     return szervezet
Exemplo n.º 2
0
 def _modszervezetnevsor(self):
     szemelyazonosito = self._szemelyvalaszto.elem.azonosito
     szemelyhez_nem_rendelt_szervezetek = self._kon.szemely.execute("""
         SELECT *
         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)
Exemplo n.º 3
0
         "Pest", "Somogy", "Szabolcs-Szatmár-Bereg", "Tolna", "Vas",
         "Veszprém", "Zala")
ORSZAG = {
    "Magyarország": "H",
    "Németország": "D",
    "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
Exemplo n.º 4
0
 def _szervezetnevsor(self):
     return sorted(map(lambda szervezet: Szervezet(**szervezet),
                       self._kon.szervezet.select("szervezet")),
                   key=repr)
Exemplo n.º 5
0
 def export(self):
     return Szervezet(rovidnev=self._rovidnev.get(),
                      teljesnev=self._teljesnev.get(),
                      megjegyzes=self._megjegyzes.get())
Exemplo n.º 6
0
 def _megjelenit(self, event):
     self._szervezeturlap.beallit(self._nev_valaszto.elem or Szervezet())
Exemplo n.º 7
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