-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhelpers.py
117 lines (100 loc) · 3.9 KB
/
helpers.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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
from dis import dis
import sqlite3 # database
from flask import session
# helper functions and classes
class DatabaseConnection:
def __init__(self, file_name):
self.file_name = file_name
def __enter__(self):
self.connection = sqlite3.connect(self.file_name)
self.cursor = self.connection.cursor()
return self.cursor
def __exit__(self, exc_type, exc_value, exc_traceback):
self.connection.commit()
self.connection.close()
def isLoggedIn():
return (session.get('loggedIn') == True
and session.get('loggedIn') == True)
def isEmployee(): return session.get('userType') == 'employee'
def isChef():
return (session.get('loggedIn') == True
and session.get('userType') == 'employee'
and session.get('employeeType') == 'chef')
def isDeliveryBoy():
return (session.get('loggedIn') == True
and session.get('userType') == 'employee'
and session.get('employeeType') == 'deliveryPerson') #placeholder name
def isCustomer():
return (session.get('loggedIn') == True
and session.get('userType') == 'customer')
def isManager():
return (session.get('loggedIn') == True
and session.get('userType') == 'employee'
and session.get('employeeType') == 'manager')
def topThreeDishes(ordersList): # returns the 3 most requested dishIDs
# ordersList = orders.getAllOrders() # returns a list of dictionaries
frequencies = {}
topThree = []
for order in ordersList:
dishIDsString = ordersList['dishIDs']
dishIDs = dishIDsString.split(',') # [dishID, dishID]
for dishID in dishIDs:
if dishID in frequencies: frequencies[dishID] += 1
else: frequencies[dishID] = 1
for i in range(3):
maxKey = max(frequencies, key=frequencies.get)
topThree.append(maxKey)
frequencies.pop(maxKey)
return topThree
def getNav():
if isLoggedIn():
return [
{'url': '/', 'name': 'Home'},
{'url': '/menu', 'name': 'Menu'},
{'url': '/dashboard', 'name' : 'Dashboard'},
{'url': '/logout', 'name': 'Logout'},
]
else:
return [
{'url': '/', 'name': 'Home'},
{'url': '/menu', 'name': 'Menu'},
{'url': '/login', 'name': 'Login'},
]
def getSidebarNav():
if isChef():
return [
{'url': '/', 'name': 'Home'},
{'url': '/dashboard', 'name': 'Dashboard'},
{'url': '/dashboard/menu', 'name':'Menu'},
{'url': '/dashboard/chefprogress', 'name':'Active orders'},
{'url': '/dashboard/settings', 'name':'Settings'},
{'url': '/logout', 'name':'Logout'},
]
elif isManager():
return [
{'url': '/', 'name': 'Home'},
{'url': '/dashboard', 'name': 'Dashboard'},
{'url': '/dashboard/menu', 'name':'Menu'},
{'url': '/dashboard/orders', 'name':'Active orders'},
{'url': '/dashboard/settings', 'name':'Settings'},
{'url': '/logout', 'name':'Logout'},
]
elif isDeliveryBoy():
return [
{'url': '/', 'name': 'Home'},
{'url': '/dashboard', 'name': 'Dashboard'},
{'url': '/dashboard/bid', 'name':'Biddings'},
{'url': '/dashboard/deliverystatus', 'name':'Delivery Status'},
{'url': '/dashboard/settings', 'name':'Settings'},
{'url': '/logout', 'name':'Logout'},
]
elif isCustomer():
return [
{'url': '/', 'name': 'Home'},
{'url': '/dashboard', 'name': 'Dashboard'},
{'url': '/dashboard/wallet', 'name' : 'Wallet'},
{'url': '/dashboard/order-history', 'name' : 'Order History'},
{'url': '/dashboard/settings', 'name' : 'Settings'},
{'url': '/logout', 'name':'Logout'},
]
else: return []