コード例 #1
0
ファイル: szemelyurlap.py プロジェクト: rolika/quipu
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)
コード例 #2
0
ファイル: szemelyurlap.py プロジェクト: rolika/quipu
    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
コード例 #3
0
ファイル: szemelyurlap.py プロジェクト: rolika/quipu
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
コード例 #4
0
ファイル: szemelyurlap.py プロジェクト: rolika/quipu
    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
コード例 #5
0
ファイル: projekturlap.py プロジェクト: rolika/quipu
    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
コード例 #6
0
ファイル: projekturlap.py プロジェクト: rolika/quipu
    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
コード例 #7
0
ファイル: szemelyurlap.py プロジェクト: rolika/quipu
            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())
コード例 #8
0
ファイル: projekturlap.py プロジェクト: rolika/quipu
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)
コード例 #9
0
ファイル: projekturlap.py プロジェクト: rolika/quipu
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.")
コード例 #10
0
ファイル: projekturlap.py プロジェクト: rolika/quipu
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