Verified Commit c6aabb78 authored by Jakob Moser's avatar Jakob Moser
Browse files

Add person using new dialog

parent 777d60c8
Loading
Loading
Loading
Loading
Loading
+10 −16
Changes for poolpay/admin/PoolPayAdminApp.py: 10 added lines, 16 removed lines.
Original line number Diff line number Diff line
@@ -7,8 +7,13 @@ from textual.events import DeliveryComplete
from textual.widgets import Footer, Header

from poolpay import db
from poolpay.admin.AddPerson import AddPerson
from poolpay.admin.PersonsTable import PersonsTable, to_row
from poolpay.admin.BalanceDialog import (
    BalanceDialog,
    BalanceDialogResult,
)
from poolpay.admin.DeletePersonDialog import DeletePersonDialog
from poolpay.admin.PersonDialog import PersonDialog, PersonDialogResult
from poolpay.admin.PersonsTable import PersonsTable, PersonsTableColumn
from poolpay.csv.get_persons_csv import get_persons_csv
from poolpay.model.Card import Card
from poolpay.model.Person import Person
@@ -47,6 +52,9 @@ class PoolPayAdminApp(App):
        else:
            self._open_person_dialog(event.person)

    def action_add_person(self) -> None:
        self._open_person_dialog(None)

    def action_change_person(self) -> None:
        self._open_person_dialog(self.query_one(PersonsTable).selected)

@@ -60,20 +68,6 @@ class PoolPayAdminApp(App):
        table = self.query_one(PersonsTable)
        table.reload()

    def action_add_person(self) -> None:
        def add_person(person_details: tuple[str, str, str]) -> None:
            name, cl_account_name, card_id_formatted = person_details
            p = Person(name=name, cl_account_name=cl_account_name)

            card_id = int(card_id_formatted.replace(":", ""), 16)
            c = Card(id=card_id, owner=p)

            db.session.add(c)
            db.session.commit()
            self.query_one(PersonsTable).add_rows((to_row(p),))

        self.push_screen(AddPerson(), callback=add_person)

    def action_export_csv(self) -> None:
        persons_csv = get_persons_csv()