예제 #1
0
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)
예제 #2
0
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!"})