Compare commits
No commits in common. "fa3b3e77d4e2f97f9b2b5d6eea107d1c7e73c22c" and "fa90e16fdf31eb5b0c85eb3b8261a3038ac43258" have entirely different histories.
fa3b3e77d4
...
fa90e16fdf
22
502.html
22
502.html
@ -1,22 +0,0 @@
|
|||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>EZ LAN Manager - Wartungsmodus</title>
|
|
||||||
<style>
|
|
||||||
body { text-align: center; padding: 150px; }
|
|
||||||
h1 { font-size: 50px; }
|
|
||||||
body { font: 20px Helvetica, sans-serif; color: #333; }
|
|
||||||
article { display: block; text-align: left; width: 650px; margin: 0 auto; }
|
|
||||||
a { color: #dc8100; text-decoration: none; }
|
|
||||||
a:hover { color: #333; text-decoration: none; }
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<article>
|
|
||||||
<h1>Wir sind bald wieder da!</h1>
|
|
||||||
<div>
|
|
||||||
<p>Wir führen zurzeit Wartungsarbeiten durch und sind in kürze wieder für euch da.</p>
|
|
||||||
<p>— Euer EZ LAN Team</p>
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@ -34,11 +34,5 @@
|
|||||||
additional_info="Berechtigt zur Nutzung eines verbesserten Platzes. Dieser ist mit einer höheren Internet-Bandbreite und einem Sitzkissen ausgestattet."
|
additional_info="Berechtigt zur Nutzung eines verbesserten Platzes. Dieser ist mit einer höheren Internet-Bandbreite und einem Sitzkissen ausgestattet."
|
||||||
is_default=false
|
is_default=false
|
||||||
|
|
||||||
[receipt_printing]
|
|
||||||
host="127.0.0.1"
|
|
||||||
port="5000"
|
|
||||||
order_print_endpoint="print_order"
|
|
||||||
password="Alkohol1"
|
|
||||||
|
|
||||||
[misc]
|
[misc]
|
||||||
dev_mode_active=true # Supresses E-Mail sending
|
dev_mode_active=true # Supresses E-Mail sending
|
||||||
|
|||||||
BIN
requirements.txt
BIN
requirements.txt
Binary file not shown.
@ -10,14 +10,13 @@ from src.ez_lan_manager.services.DatabaseService import DatabaseService
|
|||||||
from src.ez_lan_manager.services.LocalDataService import LocalDataService
|
from src.ez_lan_manager.services.LocalDataService import LocalDataService
|
||||||
from src.ez_lan_manager.services.MailingService import MailingService
|
from src.ez_lan_manager.services.MailingService import MailingService
|
||||||
from src.ez_lan_manager.services.NewsService import NewsService
|
from src.ez_lan_manager.services.NewsService import NewsService
|
||||||
from src.ez_lan_manager.services.ReceiptPrintingService import ReceiptPrintingService
|
|
||||||
from src.ez_lan_manager.services.SeatingService import SeatingService
|
from src.ez_lan_manager.services.SeatingService import SeatingService
|
||||||
from src.ez_lan_manager.services.TicketingService import TicketingService
|
from src.ez_lan_manager.services.TicketingService import TicketingService
|
||||||
from src.ez_lan_manager.services.UserService import UserService
|
from src.ez_lan_manager.services.UserService import UserService
|
||||||
from src.ez_lan_manager.types import *
|
from src.ez_lan_manager.types import *
|
||||||
|
|
||||||
# Inits services in the correct order
|
# Inits services in the correct order
|
||||||
def init_services() -> tuple[AccountingService, CateringService, ConfigurationService, DatabaseService, MailingService, NewsService, SeatingService, TicketingService, UserService, LocalDataService, ReceiptPrintingService]:
|
def init_services() -> tuple[AccountingService, CateringService, ConfigurationService, DatabaseService, MailingService, NewsService, SeatingService, TicketingService, UserService, LocalDataService]:
|
||||||
logging.basicConfig(level=logging.DEBUG)
|
logging.basicConfig(level=logging.DEBUG)
|
||||||
configuration_service = ConfigurationService(from_root("config.toml"))
|
configuration_service = ConfigurationService(from_root("config.toml"))
|
||||||
db_service = DatabaseService(configuration_service.get_database_configuration())
|
db_service = DatabaseService(configuration_service.get_database_configuration())
|
||||||
@ -27,9 +26,7 @@ def init_services() -> tuple[AccountingService, CateringService, ConfigurationSe
|
|||||||
mailing_service = MailingService(configuration_service)
|
mailing_service = MailingService(configuration_service)
|
||||||
ticketing_service = TicketingService(configuration_service.get_ticket_info(), db_service, accounting_service)
|
ticketing_service = TicketingService(configuration_service.get_ticket_info(), db_service, accounting_service)
|
||||||
seating_service = SeatingService(configuration_service.get_lan_info(), db_service, ticketing_service)
|
seating_service = SeatingService(configuration_service.get_lan_info(), db_service, ticketing_service)
|
||||||
receipt_printing_service = ReceiptPrintingService(seating_service, configuration_service.get_receipt_printing_configuration(), configuration_service.DEV_MODE_ACTIVE)
|
catering_service = CateringService(db_service, accounting_service, user_service)
|
||||||
catering_service = CateringService(db_service, accounting_service, user_service, receipt_printing_service)
|
|
||||||
local_data_service = LocalDataService()
|
local_data_service = LocalDataService()
|
||||||
|
|
||||||
|
return accounting_service, catering_service, configuration_service, db_service, mailing_service, news_service, seating_service, ticketing_service, user_service, local_data_service
|
||||||
return accounting_service, catering_service, configuration_service, db_service, mailing_service, news_service, seating_service, ticketing_service, user_service, local_data_service, receipt_printing_service
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
from typing import Callable
|
from typing import Callable
|
||||||
|
|
||||||
from rio import Component, Rectangle, Grid, Column, Row, Text, TextStyle, Color, PointerEventListener, Spacer
|
from rio import Component, Rectangle, Grid, Column, Row, Text, TextStyle, Color, PointerEventListener
|
||||||
|
|
||||||
from src.ez_lan_manager.components.SeatingPlanPixels import SeatPixel, WallPixel, InvisiblePixel, TextPixel
|
from src.ez_lan_manager.components.SeatingPlanPixels import SeatPixel, WallPixel, InvisiblePixel, TextPixel
|
||||||
from src.ez_lan_manager.types.Seat import Seat
|
from src.ez_lan_manager.types.Seat import Seat
|
||||||
@ -12,25 +12,10 @@ class SeatingPlanLegend(Component):
|
|||||||
def build(self) -> Component:
|
def build(self) -> Component:
|
||||||
return Column(
|
return Column(
|
||||||
Text("Legende", style=TextStyle(fill=self.session.theme.neutral_color), justify="center", margin=1),
|
Text("Legende", style=TextStyle(fill=self.session.theme.neutral_color), justify="center", margin=1),
|
||||||
Row( # Disabled for upcoming LAN
|
# Row( # Disabled for upcoming LAN
|
||||||
Spacer(),
|
# Text("L = Luxus Platz", justify="center", style=TextStyle(fill=self.session.theme.neutral_color)),
|
||||||
Rectangle(
|
# Text("N = Normaler Platz", justify="center", style=TextStyle(fill=self.session.theme.neutral_color)),
|
||||||
content=Text("Normaler Platz", style=TextStyle(fill=self.session.theme.neutral_color, font_size=0.7), margin=0.2, justify="center"),
|
# ),
|
||||||
fill=Color.TRANSPARENT,
|
|
||||||
stroke_width=0.2,
|
|
||||||
stroke_color=Color.from_hex("003300"),
|
|
||||||
min_width=20,
|
|
||||||
margin_right=1
|
|
||||||
),
|
|
||||||
Rectangle(
|
|
||||||
content=Text("Deluxe Platz", style=TextStyle(fill=self.session.theme.neutral_color, font_size=0.7), margin=0.2, justify="center"),
|
|
||||||
fill=Color.TRANSPARENT,
|
|
||||||
stroke_width=0.2,
|
|
||||||
stroke_color=Color.from_hex("66ff99"),
|
|
||||||
min_width=20
|
|
||||||
),
|
|
||||||
Spacer()
|
|
||||||
),
|
|
||||||
Row(
|
Row(
|
||||||
Rectangle(
|
Rectangle(
|
||||||
content=Column(
|
content=Column(
|
||||||
@ -153,73 +138,75 @@ class SeatingPlan(Component):
|
|||||||
|
|
||||||
|
|
||||||
# Block A
|
# Block A
|
||||||
grid.add(SeatPixel("A01", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A01")), row=57, column=1, width=5, height=2)
|
grid.add(SeatPixel("A01", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A01")), row=57, column=2, width=3, height=2)
|
||||||
grid.add(SeatPixel("A02", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A02")), row=57, column=6, width=5, height=2)
|
grid.add(SeatPixel("A02", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A02")), row=57, column=5, width=3, height=2)
|
||||||
grid.add(SeatPixel("A03", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A03")), row=57, column=11, width=5, height=2)
|
grid.add(SeatPixel("A03", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A03")), row=57, column=8, width=3, height=2)
|
||||||
grid.add(SeatPixel("A04", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A04")), row=57, column=16, width=5, height=2)
|
grid.add(SeatPixel("A04", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A04")), row=57, column=11, width=3, height=2)
|
||||||
grid.add(SeatPixel("A05", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A05")), row=57, column=21, width=5, height=2)
|
grid.add(SeatPixel("A05", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A05")), row=57, column=14, width=3, height=2)
|
||||||
|
grid.add(SeatPixel("A06", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A06")), row=57, column=17, width=3, height=2)
|
||||||
|
|
||||||
grid.add(SeatPixel("A10", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A10")), row=55, column=1, width=5, height=2)
|
grid.add(SeatPixel("A10", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A10")), row=55, column=2, width=3, height=2)
|
||||||
grid.add(SeatPixel("A11", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A11")), row=55, column=6, width=5, height=2)
|
grid.add(SeatPixel("A11", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A11")), row=55, column=5, width=3, height=2)
|
||||||
grid.add(SeatPixel("A12", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A12")), row=55, column=11, width=5, height=2)
|
grid.add(SeatPixel("A12", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A12")), row=55, column=8, width=3, height=2)
|
||||||
grid.add(SeatPixel("A13", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A13")), row=55, column=16, width=5, height=2)
|
grid.add(SeatPixel("A13", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A13")), row=55, column=11, width=3, height=2)
|
||||||
grid.add(SeatPixel("A14", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A14")), row=55, column=21, width=5, height=2)
|
grid.add(SeatPixel("A14", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A14")), row=55, column=14, width=3, height=2)
|
||||||
|
grid.add(SeatPixel("A15", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("A15")), row=55, column=17, width=3, height=2)
|
||||||
|
|
||||||
# Block B
|
# Block B
|
||||||
grid.add(SeatPixel("B01", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B01")), row=50, column=1, width=3, height=2)
|
grid.add(SeatPixel("B01", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B01")), row=50, column=2, width=3, height=2)
|
||||||
grid.add(SeatPixel("B02", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B02")), row=50, column=4, width=3, height=2)
|
grid.add(SeatPixel("B02", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B02")), row=50, column=5, width=3, height=2)
|
||||||
grid.add(SeatPixel("B03", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B03")), row=50, column=7, width=3, height=2)
|
grid.add(SeatPixel("B03", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B03")), row=50, column=8, width=3, height=2)
|
||||||
grid.add(SeatPixel("B04", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B04")), row=50, column=10, width=3, height=2)
|
grid.add(SeatPixel("B04", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B04")), row=50, column=11, width=3, height=2)
|
||||||
grid.add(SeatPixel("B05", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B05")), row=50, column=13, width=3, height=2)
|
grid.add(SeatPixel("B05", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B05")), row=50, column=14, width=3, height=2)
|
||||||
grid.add(SeatPixel("B06", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B06")), row=50, column=16, width=3, height=2)
|
|
||||||
|
|
||||||
grid.add(SeatPixel("B10", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B10")), row=48, column=1, width=3, height=2)
|
grid.add(SeatPixel("B10", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B10")), row=48, column=2, width=3, height=2)
|
||||||
grid.add(SeatPixel("B11", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B11")), row=48, column=4, width=3, height=2)
|
grid.add(SeatPixel("B11", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B11")), row=48, column=5, width=3, height=2)
|
||||||
grid.add(SeatPixel("B12", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B12")), row=48, column=7, width=3, height=2)
|
grid.add(SeatPixel("B12", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B12")), row=48, column=8, width=3, height=2)
|
||||||
grid.add(SeatPixel("B13", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B13")), row=48, column=10, width=3, height=2)
|
grid.add(SeatPixel("B13", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B13")), row=48, column=11, width=3, height=2)
|
||||||
grid.add(SeatPixel("B14", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B14")), row=48, column=13, width=3, height=2)
|
grid.add(SeatPixel("B14", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B14")), row=48, column=14, width=3, height=2)
|
||||||
grid.add(SeatPixel("B15", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("B15")), row=48, column=16, width=3, height=2)
|
|
||||||
|
|
||||||
# Block C
|
# Block C
|
||||||
grid.add(SeatPixel("C01", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C01")), row=43, column=1, width=3, height=2)
|
grid.add(SeatPixel("C01", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C01")), row=43, column=2, width=3, height=2)
|
||||||
grid.add(SeatPixel("C02", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C02")), row=43, column=4, width=3, height=2)
|
grid.add(SeatPixel("C02", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C02")), row=43, column=5, width=3, height=2)
|
||||||
grid.add(SeatPixel("C03", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C03")), row=43, column=7, width=3, height=2)
|
grid.add(SeatPixel("C03", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C03")), row=43, column=8, width=3, height=2)
|
||||||
grid.add(SeatPixel("C04", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C04")), row=43, column=10, width=3, height=2)
|
grid.add(SeatPixel("C04", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C04")), row=43, column=11, width=3, height=2)
|
||||||
grid.add(SeatPixel("C05", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C05")), row=43, column=13, width=3, height=2)
|
grid.add(SeatPixel("C05", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C05")), row=43, column=14, width=3, height=2)
|
||||||
grid.add(SeatPixel("C06", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C06")), row=43, column=16, width=3, height=2)
|
|
||||||
|
|
||||||
grid.add(SeatPixel("C10", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C10")), row=41, column=1, width=3, height=2)
|
grid.add(SeatPixel("C10", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C10")), row=41, column=2, width=3, height=2)
|
||||||
grid.add(SeatPixel("C11", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C11")), row=41, column=4, width=3, height=2)
|
grid.add(SeatPixel("C11", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C11")), row=41, column=5, width=3, height=2)
|
||||||
grid.add(SeatPixel("C12", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C12")), row=41, column=7, width=3, height=2)
|
grid.add(SeatPixel("C12", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C12")), row=41, column=8, width=3, height=2)
|
||||||
grid.add(SeatPixel("C13", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C13")), row=41, column=10, width=3, height=2)
|
grid.add(SeatPixel("C13", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C13")), row=41, column=11, width=3, height=2)
|
||||||
grid.add(SeatPixel("C14", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C14")), row=41, column=13, width=3, height=2)
|
grid.add(SeatPixel("C14", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C14")), row=41, column=14, width=3, height=2)
|
||||||
grid.add(SeatPixel("C15", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("C15")), row=41, column=16, width=3, height=2)
|
|
||||||
|
|
||||||
# Block D
|
# Block D
|
||||||
grid.add(SeatPixel("D01", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D01")), row=34, column=1, width=5, height=2)
|
grid.add(SeatPixel("D01", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D01")), row=34, column=2, width=3, height=2)
|
||||||
grid.add(SeatPixel("D02", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D02")), row=34, column=6, width=5, height=2)
|
grid.add(SeatPixel("D02", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D02")), row=34, column=5, width=3, height=2)
|
||||||
grid.add(SeatPixel("D03", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D03")), row=34, column=11, width=5, height=2)
|
grid.add(SeatPixel("D03", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D03")), row=34, column=8, width=3, height=2)
|
||||||
grid.add(SeatPixel("D04", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D04")), row=34, column=16, width=5, height=2)
|
grid.add(SeatPixel("D04", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D04")), row=34, column=11, width=3, height=2)
|
||||||
grid.add(SeatPixel("D05", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D05")), row=34, column=21, width=5, height=2)
|
grid.add(SeatPixel("D05", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D05")), row=34, column=14, width=3, height=2)
|
||||||
|
grid.add(SeatPixel("D06", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D06")), row=34, column=17, width=3, height=2)
|
||||||
|
|
||||||
grid.add(SeatPixel("D10", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D10")), row=32, column=1, width=5, height=2)
|
grid.add(SeatPixel("D10", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D10")), row=32, column=2, width=3, height=2)
|
||||||
grid.add(SeatPixel("D11", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D11")), row=32, column=6, width=5, height=2)
|
grid.add(SeatPixel("D11", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D11")), row=32, column=5, width=3, height=2)
|
||||||
grid.add(SeatPixel("D12", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D12")), row=32, column=11, width=5, height=2)
|
grid.add(SeatPixel("D12", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D12")), row=32, column=8, width=3, height=2)
|
||||||
grid.add(SeatPixel("D13", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D13")), row=32, column=16, width=5, height=2)
|
grid.add(SeatPixel("D13", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D13")), row=32, column=11, width=3, height=2)
|
||||||
grid.add(SeatPixel("D14", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D14")), row=32, column=21, width=5, height=2)
|
grid.add(SeatPixel("D14", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D14")), row=32, column=14, width=3, height=2)
|
||||||
|
grid.add(SeatPixel("D15", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("D15")), row=32, column=17, width=3, height=2)
|
||||||
|
|
||||||
# Block E
|
# Block E
|
||||||
grid.add(SeatPixel("E01", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E01")), row=27, column=1, width=5, height=2)
|
grid.add(SeatPixel("E01", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E01")), row=27, column=2, width=3, height=2)
|
||||||
grid.add(SeatPixel("E02", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E02")), row=27, column=6, width=5, height=2)
|
grid.add(SeatPixel("E02", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E02")), row=27, column=5, width=3, height=2)
|
||||||
grid.add(SeatPixel("E03", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E03")), row=27, column=11, width=5, height=2)
|
grid.add(SeatPixel("E03", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E03")), row=27, column=8, width=3, height=2)
|
||||||
grid.add(SeatPixel("E04", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E04")), row=27, column=16, width=5, height=2)
|
grid.add(SeatPixel("E04", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E04")), row=27, column=11, width=3, height=2)
|
||||||
grid.add(SeatPixel("E05", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E05")), row=27, column=21, width=5, height=2)
|
grid.add(SeatPixel("E05", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E05")), row=27, column=14, width=3, height=2)
|
||||||
|
grid.add(SeatPixel("E06", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E06")), row=27, column=17, width=3, height=2)
|
||||||
|
|
||||||
grid.add(SeatPixel("E10", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E10")), row=25, column=1, width=5, height=2)
|
grid.add(SeatPixel("E10", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E10")), row=25, column=2, width=3, height=2)
|
||||||
grid.add(SeatPixel("E11", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E11")), row=25, column=6, width=5, height=2)
|
grid.add(SeatPixel("E11", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E11")), row=25, column=5, width=3, height=2)
|
||||||
grid.add(SeatPixel("E12", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E12")), row=25, column=11, width=5, height=2)
|
grid.add(SeatPixel("E12", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E12")), row=25, column=8, width=3, height=2)
|
||||||
grid.add(SeatPixel("E13", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E13")), row=25, column=16, width=5, height=2)
|
grid.add(SeatPixel("E13", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E13")), row=25, column=11, width=3, height=2)
|
||||||
grid.add(SeatPixel("E14", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E14")), row=25, column=21, width=5, height=2)
|
grid.add(SeatPixel("E14", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E14")), row=25, column=14, width=3, height=2)
|
||||||
|
grid.add(SeatPixel("E15", on_press_cb=self.seat_clicked_cb, seat=self.get_seat("E15")), row=25, column=17, width=3, height=2)
|
||||||
|
|
||||||
# Stage
|
# Stage
|
||||||
grid.add(PointerEventListener(
|
grid.add(PointerEventListener(
|
||||||
|
|||||||
@ -30,7 +30,6 @@ class SeatPixel(Component):
|
|||||||
fill=self.determine_color(),
|
fill=self.determine_color(),
|
||||||
stroke_width = 0.1,
|
stroke_width = 0.1,
|
||||||
hover_stroke_width = 0.1,
|
hover_stroke_width = 0.1,
|
||||||
stroke_color=Color.from_hex("003300") if self.seat.category == "NORMAL" else Color.from_hex("66ff99"),
|
|
||||||
grow_x=True,
|
grow_x=True,
|
||||||
grow_y=True,
|
grow_y=True,
|
||||||
hover_fill=self.session.theme.hud_color,
|
hover_fill=self.session.theme.hud_color,
|
||||||
|
|||||||
@ -6,7 +6,6 @@ from typing import Optional
|
|||||||
from src.ez_lan_manager.services.AccountingService import AccountingService
|
from src.ez_lan_manager.services.AccountingService import AccountingService
|
||||||
from src.ez_lan_manager.services.DatabaseService import DatabaseService
|
from src.ez_lan_manager.services.DatabaseService import DatabaseService
|
||||||
from src.ez_lan_manager.services.UserService import UserService
|
from src.ez_lan_manager.services.UserService import UserService
|
||||||
from src.ez_lan_manager.services.ReceiptPrintingService import ReceiptPrintingService
|
|
||||||
from src.ez_lan_manager.types.CateringOrder import CateringOrder, CateringOrderStatus, CateringMenuItemsWithAmount
|
from src.ez_lan_manager.types.CateringOrder import CateringOrder, CateringOrderStatus, CateringMenuItemsWithAmount
|
||||||
from src.ez_lan_manager.types.CateringMenuItem import CateringMenuItem, CateringMenuItemCategory
|
from src.ez_lan_manager.types.CateringMenuItem import CateringMenuItem, CateringMenuItemCategory
|
||||||
|
|
||||||
@ -26,11 +25,10 @@ class CateringError(Exception):
|
|||||||
|
|
||||||
|
|
||||||
class CateringService:
|
class CateringService:
|
||||||
def __init__(self, db_service: DatabaseService, accounting_service: AccountingService, user_service: UserService, receipt_printing_service: ReceiptPrintingService) -> None:
|
def __init__(self, db_service: DatabaseService, accounting_service: AccountingService, user_service: UserService):
|
||||||
self._db_service = db_service
|
self._db_service = db_service
|
||||||
self._accounting_service = accounting_service
|
self._accounting_service = accounting_service
|
||||||
self._user_service = user_service
|
self._user_service = user_service
|
||||||
self._receipt_printing_service = receipt_printing_service
|
|
||||||
self.cached_cart: dict[int, list[CateringMenuItem]] = {}
|
self.cached_cart: dict[int, list[CateringMenuItem]] = {}
|
||||||
|
|
||||||
# ORDERS
|
# ORDERS
|
||||||
@ -54,7 +52,6 @@ class CateringService:
|
|||||||
await self._accounting_service.remove_balance(user_id, total_price, f"CATERING - {order.order_id}")
|
await self._accounting_service.remove_balance(user_id, total_price, f"CATERING - {order.order_id}")
|
||||||
logger.info(
|
logger.info(
|
||||||
f"User '{order.customer.user_name}' (ID:{order.customer.user_id}) ordered from catering for {self._accounting_service.make_euro_string_from_decimal(total_price)}")
|
f"User '{order.customer.user_name}' (ID:{order.customer.user_id}) ordered from catering for {self._accounting_service.make_euro_string_from_decimal(total_price)}")
|
||||||
await self._receipt_printing_service.print_order(user, order)
|
|
||||||
# await self.cancel_order(order) # ToDo: Check if commented out before commit. Un-comment to auto-cancel every placed order
|
# await self.cancel_order(order) # ToDo: Check if commented out before commit. Un-comment to auto-cancel every placed order
|
||||||
return order
|
return order
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@ import tomllib
|
|||||||
from from_root import from_root
|
from from_root import from_root
|
||||||
|
|
||||||
from src.ez_lan_manager.types.ConfigurationTypes import DatabaseConfiguration, MailingServiceConfiguration, LanInfo, \
|
from src.ez_lan_manager.types.ConfigurationTypes import DatabaseConfiguration, MailingServiceConfiguration, LanInfo, \
|
||||||
SeatingConfiguration, TicketInfo, ReceiptPrintingConfiguration
|
SeatingConfiguration, TicketInfo
|
||||||
|
|
||||||
logger = logging.getLogger(__name__.split(".")[-1])
|
logger = logging.getLogger(__name__.split(".")[-1])
|
||||||
|
|
||||||
@ -86,19 +86,6 @@ class ConfigurationService:
|
|||||||
logger.fatal("Error loading seating configuration, exiting...")
|
logger.fatal("Error loading seating configuration, exiting...")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
def get_receipt_printing_configuration(self) -> ReceiptPrintingConfiguration:
|
|
||||||
try:
|
|
||||||
receipt_printing_configuration = self._config["receipt_printing"]
|
|
||||||
return ReceiptPrintingConfiguration(
|
|
||||||
host=receipt_printing_configuration["host"],
|
|
||||||
port=receipt_printing_configuration["port"],
|
|
||||||
order_print_endpoint=receipt_printing_configuration["order_print_endpoint"],
|
|
||||||
password=receipt_printing_configuration["password"]
|
|
||||||
)
|
|
||||||
except KeyError:
|
|
||||||
logger.fatal("Error loading Receipt Printing Configuration, exiting...")
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def APP_VERSION(self) -> str:
|
def APP_VERSION(self) -> str:
|
||||||
return self._version
|
return self._version
|
||||||
|
|||||||
@ -1,48 +0,0 @@
|
|||||||
import logging
|
|
||||||
|
|
||||||
import requests
|
|
||||||
|
|
||||||
from src.ez_lan_manager.services.SeatingService import SeatingService
|
|
||||||
from src.ez_lan_manager.types.CateringOrder import CateringOrder
|
|
||||||
from src.ez_lan_manager.types.ConfigurationTypes import ReceiptPrintingConfiguration
|
|
||||||
from src.ez_lan_manager.types.User import User
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__.split(".")[-1])
|
|
||||||
logging.getLogger("urllib3").setLevel(logging.FATAL) # Disable logging for urllib3
|
|
||||||
|
|
||||||
class ReceiptPrintingService:
|
|
||||||
def __init__(self, seating_service: SeatingService, config: ReceiptPrintingConfiguration, dev_mode_enabled: bool) -> None:
|
|
||||||
self._seating_service = seating_service
|
|
||||||
self._config = config
|
|
||||||
self._dev_mode_enabled = dev_mode_enabled
|
|
||||||
|
|
||||||
async def print_order(self, user: User, order: CateringOrder) -> None:
|
|
||||||
seat_id = await self._seating_service.get_user_seat(user.user_id)
|
|
||||||
if not seat_id:
|
|
||||||
seat_id = " - "
|
|
||||||
|
|
||||||
menu_items_payload = []
|
|
||||||
for item, amount in order.items.items():
|
|
||||||
menu_items_payload.append({
|
|
||||||
"menu_item_name": item.name,
|
|
||||||
"amount": amount
|
|
||||||
})
|
|
||||||
|
|
||||||
payload = {
|
|
||||||
"order_id": str(order.order_id),
|
|
||||||
"order_date": order.order_date.strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z',
|
|
||||||
"customer_name": user.user_name,
|
|
||||||
"seat_id": seat_id,
|
|
||||||
"items": menu_items_payload
|
|
||||||
}
|
|
||||||
try:
|
|
||||||
requests.post(
|
|
||||||
f"http://{self._config.host}:{self._config.port}/{self._config.order_print_endpoint}",
|
|
||||||
json=payload,
|
|
||||||
headers={"x-password": self._config.password}
|
|
||||||
)
|
|
||||||
except Exception as e:
|
|
||||||
if self._dev_mode_enabled:
|
|
||||||
logger.info("An error occurred trying to print a receipt:", e)
|
|
||||||
return
|
|
||||||
logger.error("An error occurred trying to print a receipt:", e)
|
|
||||||
@ -48,10 +48,3 @@ class LanInfo:
|
|||||||
@dataclass(frozen=True)
|
@dataclass(frozen=True)
|
||||||
class SeatingConfiguration:
|
class SeatingConfiguration:
|
||||||
seats: dict[str, str]
|
seats: dict[str, str]
|
||||||
|
|
||||||
@dataclass(frozen=True)
|
|
||||||
class ReceiptPrintingConfiguration:
|
|
||||||
host: str
|
|
||||||
port: int
|
|
||||||
order_print_endpoint: str
|
|
||||||
password: str
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user