-
Notifications
You must be signed in to change notification settings - Fork 0
/
functions.py
47 lines (39 loc) · 1.72 KB
/
functions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import constValues
from popUp import open_popup
def convertToColumn(lst, columns):
res_col = {columns[i]: lst[i] for i in range(0, len(lst))}
return res_col
def toPrice(value):
return "{:.2f}".format(value)
def addItem(tree, itemName):
productName = constValues.products[itemName]['name']
for item in tree.get_children():
if productName == tree.item(item)['values'][0]:
oldItem = convertToColumn(tree.item(item)['values'], constValues.columns)
newPrice = constValues.products[itemName]['price'] * (float(oldItem['count']) + 1)
newData = (oldItem['product'], float(oldItem['count']) + 1, toPrice(newPrice))
tree.item(item, values=newData)
return
tree.insert("", 'end', values=(constValues.products[itemName]['name'], 1, toPrice(constValues.products[itemName]['price'])))
def getTotalPrice(tree):
total = 0
for item in tree.get_children():
total += float(convertToColumn(tree.item(item)['values'], constValues.columns)['price'])
return f'Podsumowanie: {toPrice(total)} zł'
def item_selected(app, tree):
if len(tree.selection()) > 1:
return
selectedItem = tree.selection()[0]
newValue = open_popup(app, convertToColumn(tree.item(selectedItem)['values'], constValues.columns))
selectedKey = ''
for key, value in constValues.products.items():
if value['name'] == tree.item(selectedItem)['values'][0]:
selectedKey = key
break
if newValue == 0:
tree.delete(selectedItem)
elif newValue > 0:
oldItem = convertToColumn(tree.item(selectedItem)['values'], constValues.columns)
newPrice = constValues.products[selectedKey]['price'] * newValue
newData = (oldItem['product'], newValue, toPrice(newPrice))
tree.item(selectedItem, values=newData)