Add way to remove customer from txn
This commit is contained in:
parent
6caee556df
commit
207de81e51
|
@ -194,6 +194,15 @@ class POSView(WuttaView):
|
||||||
|
|
||||||
self.customer_info()
|
self.customer_info()
|
||||||
|
|
||||||
|
def remove(e):
|
||||||
|
dlg.open = False
|
||||||
|
self.page.update()
|
||||||
|
|
||||||
|
# cf. https://github.com/flet-dev/flet/issues/1670
|
||||||
|
time.sleep(0.1)
|
||||||
|
|
||||||
|
self.remove_customer_prompt()
|
||||||
|
|
||||||
def replace(e):
|
def replace(e):
|
||||||
dlg.open = False
|
dlg.open = False
|
||||||
self.page.update()
|
self.page.update()
|
||||||
|
@ -220,16 +229,16 @@ class POSView(WuttaView):
|
||||||
title=ft.Text("Customer Already Selected"),
|
title=ft.Text("Customer Already Selected"),
|
||||||
content=ft.Text("What would you like to do?", size=20),
|
content=ft.Text("What would you like to do?", size=20),
|
||||||
actions=[
|
actions=[
|
||||||
ft.Container(content=ft.Text("View Info",
|
ft.Container(content=ft.Text("Remove",
|
||||||
size=font_size,
|
size=font_size,
|
||||||
weight=ft.FontWeight.BOLD),
|
weight=ft.FontWeight.BOLD),
|
||||||
height=self.default_button_size,
|
height=self.default_button_size,
|
||||||
width=self.default_button_size * 2.5,
|
width=self.default_button_size * 2.5,
|
||||||
alignment=ft.alignment.center,
|
alignment=ft.alignment.center,
|
||||||
bgcolor='blue',
|
bgcolor='red',
|
||||||
border=ft.border.all(1, 'black'),
|
border=ft.border.all(1, 'black'),
|
||||||
border_radius=ft.border_radius.all(5),
|
border_radius=ft.border_radius.all(5),
|
||||||
on_click=view_info),
|
on_click=remove),
|
||||||
ft.Container(content=ft.Text("Replace",
|
ft.Container(content=ft.Text("Replace",
|
||||||
size=font_size,
|
size=font_size,
|
||||||
color='black',
|
color='black',
|
||||||
|
@ -241,6 +250,16 @@ class POSView(WuttaView):
|
||||||
border=ft.border.all(1, 'black'),
|
border=ft.border.all(1, 'black'),
|
||||||
border_radius=ft.border_radius.all(5),
|
border_radius=ft.border_radius.all(5),
|
||||||
on_click=replace),
|
on_click=replace),
|
||||||
|
ft.Container(content=ft.Text("View Info",
|
||||||
|
size=font_size,
|
||||||
|
weight=ft.FontWeight.BOLD),
|
||||||
|
height=self.default_button_size,
|
||||||
|
width=self.default_button_size * 2.5,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor='blue',
|
||||||
|
border=ft.border.all(1, 'black'),
|
||||||
|
border_radius=ft.border_radius.all(5),
|
||||||
|
on_click=view_info),
|
||||||
ft.Container(content=ft.Text("Cancel",
|
ft.Container(content=ft.Text("Cancel",
|
||||||
size=font_size,
|
size=font_size,
|
||||||
# color='black',
|
# color='black',
|
||||||
|
@ -257,6 +276,67 @@ class POSView(WuttaView):
|
||||||
dlg.open = True
|
dlg.open = True
|
||||||
self.page.update()
|
self.page.update()
|
||||||
|
|
||||||
|
def remove_customer_prompt(self):
|
||||||
|
|
||||||
|
def remove(e):
|
||||||
|
session = self.app.make_session()
|
||||||
|
handler = self.get_batch_handler()
|
||||||
|
batch = self.get_current_batch(session)
|
||||||
|
handler.set_customer(batch, None)
|
||||||
|
session.commit()
|
||||||
|
session.close()
|
||||||
|
|
||||||
|
self.page.session.set('cust_uuid', None)
|
||||||
|
self.page.session.set('cust_display', None)
|
||||||
|
self.informed_refresh()
|
||||||
|
|
||||||
|
dlg.open = False
|
||||||
|
self.main_input.value = ''
|
||||||
|
self.main_input.focus()
|
||||||
|
self.page.snack_bar = ft.SnackBar(ft.Text("CUSTOMER REMOVED",
|
||||||
|
color='black',
|
||||||
|
weight=ft.FontWeight.BOLD),
|
||||||
|
bgcolor='yellow',
|
||||||
|
duration=1500)
|
||||||
|
self.page.snack_bar.open = True
|
||||||
|
self.page.update()
|
||||||
|
|
||||||
|
def cancel(e):
|
||||||
|
dlg.open = False
|
||||||
|
self.main_input.value = ''
|
||||||
|
self.main_input.focus()
|
||||||
|
self.page.update()
|
||||||
|
|
||||||
|
font_size = self.default_font_size * 0.8
|
||||||
|
dlg = ft.AlertDialog(
|
||||||
|
title=ft.Text("Remove Customer"),
|
||||||
|
content=ft.Text("Really remove the customer from this transaction?", size=20),
|
||||||
|
actions=[
|
||||||
|
ft.Container(content=ft.Text("Remove",
|
||||||
|
size=font_size,
|
||||||
|
weight=ft.FontWeight.BOLD),
|
||||||
|
height=self.default_button_size,
|
||||||
|
width=self.default_button_size * 2.5,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
bgcolor='red',
|
||||||
|
border=ft.border.all(1, 'black'),
|
||||||
|
border_radius=ft.border_radius.all(5),
|
||||||
|
on_click=remove),
|
||||||
|
ft.Container(content=ft.Text("Cancel",
|
||||||
|
size=font_size,
|
||||||
|
weight=ft.FontWeight.BOLD),
|
||||||
|
height=self.default_button_size,
|
||||||
|
width=self.default_button_size * 2.5,
|
||||||
|
alignment=ft.alignment.center,
|
||||||
|
border=ft.border.all(1, 'black'),
|
||||||
|
border_radius=ft.border_radius.all(5),
|
||||||
|
on_click=cancel),
|
||||||
|
])
|
||||||
|
|
||||||
|
self.page.dialog = dlg
|
||||||
|
dlg.open = True
|
||||||
|
self.page.update()
|
||||||
|
|
||||||
def attempt_set_customer(self, entry=None):
|
def attempt_set_customer(self, entry=None):
|
||||||
session = self.app.make_session()
|
session = self.app.make_session()
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue