def join(data): """ DESCRIPTION: This event is to notify whenever a client or waitress logs in PARAMETERS: staff: indicates whether the user is staff or client """ print(data) if data['staff']: #if its a server add them to the server list #when login is validated, this has to be called print("staff") if request.sid not in loggedInServers: loggedInServers.append(request.sid) else: #when customer page is loaded, this has to be called #we'll store the clients using their orderId because that is what the servers will send print("client") orderNo = session['orderNo'] print(orderNo) if orderNo not in loggedInClients: loggedInClients[orderNo] = request.sid #if a client joined, # get specific order, order = json_util.dumps(Mongo_Client.GetOrdersWithDetails(orderNo)) # all the servers should be notified about the new order print(loggedInServers) for server in loggedInServers: print("Sent to", server) emit('newCustomer', order, room=server)
def emailReceipt(): """ DESCRIPTION: This route is for emailing the order receipt to user REQUEST TYPE: POST PARAMETERS: orderID: order ID to generate receipt for email: email address tp send the email to. RETURNS: success/error message """ values = request.get_json(silent=True) print(values) #get detailed order to generate receipt for orders = Mongo_Client.GetOrdersWithDetails(values["orderId"]) menus = Mongo_Client.GetAllMenu() if orders is not None and menus is not None: #generate receipt receipt = ReceiptGenerator.generateInvoice(orders, menus) print("Receipt generated") #send email if Mailer.send_mail(values["email"], receipt): print("Mail sent") return json.dumps({"success": True}) else: print("error sending mail") return json.dumps({"error": "Error sending email!"}) else: return json.dumps({"error": "Database Error!"})