Loading muffin/budget_plan/BudgetaryItem.py +13 −2 Original line number Diff line number Diff line from dataclasses import dataclass from decimal import Decimal from typing import Any from .BudgetarySubItem import BudgetarySubItem @dataclass(frozen=True, eq=False) Loading @@ -10,12 +13,20 @@ class BudgetaryItem: 740.0208, Projekte und Veranstaltungen kultureller Art, 550.00 € Every payment order needs to reference a budgetary item out of which the money is taken. An item in a budget plan can have sub items. """ id: str name: str amount: Decimal sub_items: tuple[BudgetarySubItem, ...] = () @property def as_dict(self) -> dict[str, str]: return {"id": self.id, "name": self.name, "amount": str(self.amount)} def as_dict(self) -> dict[str, Any]: return { "id": self.id, "name": self.name, "amount": str(self.amount), "subItems": [sub_item.as_dict for sub_item in self.sub_items], } muffin/budget_plan/BudgetarySubItem.py 0 → 100644 +18 −0 Original line number Diff line number Diff line from dataclasses import dataclass from decimal import Decimal @dataclass(frozen=True, eq=False) class BudgetarySubItem: """A sub-item of an item in a budget plan. Has a name and an amount, e.g., Sommerfest, 350.00 € """ name: str amount: Decimal @property def as_dict(self) -> dict[str, str]: return {"name": self.name, "amount": str(self.amount)} Loading
muffin/budget_plan/BudgetaryItem.py +13 −2 Original line number Diff line number Diff line from dataclasses import dataclass from decimal import Decimal from typing import Any from .BudgetarySubItem import BudgetarySubItem @dataclass(frozen=True, eq=False) Loading @@ -10,12 +13,20 @@ class BudgetaryItem: 740.0208, Projekte und Veranstaltungen kultureller Art, 550.00 € Every payment order needs to reference a budgetary item out of which the money is taken. An item in a budget plan can have sub items. """ id: str name: str amount: Decimal sub_items: tuple[BudgetarySubItem, ...] = () @property def as_dict(self) -> dict[str, str]: return {"id": self.id, "name": self.name, "amount": str(self.amount)} def as_dict(self) -> dict[str, Any]: return { "id": self.id, "name": self.name, "amount": str(self.amount), "subItems": [sub_item.as_dict for sub_item in self.sub_items], }
muffin/budget_plan/BudgetarySubItem.py 0 → 100644 +18 −0 Original line number Diff line number Diff line from dataclasses import dataclass from decimal import Decimal @dataclass(frozen=True, eq=False) class BudgetarySubItem: """A sub-item of an item in a budget plan. Has a name and an amount, e.g., Sommerfest, 350.00 € """ name: str amount: Decimal @property def as_dict(self) -> dict[str, str]: return {"name": self.name, "amount": str(self.amount)}